Mais conteúdo relacionado Semelhante a Db2をAWS上に構築する際のヒント&TIPS 2019年7月版 (20) Mais de Akira Shimosako (8) Db2をAWS上に構築する際のヒント&TIPS 2019年7月版2. 2
自己紹介
名前:下佐粉 昭(しもさこ あきら) @simosako
Unofficial DB2 Blog, Db2の書籍
http://db2.jugem.cc/
所属:
– アマゾン ウェブ サービス ジャパン株式会社
ソリューションアーキテクト
好きなAWSサービス:Redshift, QuickSight, S3
– 人を運用等から開放して、ビジネスに集中させ
てくれるサービスが好きです
3. 3
アジェンダ
• AWS概要
– AWSのネットワーク
• AWSの仮想マシン
– RDB用途でEC2を利用する:選択の指針と注意点
• AWSのストレージ
– RDBでパフォーマンスを出すためのストレージ構成
• バックアップとディザスタ・リカバリ
• (補足)モニタリングとAWSのマネージドサービス
5. 5
ネットワーク アナリティクスコンピュート
ストレージ & 配信
開発ツール 管理ツール セキュリティ
アプリケーションサービス
モバイルサービス データベース エンタープライズアプリ
S3 CloudFront EFS Glacier
Storage
Gateway
API
Gateway
AppStream CloudSearch
Elastic
Transcoder
SES SQS SWF
Device
Farm
Mobile
Analytics
Cognito SNS RDS DynamoDB ElastiCache Redshift WorkSpaces WorkDocs WorkMail
Lambda
Elastic
Container
Service
Elastic
Beanstalk
EC2 VPC
Direct
Connect
Route 53 EMR
Data
Pipeline
Kinesis
Machine
Learning
Elastic Load
Balancing
QuickSight
Elasticsearch
Service
CodeCommit CodeDeploy CodePipeline CloudWatch
Cloud
Formation
CloudTrail Config OpsWorks
Service
Catalog
Identity &
Access
Management
Directory
Service
Trusted
Advisor
Cloud HSM
Key
Management
Service
Web App
Firewall
Snowball
Simple DB
Database
Migration
Service
IoT
IoT
Hubs
Mobile
Hub
165以上のAWSサービス群
CodeBuild
Athena
機械学習
Lex
Machine
Learning
Polly Rekognition
GameLift
ゲーム
Pinpoint
Step
Functions
7. 7
同じ操作、同じAPIで世界中のリージョンが利用可能
1. 米国東部 (バージニア北部)
2. 米国西部 (北カリフォルニア)
3. 米国西部 (オレゴン)
4. 欧州 (アイルランド)
5. アジアパシフィック(東京)
6. 南米 (サンパウロ)
7. アジアパシフィック (シンガポール)
8. アジアパシフィック (シドニー)
9. GovCloud (米国西部) *1
10. 中国 (北京)*2
11. 欧州 (フランクフルト)
12. アジアパシフィック (ソウル)
13. アジアパシフィック(ムンバイ)
14. 米国東部(オハイオ)
15. カナダ(中部)
16. 欧州(ロンドン)
17. 中国(寧夏) *2
18. 欧州(パリ)
19. アジアパシフィック(大阪ローカル)*3
20. GovCloud (米国東部) *1
21. 欧州(ストックホルム)
22. 香港特別自治区
*1 GovCloudは米国政府関係企業用です
*2 中国のリージョンは他AWSのアカウントとは別のアカウント作成が必要です
*3 大阪ローカルリージョンの利用には、事前の申込と審査が必要です
今後、中東(バーレーン)、アフリカ(ケープタウン)、イタリア(ミラノ)、
インドネシア(ジャカルタ)でのリージョンオープンを計画
10. 10
Amazon VPCとDirect Connect
• VPCでクラウド内にプライベートネットワークを構築
• プライベートNW内には自由にサブネットを作成可能
• 既存インフラとはVPNか専用線(Direct Connect)で接続
AWSクラウド
VPC
イントラ
インターネット
プライベート
サブネット
分離したNW
領域を作成
インターネット
VPN接続 (IPSec)
パブリック
サブネット
インターネット
ゲートウェイ
仮想サーバ (EC2)
DBサービス(RDS)専用線接続
Direct Connect
15. 15
EC2 インスタンスファミリー
• 利用用途に合わせて様々なファミリーをご用意
• RDBはメモリの大きさがキモ → R5/R4シリーズが第1候補(他にはM5/M4やC5/C4)
ファミリー
汎用
M5/M4シリーズ
T3/T2シリーズ
コンピューティング最適化
C5/C4シリーズ
メモリ最適化
R5/R4, X1, Z1シリーズ
ストレージ最適化
I3, D2シリーズ
高速コンピューティング
G3, P3/P2, F1シリーズ
通常用途に適したバランスのコンピューティング・メモリ・ネットワーク性能
T3/T2はバーストにより費用対効果が高い性能を提供
高いCPU性能が必要な用途(APサーバ、HPC、画像処理、etc)
コアあたりのメモリが大きく、大量のメモリが必要な用途(DBサーバ、etc)
高速かつ大量のローカルディスクが必要な用途。SSD(I3)とHDD(D2)から選択
(DBサーバ、DWH、ビッグデータ、etc)
GPUコアが必要な用途(グラフィック表示、機械学習、etc)や、
FPGAの提供(F1シリーズ)
http://aws.amazon.com/jp/ec2/instance-types/
22. 22
EC2のブロック・ストレージには二種類ある
Amazon EC2 インスタンスストレージ
• ホストコンピュータに内蔵されたディスク
• EC2と不可分
• EC2を停止/削除するとクリアされる
• 性能・容量はインスタンスタイプごとに規定
• 追加費用なし
Amazon Elastic Block Store (EBS)
• ネットワークで接続
• EC2とは独立管理
• EC2を削除してもEBSは保持可能
• ボリュームごとに性能・容量を定義可能
• EBSの費用が別途発生
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Storage.html
23. 23
Amazon EBS (Elastic Block Store)
• EC2にマウント可能なブロックストレージ
• 1つのEBSは最大16TB, 最大64,000IOPSまで性能を確保可能
• 内部的に冗長化されているため、RAID1での冗長化は不要
• サイズ変更可能
• スナップショット機能でS3に差分バックアップ
EBS/dev/xvdf
/dev/xvda
EC2
EBS
EBS
S3
2日前 3日前 4日前
S3
2日前 3日前 4日前
スナップショット
スナップショット
24. 24
【補足】EBSのボリュームタイプ①(SSDタイプ)
ボリュームタイプ 汎用SSD(gp2)
- General Purpose SSD
プロビジョンドIOPS(io1)
- Provisioned IOPS(SSD)
ユースケース • システムブートボリューム
• 仮想デスクトップ
• 小~中規模のデータベース
• 開発環境や検証環境用
• 汎用SSDでは処理しきれない高いIO性能を
要求するアプリケーション
• 10,000IOPSや160MB/sを超える性能を要
するワークロード
• 大規模なデータベース
ボリュームサイズ • 1GBから16TBまで • 4GBから16TBまで
IOPS • 1GBあたり3IOPSのベースラインパ
フォーマンス
• ベースラインパフォーマンスが
3,000IOPS以下の場合、3,000IOPSまで
バーストが可能
• 最低100IOPS、最大16,000IOPS
• 必要なIOPS値を指定可能
• 容量(GB)あたり50IOPSを指定できる
• 最大64,000IOPS
スループット • 128MB/秒から、サイズに比例する形で
最大160MB/秒(334GB以上)まで
• 最大1,000MB/秒(1280IOPS以上のとき)
※1IOPSあたり256KB/sを利用可能
25. 25
【補足】EBSのボリュームタイプ②(HDDタイプ)
ボリュームタイプ スループット最適化HDD(st1)
- Throughput Optimized HDD
コールドHDD(sc1)
- ColdHDD
ユースケース • EMR
• データウェアハウス
• 大規模なETL処理
• 大規模なログ分析
※起動ボリュームには利用できない
• ログデータ保管
• バックアップ
• アーカイブ
※起動ボリュームには利用できない
ボリュームサイズ • 500GBから16TBまで • 500GBから16TBまで
IOPS • 最大500IOPS • 最大250IOPS
スループット • ベース値:1TBあたり40MB/s
• バースト値:1TBあたり250MB/s
• バーストクレジット上限:1TB/1TB
• 最大500MB/s
• ベース値:1TBあたり12MB/s
• バースト値:1TBあたり80MB/s
• バーストクレジット上限:1TB/1TB
• 最大250MB/s
27. 27
IOPS I/O Credit
残高
初期状態で
I/O Credit残高は
5,400,000
I/O Creditが残っている
間はバースト。
3000IOPS出る
バースト中はI/O
Creditの残高を取り
崩す形となる
残高が0になると
バーストは終了
残高が0になるとI/O
性能もベースパ
フォーマンスに戻る
I/O負荷がベースパフォーマ
ンスを下回るとCreditが貯金
される
再び高負荷が発生すると、
I/O Creditの残高に応じ
てバースト
分
ベースパフォーマンス
(gp2 500GB時)
GP2 – バーストの継続時間
28. 28
• EBS最適化を有効にすること
で独立したEBS帯域を確保
• RDB用途では重要
• 大きいインスタンスタイプほ
ど使える帯域が広い
• 最近のインスタンスはデフォ
ルトでEBS最適化がON
EC2
w/o EBS
Optimized
Network
EBS
EC2
with EBS
Optimized
Network
EBS
EBS最適化なし
EBS最適化あり
EBS最適化インスタンスによるEBS帯域の確保
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSOptimized.html
30. 30
パフォーマンスを見越した設計② 表領域
• 表領域
– 全体パフォーマンスへの影響が大きいので特に速度を重視した設計にする
– gp2のIOPSは、5,334GB(以上)で16,000 IOPS(最大)の速度を実現できる
– 20,000IPOSのio1と、10,000IPOSのgp2を2つではGP2が2つの方が安価
• 基本戦略
– 必ずEBS最適化を選択(インスタンスによって利用の可否が異なります)
– (最大5,334GBの)GP2 EBSを複数個コンテナとして定義
– 複数EBSをDb2にストライピングさせる
• RDB側でストライピング出来ない場合はOSやファイルシステム側で実施
• Db2ではCREATE DB時に自動ストレージに設定してしまうのが楽
• 注意点
– EBSはそもそも冗長化されているので、RAID 1はメリットが無い
– EBS1ボリュームで構成した場合でもDB2_PARALLEL_IOの設定がお勧め(EBSのパ
フォーマンスを引き出すには並列アクセスが効果的)
31. 31
パフォーマンスを見越した設計③ ログ領域
• トランザクション・ログ領域
– 更新処理のパフォーマンスに影響
– 表領域ほどサイズは必要なく、追記速度が重要
– 最も可用性が重要なストレージ領域
• 基本戦略
– GP2のEBSを必要なサイズ、もしくは5,334GBで1つ用意する
– 書き込みパフォーマンスを特に重視する場合はio1を選択することで64,000
IOPS まで速度を引き上げることが可能
– 冗長化をより重視する場合、もう一つEBSを作成しDb2の設定でミラー・ログ
• 若干更新パフォーマンスが低下
32. 32
パフォーマンスを見越した設計④ その他の領域
• 一時表領域
– インスタンスストレージがあれば、そこに一時表領域を作成
– 停止→起動でアンフォーマットな状態になるので、OS起動時(Db2起動前)に
フォーマットし、マウントしておくように準備が必要
– 無い環境ではEBSで作成。LOAD元データ格納領域と共有もあり
• LOAD元データ格納領域
– LOADの速度を上げたい場合はLOAD元のディスク速度も重要
– 大きめのGP2を作成して利用、もしくはインスタンスストレージ
– ストライピングまでは必要ないケースが多いが、必要であればファイルシステム側で
• OS領域・RDB本体の領域
– その他の領域とは必ず分離する(データとプロダクトはライフタイムが異なる)
– さして速度は必要ないので、GP2で適切なサイズを作成
40. 40
補足:Snapshot経由で別AZにEBSをコピー
• EBSは EC2インスタンスから独立している
(他のEC2インスタンスに付け替え可能)
• データは永続的に保存される
• EBSはアベイラビリティゾーン(AZ) 内に作成される
• =別AZのEC2からはマウントできない
• ただしスナップショット(バックアップ)から別AZ
にEBSボリュームを作成(リストア)可能
Region
Availability Zone - a
EBS EBS EBS
Availability Zone - b
EBS EBS
Amazon Simple
Storage Service
(S3)
EBS
Snapshot
EC2 EC2
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AmazonEBS.html
45. 45
AWSでノード間通信を高速化する方法①
拡張ネットワーキング (Enhanced Networking)
• 拡張ネットワーキング
– パケット毎秒(PPS)が非常に大きく、ネッ
トワークレイテンシが低くなるオプション
– SR-IOVに対応
– ENAに対応したインスタンスでは最大
100Gbpsの帯域を実現
– 利用可能であれば有効化が推奨
• 適応条件
– VPC内でHVM AMIで起動
– 対応インスタンスの利用とドライバ設定
– 詳細)
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking.html
VMM
NIC NIC
VF1 VF2 VF3
Switch
通常 Enhanced Network
VMM
46. 46
AWSでノード間通信を高速化する方法②
Cluster Placement Groups
• インスタンス間通信を最適化
– 低レイテンシ
– 高PPS (packets per seconds)
• 用途
– HPC、Hadoop、MPP、DWHなど、ノード間通信
が大量に発生するクラスタに最適
– 拡張ネットワーキングをまず実施、その上でさら
にノード間通信のレイテンシを低くする場合に、
Cluster Placement Groupsの併用を推奨
• 制限
– 単一アベイラビリティゾーンに閉じる
– 利用可能なインスタンスタイプに制限あり
Full bisection bandwidth
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/placement-groups.html
50. 50
CloudWatchができること
• 各AWSサービスのメトリックス監視
– メトリックス = 監視項目(例:CPU使用率)
– メトリックスを追加定義も可能
• カスタムメトリックス
– メトリックス値を時系列にグラフ表示
• 見たい内容を組み合わせて表示する機能(ダッシュボード機能)
• デフォルトで5分間隔のモニタリング(無料)
– 詳細モニタリング=ONで、1分間隔のモニタリングも可能(要追加費用)
• 各メトリックスに対してアラームを作成可能
– しきい値を設定(例:CPU使用率60%以上)
– メトリックス値がしきい値を越えたら起こすアクションを定義(例:メールで通知)
• EC2上のログ監視 ・・・Amazon CloudWatch Logs
– メトリックスとアラームも作成可能
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-
tech-amazon-cloudwatch-auto-scaling
51. 51
Amazon Relational Database Service (RDS)
フルマネージドのRDBサービス
• 特徴 (http://aws.amazon.com/jp/rds/)
– MySQL / PostgreSQL / Oracle DB / SQL
Server/ MariaDB/ Auroraに対応
– 数クリックで構築可能
– バックアップやパッチの適用、フェイルオー
バーは自動
– Oracle DB / SQL Serverのライセンスを従量
課金モデル or BYOLで利用可能(※エディショ
ンによって制限があります)
– 2つのAZにまたがった同期レプリカを配置可
能(Hot-Standby構成) / リージョン間でス
ナップショット自動転送も可能
詳しくはこちら
http://www.slideshare.net/AmazonWebServicesJapan/aws-blackbelt-2015-rds
52. 52
Amazon RDS for Aurora
• 特徴 (http://aws.amazon.com/jp/rds/aurora/)
– 高いパフォーマンス
– MySQL/PostgreSQLとの互換性
– 3AZに6本のディスクに書き込み2本のディスク
障害ではRead/Write可能。3本のディスク障害
でもRead可能
– キャシュとログをAuroraプロセスから分離する
ことでAuroraプロセスのリスタートでもキャッ
シュが残る
– レプリケーション遅延は10-20ms程
– 64TBまでディスクがシームレスにスケールする
Amazonがクラウド時代に再設計したデータベース
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-amazon-aurora
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-aurora-with-postgresql-compatibility
53. 53
Amazon Redshift
• 特徴 (http://aws.amazon.com/jp/redshift/)
– 160GBから最大2PBまで拡張可能
– スケールアウト型設計(MPP)、カラムナ
型DBエンジンによる高速処理
– 他のAWSサービスとの高い親和性
– PostgreSQLとの互換性
– 従来のデータウェアハウスの1/10のコスト
フルマネージドのデータウェアハウスサービス
10Gb Ether
JDBC/ODBC
Redshift 大規模分散処理
で分析SQLを
高速実行
詳しくはこちら https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-
online-seminar-amazon-redshift
54. 54
Amazon QuickSight
• 高速かつ使いやすいビジネス・インテリジェン
ス(BI)サービス
• 高速なインメモリDB(SPICE)を内蔵
• AWS内外のデータソースとセキュアに連携
• 各種アプリケーションに埋め込み可能
• 誰でも使える機械学習(ML)によるインサイ
トを提供
– 異常検知
– 予測
– ナラティブ(文章)による表示
https://aws.amazon.com/jp/quicksight/
https://www.slideshare.net/AmazonWebServicesJapan/20180801-aws-black-
belt-online-seminar-amazon-quicksight
56. 56
AWSクラウド 無料利用枠のご案内
• サインアップしてから 12か月間、AWSクラウドサービスを
無料で実際にお使いいただけます
• 25の製品およびサービスで無料枠が設定されています
• http://aws.amazon.com/jp/free/
Amazon EC2
t2.micro インスタンスを
1ヶ月あたり750時間分無料
(Windows, Linux)
Amazon RDS
db.t2.micro インスタンスを
1ヶ月あたり750時間
ディスク20GB分無料
(シングルAZ)
例)
62. 62
Simple Monthly Calculator(簡易見積ツール)
• Web上に費用試算ツールをご
用意しています
– http://calculator.s3.amazonaws.com/ind
ex.html?lng=ja_JP
• 詳しい使い方はこちら
– http://www.slideshare.net/AmazonWebS
ervicesJapan/aws-simple-monthly-
calculator-20130910
Notas do Editor 数についてはPRドキュメントを参照
https://drive.corp.amazon.com/personal/kyukik/Wiki_AWSJP%20PR%20Page/Speaker%20Certification/Tier%202%20(For%20Event%20speakers)
MUFGなし
21リージョン+1ローカルリージョン、計66AZ as of 2019/07/13 ※このAZ総数には、Osaka local regionが含まれていない点に注意
エッジ総数:187 Points of Presence (176 Edge Locations and 11 Regional Edge Caches) in 69 cities across 30 countries. As of 2019/07/13
https://aws.amazon.com/about-aws/global-infrastructure/?nc1=h_ls
https://aws.amazon.com/cloudfront/details/
上記AZ総数にはOsaka Local regionを含んでいない 14種類のインスタンスタイプを提供しており、自由にスケールアップ・ダウンを実施いただけますし、サーバを横に並べていくことでスケールアウト・インなどもリアルタイムに実施いただくことが可能です。
https://aws.amazon.com/jp/about-aws/whats-new/2017/12/amazon-ebs-provisioned-iops-ssd--io1--volumes-now-support-32-000-iops-and-500-mbs-per-volume/
https://aws.amazon.com/jp/about-aws/whats-new/2018/11/amazon-elastic-block-store-announces-double-the-performance-of-provisioned-iops-volumes/
https://aws.amazon.com/jp/about-aws/whats-new/2018/12/amazon-ebs-increases-performance-of-general-purpose-ssd-gp2-volumes/ 続いてこのストライドでは、gp2での容量とIOPSの関係、さらにバーストに関してご説明します。このグラフは、横軸にボリュームのサイズ、縦軸に最大のIOPSという表です。まず1つ目、オレンジ色の線が、ベースラインパフォーマンスで、gp2は1GBごとに3IOPSずつ増えていきますので、このパフォーマンスは右肩上がりの直線になります。途中から水平方向の直線になりますが、5334GBでIOPSの上限である16000IOPSに達します。上限に達した後は16TBまで容量が増えても16000IOPSになります。これがベースラインパフォーマンスでEBSボリュームの容量、サイズによって提供されるIOPSです。
このスライドでもう1つご説明するのがバーストパフォーマンスです。左下の部分ですが、青とオレンジの交点である1000GB以下のボリュームサイズでgp2を利用した場合に、赤矢印にあるようにベースラインパフォーマンスからバーストして青色のラインである最大3000IOPSまで、バーストパフォーマンスを提供します。バーストという名前の通り、無制限にバーストして、青のラインである3000IOPS使えるわけではありません。
2018/08/02補足:以前はS3について三箇所以上のデータセンターと書いていましたが、これを「AZ」に変えました。これはS3のホームページがそう更新されたことに合わせたものです。
サービスチームにも確認しましたが、この表記で統一することにしたとのこと。(つまりおそらくは、EC2でいうところのAZと、S3でいうAZで定義が異なるということ)