Contenu connexe Similaire à Db2をAWS上に構築する際のヒント&TIPS 2020年6月版 (20) Plus de Akira Shimosako (8) Db2をAWS上に構築する際のヒント&TIPS 2020年6月版3. 3
アジェンダ
• AWS概要
– AWSのネットワーク
• AWSの仮想マシン
– RDB用途でEC2を利用する:選択の指針と注意点
• AWSのストレージ
– RDBでパフォーマンスを出すためのストレージ構成
• バックアップとディザスタ・リカバリ
• (補足)モニタリングとAWSのマネージドサービス
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. 香港特別自治区
23. 中東(バーレーン)
24. アフリカ(ケープタウン)
25. 欧州(ミラノ)
*1 GovCloudは米国政府関係企業用です
*2 中国のリージョンは他AWSのアカウントとは別のアカウント作成が必要です
*3 大阪ローカルリージョンの利用には、事前の申込と審査が必要です
今後、インドネシア、欧州(スペイン)でのリージョンオープンを計画
2021年には大阪ローカルリージョンを大阪リージョンに拡張予定
10. 10
Amazon VPCとDirect Connect
• VPCでクラウド内にプライベートネットワークを構築
• プライベートNW内には自由にサブネットを作成可能
• 既存インフラとはVPNか専用線(Direct Connect)で接続
AWSクラウド
VPC
イントラ
インターネット
プライベート
サブネット
分離したNW
領域を作成
インターネット
VPN接続 (IPSec)
パブリック
サブネット
インターネット
ゲートウェイ
仮想サーバ (EC2)
DBサービス(RDS)専用線接続
Direct Connect
15. 15
EC2 インスタンスファミリー
• 利用用途に合わせて様々なファミリーをご用意
• プロセッサは、Intel, AMD, AWS Graviton (Armアーキテクチャ)
• RDBはメモリの大きさがキモ → メモリ最適化インスタンスが第1候補
ファミリー
汎用
M6g/M5/M4シリーズ
T3/T2シリーズ
コンピューティング最適化
C5/C4シリーズ
メモリ最適化
R5/R4, X1, Z1シリーズ
ストレージ最適化
I3, D2シリーズ
高速コンピューティング
G3, P3/P2, F1シリーズ
通常用途に適したバランスのコンピューティング・メモリ・ネットワーク性能
T3/T2はバーストにより費用対効果が高い性能を提供
(*M6gはArmアーキテクチャのため、Db2では利用不可)
高い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 – バーストの継続時間
29. 29
パフォーマンスを見越した設計① – 最初にまとめ
EBSかインスタンスストレージか?
• EBSが基本
– 表領域、トランザクションログ領域、DB製品(Db2本体)等はEBS
– EBSは柔軟にサイズやIOPS性能を変更でき、SNAPSHOTが利用可能
– 性能面はEBSを複数まとめたり、IO1等の選択を検討
– EBSのIOPS性能だけでなく、EC2インスタンス側の帯域が不足しないよう注意
• インスタンスストレージの使い所
– 一時表領域
– LOADする際のデータ置き場
30. 30
パフォーマンスを見越した設計② 表領域
• 表領域
– 全体パフォーマンスへの影響が大きいので特に速度を重視した設計にする
– gp2のIOPSは、5,334GB(以上)で16,000 IOPS(最大)の速度を実現できる
– 20,000IPOSのio1と、10,000IPOSのgp2を2つではgp2が2つの方が安価
• 基本戦略
– 必ずEBS最適化を選択(最近のインスタンスはデフォルトでON)
– 性能がgp2 ボリューム単体で不足する場合は複数まとめてコンテナとして定義
– 複数EBSをDb2にストライピングさせる
• Db2ではCREATE DB時に自動ストレージに設定してしまうのが楽
• RDB側でストライピング出来ない場合はOSやファイルシステム側で実施
• 注意点
– 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で適切なサイズを作成
38. 38
SnapshotによるDb2のバックアップ
Db2
EBS
• RDBではデータ整合性を保つため静止点を作成し
てバックアップを取得する必要がある
• Db2ではSplit mirror機能でDBを止めずに静止点が
作成可能
– WRITE SUSPENDで静止点を作成。DBは停止しない
– WRITE RESUMEでディスクへの書き込みを再開
• Split mirror+ EBS SnapshotでDBを止めずに大規
模データの高速バックアップが実現可能
②Snapshot作成
①WRITE SUSPEND
③WRITE RESUME
※Split mirrorは考慮点が多いので、詳しくは以下資料を参照してください
https://developer.ibm.com/jp/articles/j-d-db2bestpractice05/
https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ib
m.db2.luw.admin.ha.doc/doc/c0006356.html
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構成) / リージョン間でス
ナップショット自動転送も可能
詳しくはこちら https://www.slideshare.net/AmazonWebServicesJapan/20180425-aws-black-belt-
online-seminar-amazon-relational-database-service-amazon-rds-96509889
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/20190424-aws-black-belt-online-seminar-amazon-aurora-mysql
https://www.slideshare.net/AmazonWebServicesJapan/20190828-aws-black-belt-online-seminar-amazon-aurora-with-postgresql-compatibility-168930538
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
https://www.slideshare.net/AmazonWebServicesJapan/20200204-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)
例)