Mais conteúdo relacionado
Semelhante a DB2をAWS上に構築する際のヒント&TIPS (20)
DB2をAWS上に構築する際のヒント&TIPS
- 2. 2 #clubdb2
自己紹介
名前:下佐粉 昭(しもさこ あきら) @simosako
Unofficial DB2 Blog, DB2の書籍
http://db2.jugem.cc/
所属:
– アマゾンデータサービスジャパン株式会社
技術本部 ソリューションアーキテクト
好きなAWSサービス:Redshift, RDS, S3
– 人間が運用等から開放されて楽になる系のサー
ビスが好きです
- 3. 3 #clubdb2
アジェンダ
• AWS概要
– AWSのネットワーク
• AWSの仮想マシン
– RDB用途でEC2を利用する:選択の指針と注意点
• AWSのストレージ
– RDBでパフォーマンスを出すためのストレージ構成
• バックアップとディザスタ・リカバリ
• (補足)モニタリングとAWSのマネージドサービス
- 5. 5 #clubdb2
AWSの豊富なサービス:全部APIで操作できます
お客様のアプリケーション
モバイルサービス
Mobile Analytics, Cognito, SNS,
Device Farm
コンテンツ配信
CloudFront
ネットワーク
VPC, Route 53, Direct Connect
認証とログ
IAM, Cloud Trail,
Cloud HSM,
Config
モニタリング
Cloud Watch,
Trusted Advisor
デプロイと自動化
Elastic Beanstalk,
Cloud Formation,
OpsWorks
管理インター
フェイス
Management
Console, CLI
ライブラリ & SDKs
Java, PHP,
.NET,
Python, Ruby
グローバルインフラ
リージョン、アベイラビリティゾーン、エッジロケーションAZRegio
n
コンピュート処理
EC2, Auto Scaling, Elastic,
Load Balancing, Lambda
EC2 Container Service
アプリケーション
WorkSpaces, WorkDoc, WorkMail
ストレージ
EBS, S3, Glacier, Storage Gateway
データベース
RDS, DynamoDB,
Redshift, ElastiCache
分析
Elastic MapReduce,
Kinesis, Data Pipeline,
Machine Learning
アプリケーションサービス
AppStream, Cloud Search, SWF,
SQS, SES, Elastic Transcoder,
API Gateway
ディレクトリ
Directory
Service
コード管理
CodeDeploy,
CodeCommit,
CodePipeline
- 10. 10 #clubdb2
Amazon VPCとDirect Connect
• VPCでクラウド内にプライベートネットワークを構築
• プライベートNW内には自由にサブネットを作成可能
• 既存インフラとはVPNか専用線(Direct Connect)で接続
AWSクラウド
VPC
イントラ
インターネット
プライベート
サブネット
分離したNW
領域を作成
インターネット
VPN接続 (IPSec)
パブリック
サブネット
インターネット
ゲートウェイ
仮想サーバ (EC2)
DBサービス(RDS)専用線接続
Direct Connect
- 14. 14 #clubdb2
• 数分で起動、1時間ごとの従量課金で利用可能な仮想サーバ
• 多数のOSをサポート、OSライセンス費用込みで従量課金
• 自由にソフトウェアのインストールが可能
• スケールアップ/ダウン、スケールアウト/インが容易に可能
Amazon EC2(Elastic Compute Cloud)
電源、ラック等
ハイパーバイザー
利用したい
ミドルウェア
お客様独自のアプリ
ケーション
OS (Windows,Linux)
ネットワーク
ボタンを押して数分
で、ここまで準備さ
れる
アプリ、ミドルウェア、
監視ツール等を自由に導
入
- 15. 15 #clubdb2
EC2 インスタンスファミリー
• 利用用途に合わせて様々なファミリーをご用意
• RDBはメモリの大きさがキモ → R3シリーズが第1候補(他にはM3/M4やC4)
ファミリー
汎用
M3/M4シリーズ
コンピューティング最適化
C3/C4シリーズ
メモリ最適化
R3シリーズ
ストレージ密度最適化
D2シリーズ
バーストパフォーマンス
T2シリーズ
GPUインスタンス
G2シリーズ
ストレージI/O最適化
I2シリーズ
通常用途に適したバランスのコンピューティング・メモリ・ネットワーク性能
普段はあまり負荷が無いが、一時的に負荷がある(開発機、小規模システム、etc)
高いCPU性能が必要な用途(APサーバ、HPC、画像処理、etc)
コアあたりのメモリが大きく、大量のメモリが必要な用途(DBサーバ、etc)
高速なIOPSを実現するSSDを内蔵(DBサーバ、DWH、ビッグデータ、etc)
大容量HDDを内蔵(DBサーバ、DWH、ビッグデータ、etc)
GPUコアが必要な用途(グラフィック表示、画像処理、GPGPU、etc)
http://aws.amazon.com/jp/ec2/instance-types/
- 19. 19 #clubdb2
注意点②T2インスタンスはバースト性のCPU性能
• T2はCPUクレジットがある場合にCPUがバーストする
– 1クレジット=1分間vCPUのフル性能を発揮できる
– CPUを使わない時間の経過でCPUクレジットが回復
• 高負荷状態が維持される本番サーバにmicroやsmallは厳しい
• でも開発用途等では十分使える。利用頻度が低いサーバにも
– より小さいt2.nanoが今後登場予定
• 上位インスタンスはベースライン性能も回復クレジットも多い
ので負荷が高い用途でも利用可能な範囲が増える
※上記表は2015年10月時点の東京リージョンでの価格
インスタンス vCPU
ベースライン性
能
受け取るCPU クレ
ジット/時 メモリ(GiB) 料金($/時)
t2.micro 1 10% 6 1 0.02
t2.small 1 20% 12 2 0.04
t2.medium 2 40% 24 4 0.08
t2.large 2 60% 36 8 0.16
- 20. 20 #clubdb2
注意点③パブリックIP(グローバルIP)の扱い
• EC2にはプライベートIPとパブリックIPの両方を付与可能
• プライベートIPアドレスは自由に設定可能(もしくはDHCP利用可能)
• パブリックIPは起動時に付与される
– 停止→始動でパブリックIPアドレスは変化する
• Elasitc IP address (EIP)でパブリックな固定IPを利用可能
– とはいえ、DB2用にはプライベートIPのみで良いケースがほとんど
– Webサーバ等でも不要なケースがほとんど(※本資料では解説していませんがAWSのロー
ドバランサー(ELB)との組み合わせで実現)
• 注意点
– EIPをインスタンスにアタッチしていない場合は利用料金が発生
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/elas
tic-ip-addresses-eip.html
- 22. 22 #clubdb2
EC2のブロック・ストレージには二種類ある
Amazon EC2 インスタンスストア
• ホストコンピュータに内蔵されたディスク
• EC2と不可分
• EC2を停止/削除するとクリアされる
• 性能・容量はインスタンスタイプごとに規定
• 追加費用なし
Amazon Elastic Block Store (EBS)
• ネットワークで接続
• EC2とは独立管理
• EC2を削除してもEBSは保持可能
• ボリュームごとに性能・容量を定義可能
• EBSの費用が別途発生
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Stor
age.html
- 23. 23 #clubdb2
Amazon EBS (Elastic Block Store)
• EC2にマウント可能なブロックストレージ
• 1つのEBSは最大16TB, 最大20,000IOPSまで性能を確保可能
• 内部的に冗長化されているため、RAID1での冗長化は不要
• サイズ変更可能
• スナップショット機能でS3に差分バックアップ
EBS/dev/xvdf
/dev/xvda
EC2
EBS
EBS
S3
2日前 3日前 4日前
S3
2日前 3日前 4日前
スナップショット
スナップショット
- 24. 24 #clubdb2
EBS:3種類のボリュームタイプ
Volume Type General Purpose (GP2) (SSD) Provisioned IOPS(SSD) Magnetic
ユースケース • 起動ボリューム
• 仮想デスクトップ環境用のディス
ク
• 開発およびテスト環境用のディス
ク
• 中小規模のデータベース
• 10,000IOPSよりも高いI/Oパ
フォーマンスを要求するミッション
クリティカルなアプリケーション
• 大規模なデータベース
各種NoSQL
各種RDB
• アクセス頻度の低いデータ
• コストを最重要視する場合
ボリュームサイズ • 1GiBから16TiBまで 4GiBから16TiBまで 1GiBから1TiBまで
IOPS • 1GiBあたり3IOPSのベースパ
フォーマンス。最大値は
10,000IOPS
• 1,000GiB以下のボリュームでは、
3,000IOPSまでバーストが可能
• 1,000GB以上のボリュームでは
バーストの概念はなく、常にベー
スパフォーマンスを発揮する
• プロビジョニングしたIOPS値のパ
フォーマンスを発揮する
• 最大IOPSは20,000IOPS
• 容量とIOPS値の比率に制限があり、
容量の30倍のIOPS値が上限
平均100IOPS。数百IOPSまでバー
スト可能。
スループット • 170GB未満:128MB/s
• 170GB以上:128MB/s~160MB/s
• 214GB以上:160MB/s
• 320MB/s • 40~90MB/s
料金
(東京リージョン)
• 1GBあたり1ヶ月0.12ドル • 1GBあたり1ヶ月0.142ドル
• プロビジョニングしたIOPS値に応
じて1IOPSあたり1ヶ月0.114ドル
• 1GBあたり1ヶ月0.08ドル
• 100万I/Oリクエストあたり0.08
ドル
- 25. 25 #clubdb2
General Purpose (GP2) (SSD)
容量が1,000GB未満
の場合、3,000IOPS
までのバーストが発生
容量が1,000GBに到達
すると常時3,000IOPS
以上の性能を発揮する
容量が3,334GBを超える
と、常時10,000IOPSを
発揮する
ボリュームあたりのスループットは160MB/s
ベースパフォーマンス
- 26. 26 #clubdb2
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 #clubdb2
• 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/EBSO
ptimized.html
- 29. 29 #clubdb2
パフォーマンスを見越した設計① 表領域
• 表領域
– 全体パフォーマンスへの影響が大きいので特に速度を重視した設計にする
– GP2のIOPSは、3,334GB(以上)で10,000 IOPS(最大)の速度を実現できる
– 20,000IPOSのPIOPSと、10,000IPOSのGP2を2つではGP2が2つの方が安価
• 基本戦略
– 必ずEBS最適化を選択(インスタンスによって利用の可否が異なります)
– (最大3,334GBの)GP2 EBSを複数個コンテナとして定義
– 複数EBSをDB2にストライピングさせる
• RDB側でストライピング出来ない場合はOSやファイルシステム側で実施
• DB2ではCREATE DB時に自動ストレージに設定してしまうのが楽
• 注意点
– EBSはそもそも冗長化されているので、RAID 1はメリットが無い
– EBS1ボリュームで構成した場合でもDB2_PARALLEL_IOの設定がお勧め(パフォーマ
ンスを引き出すには並列アクセスが効果的)
- 30. 30 #clubdb2
パフォーマンスを見越した設計② ログ領域
• トランザクション・ログ領域
– 更新処理のパフォーマンスに影響
– 表領域ほどサイズは必要なく、追記速度が重要
– 最も可用性が重要なストレージ領域
• 基本戦略
– GP2のEBSを必要なサイズ、もしくは3,334GBで1つ用意する
– 書き込みパフォーマンスを特に重視する場合はPIOPSを選択することで、
20,000 IOPS まで速度を引き上げることが可能
– 冗長化重視の場合は、もう一つEBSを作成しDB2側の設定でミラー・ログ
• 若干更新パフォーマンスが低下
- 31. 31 #clubdb2
パフォーマンスを見越した設計③ その他の領域
• 一時表領域
– インスタンスストアで一時表領域を作成。リスタートでアンフォーマットな状態にな
るので、OS起動時(DB2起動前)にフォーマットし、マウントしておくように準備
が必要
– インスタンスストアが無い環境ではEBSで作成。LOAD元領域等と混ぜるのも手
• LOAD元データ格納領域
– LOADの速度を上げたい場合はLOAD元のディスク速度も重要
– 大きめのGP2を作成して利用
– ストライピングまでは必要ないケースが多いが、必要であればファイルシステム側で
• OS領域・RDB本体の領域
– その他の領域とは必ず分離する(データとプロダクトはライフタイムが異なる)
– さして速度は必要ないので、GP2で適切なサイズを作成
- 35. 35 #clubdb2
EBS Snapshot機能
• EBSのイメージ・バックアップ機能
• データはS3に保管される
• ブロックレベルで圧縮して保管するため、圧縮後の容量に対
して課金が行われる
• 2世代目以降は差分データを保存する差分バックアップ(1世
代目を削除しても復元は可能)
• バックアップ総量や世代数の制限は無し
• $0.095/GB/月(2015年10月時点、東京リージョンの価格)
EBS
Snapshot
EBS
- 36. 36 #clubdb2
EBS Snapshotと静止点
• Snapshotの作成を指示しレスポンスが返ってきたら、その時点
のデータのバックアップが開始されている
• レスポンスが返ってきた時点でI/Oを再開して良いので、静止点
を維持するのは短時間で済む
時間
EBSへのI/O停止 EBSへのI/O再開
静止点を維持
Snapshot
作成指示
作成指示
レスポンス
Snapshot
作成完了
Snapshot作成処理
(バックグラウンド)
通常運用 通常運用
この時点のデー
タがバックアッ
プされる
- 39. 39 #clubdb2
補足: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/User
Guide/AmazonEBS.html
- 44. 44 #clubdb2
AWSでノード間通信を高速化する方法①
拡張ネットワーキング (Enhanced Networking)
• 拡張ネットワーキング
– パケット毎秒(PPS)が非常に大きく、
ネットワークレイテンシが低くな
るオプション。
– SR-IOVに対応
• 対応インスタンスタイプ
– C3, C4, R3, I2, D2,M4
• 適応条件
– VPC内でHVM AMIで起動
– SR-IOVドライバが必要
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enha
nced-networking.html
VMM
NIC NIC
VF1 VF2 VF3
Switch
通常 Enhanced Network
VMM
- 45. 45 #clubdb2
AWSでノード間通信を高速化する方法②
Placement Groups
• インスタンス間通信を最適化
– 広帯域 (最大10Gbps Full Bisection)
– 低レイテンシ
– 高PPS (packets per seconds)
• 用途
– HPC、Hadoop、MPP、DWHなど、ノード間通信
が大量に発生するクラスタに最適
– 拡張ネットワーキングとの併用を推奨
• 制限
– 単一アベイラビリティゾーンに閉じる
– 利用可能なインスタンスタイプに制限あり。
Full bisection bandwidth
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/pl
acement-groups.html
- 49. 49 #clubdb2
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
- 50. 50 #clubdb2
Amazon Relational Database Service (RDS)
フルマネージドのRDBサービス
• 特徴 (http://aws.amazon.com/jp/rds/)
– MySQL / PostgreSQL / Oracle DB / SQL
Server/ Aurora / MariaDB (new!) に対応
– 数クリックで構築可能
– バックアップやパッチの適用、フェイルオー
バーは自動
– Oracle DB / SQL Serverのライセンスを従量
課金モデル or BYOLで利用可能(※エディショ
ンによって制限があります)
– 2つのAZにまたがった同期レプリカを配置可
能(Hot-Standby構成) / リージョン間でス
ナップショット自動転送も可能
詳しくはこちら
http://www.slideshare.net/AmazonWebServicesJapan/aws-blackbelt-2015-rds
- 51. 51 #clubdb2
Amazon RDS for Aurora
• 特徴 (http://aws.amazon.com/jp/rds/aurora/)
– MySQL5.6との互換性
– 3AZに6本のディスクに書き込み2本のディスク
障害ではRead/Write可能。3本のディスク障害
でもRead可能
– キャシュとログをAuroraプロセスから分離する
ことでAuroraプロセスのリスタートでもキャッ
シュが残る
– レプリケーション遅延は10-20ms程
– 64TBまでディスクがシームレスにスケールする
– 東京リージョンで利用可能になりました!
Amazonがクラウド時代に再設計したデータベース
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-
tech-2015-amazon-aurora
- 52. 52 #clubdb2
Amazon Redshift
• 特徴 (http://aws.amazon.com/jp/redshift/)
– 160GBから最大1.6PBまで拡張可能
– スケールアウト型設計(MPP)、カラムナ
型DBエンジンによる高速処理
– 他のAWSサービスとの高い親和性
– PostgreSQLとの互換性
– 従来のデータウェアハウスの1/10のコスト
フルマネージドのデータウェアハウスサービス
10Gb Ether
JDBC/ODBC
Redshift 大規模分散処理
で分析SQLを
高速実行
詳しくはこちら http://www.slideshare.net/AmazonWebServicesJapan/aws-
black-belt-tech-2015-amazon-redshift
- 54. 54 #clubdb2
まとめ
• AWSのインフラを生かす
– グローバルネットワーク
– マルチAZ
– APIで操作
– 使った分だけの課金
• DB2 on AWS
– これまで通りに導入可能
– 高いパフォーマンスを実現するには、インスタンス選択とディスクの構成がキモ
– バックアップやDRはAWSの機能を活用することで、安価で高度な処理が可能
- 55. 55 #clubdb2
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)
例)
- 58. 58 #clubdb2
技術セミナー資料
• AWS クラウドサービス活用資料集
– http://aws.amazon.com/jp/aws-jp-introduction/
– SlideShareにも資料多数→
http://www.slideshare.net/AmazonWebServicesJapan
- 60. 60 #clubdb2
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