[AWS Black Belt Online Seminar] Elastic Block Store(EBS)

67,288 views

Published on

(2017/06/02更新)
2016年4月27日に開催したAWS Black Belt Online Seminar Amazon Elastic Block Store (EBS) の資料です

0 Comments
109 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
67,288
On SlideShare
0
From Embeds
0
Number of Embeds
27,385
Actions
Shares
0
Downloads
712
Comments
0
Likes
109
Embeds 0
No embeds

No notes for slide

[AWS Black Belt Online Seminar] Elastic Block Store(EBS)

  1. 1. 1 【AWS Black Belt Online Seminar】 Amazon Elastic Block Store(EBS) 2017/6/2 Updated アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト 小林正人
  2. 2. 22 自己紹介 小林 正人(こばやし まさと) インダストリソリューション部 部長/シニアソリューションアーキテクト • 主に大企業のお客様を担当し、いわゆる社内 ITのみならずBtoCシステムも含め幅広い分野 でお客様をご支援 • 好きなAWSのサービス:
  3. 3. 3 本資料では2017年6月2日時点のサービス内容および価格についてご説明しています。最 新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価 格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 内容についての注意点 AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided. 価格は税抜表記となっています。日本居住者のお客様がサービスを使用する場合、別途消 費税をご請求させていただきます。
  4. 4. 4 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  5. 5. 5 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  6. 6. 6 New features(2015年10月~2016年8月) • 起動ボリュームの暗号化をサポート • HDDベースでビッグデータのユースケースに最適化さ れたボリュームタイプを発表 – スループット最適化HDD (st1) – コールドHDD (sc1) ※ブログポスト https://aws.amazon.com/jp/blogs/news/amazon-ebs-update-new-cold- storage-and-throughput-options/ st1
  7. 7. 7 新ボリュームタイプ(st1/sc1)の特徴 • HDDベースの新たなEBSボリュームタイプ  スループット最適化HDD(st1)とコールドHDD(sc1) • シーケンシャルアクセスに最適化  1MB単位で読み書きを実行。IOPSはSSD型と比較して低い  DWHやETL, ログ分析等ビッグデータのワークロードでの利用に最適 • IOPSではなくスループットで性能上限を規定、バースト可能 • EBS最安のボリュームタイプ  確保した容量に対してのみ課金するシンプルな体系  st1:GBあたり$0.054/月、sc1:GBあたり$0.03/月 ※ボリュームタイプ名の英語表記はThroughput Optimized HDD(st1)とCold HDD(sc1)です ※コストはリリース時点での東京リージョンにおける価格です
  8. 8. 8 New features(2016年8月~11月) • プロビジョンドIOPSのGB/IOPS比の上限 が1:30から1:50に変更 • Snapshotストレージの値下げ • 汎用SSDボリュームのバーストクレジッ トの残高がCloudWatchで確認可能に – 残高はパーセンテージで表現される(0%~100%) EBS
  9. 9. 9 • 稼働中のEBSをオンラインのまま、ダウンタイムなく変更す る事を可能にするエラスティックボリューム機能をリリース • 現行世代のインスタンス、ボリュームタイプについて以下の 変更が可能に – 容量の拡張 ※パーティションやファイルシステムの 拡張はOS側で実施する必要がある – ボリュームタイプの変更 – IOPS値の変更(PIOPSボリュームのみ) ※ブログポスト https://aws.amazon.com/jp/blogs/news/amazon-ebs- update-new-elastic-volumes-change-everything/ New features(2017年2月) EBS EBS 大きく! PIOPS 20,000 PIOPS 1,000 速く! 安く! ※変更処理は通常数秒で完了し、新構成が利用可能になる。この時点で新構成での費用が発生する。 最適化処理は別途バックグラウンドで実行され、容量や変更内容にもよるが最長24時間が一般的。
  10. 10. 10 • EBS Snapshotがコスト配分タグ をサポートしたことにより、コス ト集計ができるようになった • 2ステップで利用可能に 1. EBS Snapshotにタグを付与する  タグのキーは共通でよいが、値は集計したいグ ループ毎に異なるものを設定するとよい 2. 設定したタグによるコスト集計を有 効化する  「請求ダッシュボード」の「コスト配分タグ」で 設定したタグキーを有効化する New features(2017年5月) EBS PIOPS 20,000
  11. 11. 11 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  12. 12. 12 Amazon Elastic Block Store(EBS) • EC2インスタンスにアタッチして使用するブ ロックレベルのストレージサービス • OSやアプリケーション、データの置き場所など 様々な用途で利用される • Snapshot機能によるS3へのバックアップや、 ディスクの暗号化機能を提供 • 99.999%の可用性を備えるように設計されて いる EC2 EBS ※製品紹介ページ:http://aws.amazon.com/jp/ebs/details/
  13. 13. 13 特徴 • 容量は1GB単位で指定できる。最大容 量は16TB(Magneticは1TBまで) • アベイラビリティゾーン(AZ)毎に独立 しているため、同一AZのインスタン スからのみ利用可能 • Snapshotから任意のAZに復元できる • EC2インスタンスに複数のEBSを接続 することはできるが、EBSを複数のイ ンスタンスで共有することはできない
  14. 14. 14 基本的なアーキテクチャ • ボリュームのデータはAZ内で複数の HWにレプリケートされており、一 般的にはさらなる冗長化は不要 • 実体はネットワーク接続型ストレー ジだが、ユーザはネットワークを意 識する必要はない • セキュリティグループによる通信制 御の対象外。全ポートを閉じても EBSは利用できる
  15. 15. 15 • ユースケースに応じて性能やコストが異なる5種 類のボリュームタイプから選択できる – 汎用SSD(General Purpose(SSD)) – プロビジョンドIOPS(SSD) – スループット最適化HDD – コールドHDD – マグネティック(Magnetic) • ボリュームタイプの変更や容量の拡張はオンラ インで実行できる。容量拡張時、パーティショ ンやファイルシステムの拡張は別途作業が必要 EBSのボリュームタイプ
  16. 16. 16 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、最大10,000IOPS • 必要なIOPS値を指定可能 • 容量(GB)あたり50IOPSを指定できる • 最大20,000IOPS スループット • 最低128MB/秒(170GB以下)から 最大160MB/秒(214GB以上)まで • 最大320MB/秒(1280IOPS以上のとき) ※1IOPSあたり256KB/sを利用可能
  17. 17. 17 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
  18. 18. 18 EBSのボリュームタイプの整理(旧世代) ボリュームタイプ マグネティック(Magnetic) ユースケース • アクセス頻度の低いデータ • コストを最重要視する場合 ボリュームサイズ 1GBから1TBまで IOPS • 平均100IOPS • 数百IOPSまでバースト可能 スループット • 40MB/秒から90MB/秒
  19. 19. 19 インスタンスストアとEBS • インスタンスタイプに応じて、追加コスト無しで揮発性のイン スタンスストアが利用できる • 実体はEC2の物理ホストのローカルディスク。Stop/Startによ り仮想マシンが別ホストに移動するとデータが消去される • アプリケーションが利用する一時的なデータの置き場所や、分 散ファイルシステムのストレージとして活用する • EBSは永続化ストレージなので、OSの領域やDBのデータなど永 続化が必要なデータの置き場所としてはEBSを利用する
  20. 20. 20 EBSとインスタンスストアの利用ケース OSブートディスク としての利用 D:C: EBS EC2 EBS Windows データ格納ディスク としての利用 Instance Store E: データ計算用など 一時的な利用 データ ファイル システム データ 一時 データ
  21. 21. 21 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  22. 22. 22 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、最大10,000IOPS • 必要なIOPS値を指定可能 • 容量(GB)あたり50IOPSを指定できる • 最大20,000IOPS スループット • 最低128MB/秒(170GB以下)から 最大160MB/秒(214GB以上)まで • 最大320MB/秒(1280IOPS以上のとき) ※1IOPSあたり256KB/sを利用可能
  23. 23. 23 汎用SSD – gp2 • デフォルトのボリュームタイプで費用対効果が高い。一時的に I/O性能を3,000IOPSまで引き上げるバースト機能を備える • 仕様 – 容量: 1GBから16TBまで、1GB単位で指定可能 – IOPS: ベースパフォーマンスは最小100IOPS、最大10,000IOPS。容量に応 じて3IOPS/GBの比率で変化する。容量が1,000GB未満の場合は一定 時間3,000IOPSまで性能を引き上げるバーストを利用できる – スループット: 128MB/秒(170GB以下)から160MB/秒(214GB以上)
  24. 24. 24 汎用SSD – 容量とIOPS 容量(GB) IOPS ベースパフォーマンス バーストパフォーマンス 1,000GB以下の容量で は3,000IOPSへのバー ストを利用可能 3,334GBで10,000IOPS に到達し、以後16TBまで 同じ性能を維持する 33.4GB未満では 100IOPSがベースパ フォーマンス
  25. 25. 25 汎用SSD – 容量とスループット 容量(GB) スループット(MB/秒) スループット 170GB以下の 容量では常時 128MB/秒 214GBに到達す ると160MB/秒 となり以後固定 170GB-214GBで は容量増に合わせ て帯域がのびる
  26. 26. 26 汎用SSDボリュームのパフォーマンス仕様 (I/O負荷継続時、ボリュームサイズ毎) • ベースパフォーマンスを超えるI/O が要求されると、一定時間バース トが発生し3,000IOPSを発揮する • バースト利用中はI/O Creditを消 費し、残高がなくなるとベースパ フォーマンスに戻る • 実際に発生したI/Oがベースパ フォーマンスを下回ると、その差 額がI/O Creditとして貯金される IOPS 分 汎用SSD – バースト時のパフォーマンス
  27. 27. 27 汎用SSDのバーストバケットモデル 蓄積上限: 5,400,000 I/Oクレジット (固定) 流入量: 3IOPS/GB 流出量: Max 10,000IOPS (1000GB以下では 3,000IOPS) • 540万I/Oクレジットまで蓄積できるバーストバケッ トがボリュームごとに存在する ※ボリューム作成直後は満タン状態でスタート • バケットへの流入量(ベースパフォーマンス)は1GBあ たり3IOPSとなる。流出量すなわち実IOPSがこれを 下回ると、バケットの残高が増えていく • バケットにクレジットが残っていれば、流入量を超え て実IOPSを3,000IOPSまで引き上げるバーストが利 用できる • バケットのクレジットが枯渇すると、新たに流入する クレジット分(=ベースパフォーマンス分)のパ フォーマンスのみが利用できることになる • 容量が1,000GBを超えると流入量と流出量の値が一致 するので、バーストの概念がなくなり常時一定の性能 となる
  28. 28. 28 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時) 汎用SSD – バーストの継続時間
  29. 29. 29 バーストクレジットの残高を確認する • CloudWatchを利用してバーストバケット の残高を確認することが可能に • ボリューム毎のメトリクスの”BurstBalance”で 利用できる • 残高はクレジットの実数ではなく、上限 値の(540万I/Oクレジット)に対するパー センテージで表現される • 多くの場合はバーストクレジットの枯渇 は発生しないが、高負荷処理時に枯渇が 見られる場合は対策を検討するとよい • ボリュームサイズを大きくする • プロビジョンドIOPSに変更する
  30. 30. 30 プロビジョンドIOPS(SSD) – io1 • 最もパフォーマンスの高いタイプ。1年間のうち99.9%の時間に ついて、指定したIOPS値の±10%の範囲の性能を発揮する • 仕様 – 容量: 4GBから16TBまで、1GB単位で指定可能 – IOPS: 1GBあたり50IOPSを上限として希望するIOPS値を指定する 最大20,000IOPSまで(20,000IOPS指定時は最低400GBが必要) – スループット: 最大320MB/秒(1280IOPS以上時) – CloudWatchの詳細モニタリング機能がデフォルトでON
  31. 31. 31 プロビジョンドIOPS– 容量と最大IOPS 容量(GB) 最大IOPS 400GB以下では容量の 50倍までのIOPS値を 指定することが可能 400GBを超えると最大 20,000IOPSを指定す ることができる 最大IOPS
  32. 32. 32 プロビジョンドIOPS – IOPSとスループット スループット (MB/s) IOPS設定値 1IOPSあたり 256KB/sの スループット 1280IOPS以上で は常時320MB/s
  33. 33. 33 PIOPSと汎用SSDのIOPSカウント • 256KBブロックアクセスまで1IOPSとカウントする • 256KBを超える場合は複数回の256KBブロックアクセスを行っ たものとしてカウントされる – 例①:8KBアクセスの1回は、I/O命令を1回発行したものとみなす – 例②:512KBアクセスを1回行うと、I/O命令を2回発行したとみなす – 例③:4MBアクセスを1回行うと、I/O命令を16回発行したとみなす • ラージブロックアクセスを行うと低IOPS値でもスループットを 稼げるが、EBSやEC2側のスループット上限に注意
  34. 34. 34 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
  35. 35. 35 スループット最適化HDD – st1 • シーケンシャルアクセス時に高い性能を発揮するタイプ。高い スループットを要求するビッグデータ処理に最適 • 仕様 – 容量: 500GBから16TBまで、1GB単位で指定可能 – IOPS: 最大500IOPS – スループット: 容量1TBあたり40MB/sがベースパフォーマンス 1TBあたり250MB/sまで性能を引き上げるバーストが利用可能 スループットの上限値は500MB/sとなる ※snapshotの取得中はバーストが発生せず、ベースパフォーマンスとなる
  36. 36. 36 コールドHDD – sc1 • スループット最適化HDDと同様のユースケースで高性能が不要 な場合に。ログやバックアップのアーカイブ先としても • 仕様 – 容量: 500GBから16TBまで、1GB単位で指定可能 – IOPS: 最大250IOPS – スループット: 容量1TBあたり12MB/sがベースパフォーマンス 1TBあたり80MB/sまで性能を引き上げるバーストが利用可能 スループットの上限値は250MB/sとなる ※snapshotの取得中はバーストが発生せず、ベースパフォーマンスとなる
  37. 37. 37 st1/sc1のバーストバケットモデル 蓄積上限: (st1/sc1)1TB/TB 流入量: (st1)40MB/秒/TB (sc1)12MB/秒/TB 流出量: (st1)250MB/秒/TB,Max500MB/秒 (sc1)80MB/秒/TB,Max250MB/秒 • ボリューム容量1TBあたりにつき、1TBまで蓄積でき るバーストバケットが存在する • 流入量(ベースパフォーマンス)はボリュームタイプに よって異なる  st1: 1TBあたり40MB/秒、最大500MB/秒  sc1: 1TBあたり12MB/秒、最大192MB/秒 • 流出量(バースト時性能)もボリュームタイプに依存 • st1:1TBあたり250MB/秒、最大500MB/秒 • sc1:1TBあたり80MB/秒、最大250MB/秒 • st1で12,800GB(12.5TB)以上確保すると常時 500MB/秒となりバーストの概念がなくなる • Snapshot作成中はバーストが発生せずベースパ フォーマンスとなる
  38. 38. 38 st1/sc1の容量とスループットの関係 スループット (MB/s) 容量 (TB)
  39. 39. 39 パラメータチューニング(1) • 高スループットで読み込みが主体となるワークロードにおいては、性能を最大限 引き出すために先読み(Read Ahead)のサイズを1MBに設定することを推奨 1. 現状の設定を確認する $ sudo blockdev --report /dev/(device) 2. Read aheadの値を変更する $ sudo blockdev --setra 2048 /dev/(device) 3. 設定変更結果を確認する $ sudo blockdev --report /dev/(device)
  40. 40. 40 パラメータチューニング(2) • Linux Kernelのバージョン4.2以上を利用している場合は、先の設定に加えて xen_blkfront.maxの値を256に設定することを推奨 • この値はカーネルモジュールパラメータとして指定を行う。Amazon Linuxの場 合は下記の手順で設定変更が可能 1. /boot/grub/menu.lstをviで開く $ sudo vi /boot/grub/menu.lst 2. kernel行を以下の通り追記してOSを再起動 変更前) kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 変更後) kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256
  41. 41. 41 設計上のパフォーマンス特性 • st1/sc1はHDDの特性を活かし、高いスループットを低コストに実現することに 最適化されている  一般にHDDはシーケンシャルアクセスは高速だが、小さいデータへのランダムアクセ スではヘッドの移動がオーバーヘッドとなるためパフォーマンスが出ない • st1/sc1で小さいデータブロックへのアクセスを行った場合、シーケンシャルな ら可能な限りI/O命令がマージされ効率的だが、ランダムな場合は非効率  (例)連続した10個の128KBブロックへのアクセスではクレジットの消費は2MBとなる  (例)16KBブロックにランダムで10回アクセスすると、クレジットは10MB消費される • 小さいデータへのランダムアクセスになりがちなトランザクショナルな処理や データベース、ファイルサーバ等への利用は非推奨
  42. 42. 42 st1/sc1の使いどころ Do’s Do’s • 新ボリュームタイプ(st1/sc1)は安定したスループットを低コストで得られるよ う設計されているので、ETL・DWH・ログ処理・EMRなどのシーケンシャルア クセス用途で利用する。 • Throughput Optimized(st1)はディスクを高速(250MB/s以上)にスキャンする 用途や、日次のバッチ処理などでボリュームをフルスキャンする用途に適してい る。 • Cold(sc1)はアクセス頻度が低いデータで250MB/s以下のスキャン速度でよいも のを低コストに保管することができるので、st1までのパフォーマンスは不要な 場合に選択する。
  43. 43. 43 st1/sc1の使いどころ Don’ts Don’ts • トランザクション処理やランダムI/Oを多数発行する処理、起動ボリュームには 向いていない。  汎用SSD(gp2)やプロビジョンドIOPS(io1)の利用を推奨 • 起動ボリュームなど小容量で低コストを追求する場合はマグネティックの利用を 考えてもよい。st1/sc1は起動ボリュームには非対応。 • 非常に高いスループットを得るためにD2インスタンスを利用している場合は、 現状のままとすることが良いケースが多い。
  44. 44. 44 EBSのボリュームタイプの整理(旧世代) ボリュームタイプ マグネティック(Magnetic) ユースケース • アクセス頻度の低いデータ • コストを最重要視する場合 ボリュームサイズ 1GBから1TBまで IOPS • 平均100IOPS • 数百IOPSまでバースト可能 スループット • 40MB/秒から90MB/秒
  45. 45. 45 マグネティック - Magnetic • 最も古くから存在する磁気ディスクタイプ。汎用SSDの登場以 前はStandardという名称でデフォルトのボリュームタイプだっ た。必要に応じて引き続き利用可能 • 仕様 – 容量: 1GBから1TBまで、1GB単位で指定可能 – IOPS: 平均100IOPSとなる設計で最大数百IOPSへバーストできる場合がある – スループット: 40MB/秒~90MB/秒 – 唯一I/Oリクエスト回数による課金がある
  46. 46. 46 • EBS最適化を有効にすることで独立した 帯域を確保しI/O性能の安定化に繋がる • 大きいインスタンスタイプほど使える帯 域が広い(*) • 特別な意図が無ければ基本的に有効に設 定することが望ましい • 最近のインスタンスタイプ(m4,c4,d2) ではデフォルトでオンになっている EC2 w/o EBS Optimized Network EBS EC2 with EBS Optimized Network EBS EBS最適化なし EBS最適化あり (*)インスタンス毎の帯域幅はこちらを参照ください http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSOptimized.html EBS最適化インスタンス(EBS-Optimized)
  47. 47. 47 事前ウォーミング(Pre-Warming) • Snapshotから復元したボリュームに限り、各データブロックへ の初回アクセス時、S3からのデータ取得が発生するためI/O命令 のレイテンシが増加することがある • 全領域からの読み込み処理の実行による事前ウォーミング(Pre- Warming)を行うことで、Snapshotから復元したボリュームに 対する初回アクセス時のペナルティを回避できる • 実運用時は事前ウォーミングが不可能なケースもあるため、運 用要件から判断して実行可能であれば取り込む程度でOK – 例)Auto Scalingで起動したインスタンス ※詳細情報:http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-prewarm.html
  48. 48. 48 EBSのパフォーマンスを律速する要素 • EBSのパフォーマンスは3つの要素で律速されるので、システム 全体としてのボトルネックを把握することが重要 1. EC2インスタンス側のスループット 2. EBSが処理できるI/O命令の回数(IOPS) 3. 各EBSボリュームのスループット EC2 EBS EBS ②EBS自体が処理で きるI/O命令の量 ③EBSボリューム単 体としてのスルー プット上限 ①EC2インスタン ス側のスループッ ト上限 Data Data
  49. 49. 49 1. EC2インスタンス側のスループットを改善する • まずEBS最適化(EBS-Optimized)を有効にする • インスタンスタイプによって決まるEBSスループットの上限値 に到達していないかを確認する – CloudWatchのVolume Read/Write Bytesの合計値 – OSでEBSボリュームへの総流量を確認(iostatやperfmonなど) • 上限に到達している場合はインスタンスタイプを大きくするこ とでスループットを改善する EC2 EBS Data EC2 EBS Data 増速!
  50. 50. 50 2. EBS側のI/O処理性能を改善する • EBS側の実績IOPSを確認する – CloudWatchのVolume Read/Write Opsを参照 – OSでEBSへのI/O命令回数を確認(iostatやperfmonなど) • 上限に到達していればボリュームの変更を検討 – タイプを変更(マグネティック→汎用SSD, 汎用SSD→PIOPS) – スペックを変更(汎用SSD:容量を増加, PIOPS:IOPS値を増加) EC2 EBS Magnetic EC2 EBS PIOPSDataData 増速!
  51. 51. 51 3. EBS側のスループットを改善する • 個々のEBSボリュームのスループットを確認する – CloudWatchのVolume Read/Write Bytesを参照 – OSでEBSボリュームへの総流量を確認(iostatやperfmonなど) • 上限に到達していればボリュームの変更を検討 – タイプを変更(汎用SSD→PIOPS, PIOPS→スループット最適化) – 汎用SSDやPIOPSからスループット最適化HDD,コールドHDDに変更す る場合はアクセスパターンに注意 EC2 EBS 汎用SSD Data EC2 EBS PIOPS Data 増速!
  52. 52. 52 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  53. 53. 53 Snapshot • EBSのバックアップ機能。リストア時は新しいボ リュームを作成する形となる • SnapshotのデータはバックエンドでS3に保管され るため、S3のインタフェースから直接参照できない • 2世代目以降は増分データを保存する増分バック アップとなる(1世代目を削除しても復元は可能) • Snapshot作成時にブロックレベルで圧縮して保管す るため、圧縮後の容量に対して課金が行われる EBS Snapshot EBS
  54. 54. 54 Snapshotによるバックアップ EC2 EBS • 定期的にEBSのSnapshotを作成することにより バックアップを取得する • Snapshot作成時はデータ整合性を保つため静止 点を設ける事を推奨 – ソフトウェアの機能 (例:RDBMSのバックアップモード) – ファイルシステムの機能(例:Linuxのxfs_freeze) – バックアップソフトウェアの機能 – (アプリケーションの停止) – (ファイルシステムのアンマウント) • 保存期間や世代数は無制限。世代管理が必要な 場合はAWS CLIやAPI等で自動化する Snapshot作成
  55. 55. 55 Snapshotからのリストア • Snapshotから新規EBSを作成し、EC2インスタ ンスにアタッチされていたものと置き換える • 古いEBSは不要であれば削除する。障害分析等 の目的で他のインスタンスにアタッチしてもOK • EBSを別AZに移動したい場合や、容量変更、ボ リュームタイプ変更もSnapshot経由で行う EC2 EBS EBS Snapshotから EBSを作成 Detach Attach
  56. 56. 56 バックアップと静止点 • Snapshotの作成を指示しレスポンスが返ってきたら、その時点 のデータのバックアップが開始されている。 • レスポンスが返ってきた時点でI/Oを再開して良いので、静止点 を維持するのは短時間で済む 時間 EBSへのI/O停止 EBSへのI/O再開 静止点を維持 Snapshot 作成指示 作成指示 レスポンス Snapshot 作成完了 Snapshot作成処理 (バックグラウンド) 通常運用 通常運用 この時点のデー タがバックアッ プされる
  57. 57. 57 Snapshotの増分バックアップ • 1世代目のSnapshotはEBSに書き込まれた実データをすべて バックアップするが、2世代目以降は増分バックアップとなる EBS snapshot 1世代目 み か ん メ ロ み か ん メ ロ
  58. 58. 58 Snapshotの増分バックアップ • 1世代目のSnapshotはEBSに書き込まれた実データをすべて バックアップするが、2世代目以降は増分バックアップとなる 1世代目 み か ん メ ロ 2世代目 EBS snapshot み り ん メ ロ ン り ン
  59. 59. 59 Snapshotの増分バックアップ • 1世代目のSnapshotはEBSに書き込まれた実データをすべて バックアップするが、2世代目以降は増分バックアップとなる EBS 1世代目 み か ん メ ロ 2世代目 EBS snapshot み り ん メ ロ ン り ン 変化のないデータは以 前のものを参照する
  60. 60. 60 Snapshotの削除 • Snapshotの削除を行うと、当該Snapshotでしか利用していな いデータのみが削除される仕組みとなっている EBS 1世代目 み か ん メ ロ 2世代目 り ン 2世代目から参照さ れていないデータの みを削除
  61. 61. 61 Snapshotの削除 • Snapshotの削除を行うと、当該Snapshotでしか利用していな いデータのみが削除される仕組みとなっている 2世代目 み ん メ ロ り ン
  62. 62. 62 Snapshotの削除 • 2世代目で必要なデータはすべて保持されているので、1世代目 を削除しても2世代目から直接リストアをすることが可能 EBS み ん メ ロ 2世代目 り ン ボリューム作成 み り ん メ ロ ン
  63. 63. 63 リージョン間コピー • リージョン間でのSnapshotコピーをサポート • コピーを指示しておけば非同期で処理が行われるため、バック アップデータを他リージョンに転送しておけばDRを実現できる EBS Snapshot リージョン A EC2 EBS EBS Snapshot リージョン B EC2 EBS Internet リージョン間コピー 転送済みSnapshot からEBSを作成し EC2にアタッチ
  64. 64. 64 データボリュームの暗号化 • EBSボリュームの作成時に暗号化を指定すると、AES-256によ る暗号化処理が行われる • ボリュームの利用方法は従来通り。暗号化が有効であったとし ても、特に意識する必要はない。Snapshotも暗号化される • 暗号化/復号化の処理はハードウェア機能を使って実施するため、 パフォーマンスへの影響は極めて小さい • 暗号化キーはAWS Key Management Serviceで管理 ※AWS Key Management Service:http://aws.amazon.com/jp/kms/
  65. 65. 65 暗号化の有効・無効化 • ボリューム作成後に暗号化を施したい場合は、 Snapshot経由で暗号化を有効にできる 1. Snapshotを取得する 2. 暗号化を有効にしてSnapshotをコピー 3. コピーされたSnapshotからボリュームを作成 4. 新ボリュームをインスタンスにアタッチ • 暗号化の解除を行う場合は新規ボリュームを 作成してOS側でデータコピーを行う – Linux: rsyncコマンドなど – Windows: robocopyコマンドなど EC2 EBS EBS EBS EBS copy
  66. 66. 66 暗号化を利用できるインスタンスタイプ • 2017年2月15日時点では、以下のインスタンスタイプでのみボ リュームの暗号化を利用できる – 汎用:全てのm3、全てのm4、全てのt2 – コンピューティング最適化:全てのc3、全てのc4 – メモリ最適化:全てのx1、全てのr4、全てのr3、cr1.8xlarge – ストレージ最適化:全てのi2、全てのd2 – 高速コンピューティング:全てのg2、全てのp2 最新情報はこちらを参照 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSEncryption.html
  67. 67. 67 起動ボリュームの暗号化 • 起動ボリュームの暗号化もサポート。ただし暗号化を有効にする 手順が異なりAMIのコピー機能を利用する 1. 稼働中のインスタンスからAMIを作成する ※パブリックで追加料金が不要なAMIも利用可能 2. コンソールややCLI等でAMIコピーを実行。その 際にSnapshotの暗号化を有効に設定する 3. コピーされたAMIからインスタンスを起動する
  68. 68. 68 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  69. 69. 69 EBSのコスト ※2017年6月2日現在の東京リージョンにおける価格です。 コストの要素 汎用SSD(gp2) プロビジョンド IOPS(io1) スループット 最適化HDD(st1) コールドHDD(sc1) マグネティック 容量 $0.12/GB/月 $0.142/GB/月 $0.054/GB/月 $0.03/GB/月 $0.08/GB/月 指定IOPS値 (対象外) $0.074/IOPS/月 (対象外) (対象外) (対象外) I/Oリクエスト数 (対象外) (対象外) (対象外) (対象外) $0.08/100万IO リクエスト Snapshotの容量 $0.05/GB/月 $0.05/GB/月 $0.05/GB/月 $0.05/GB/月 $0.05/GB/月 • Snapshotを取得すると対象ボリュームの実データのみを圧縮 して保存する • 課金対象は「実データの圧縮後の容量」となるため、ボリュー ムの確保容量に対して費用がかかるわけではない点に注意
  70. 70. 70 ボリュームのコスト例 • 1TBの汎用SSDを1ヶ月間利用した場合 – 容量分:0.12×1024=約122.9ドル(約13,500円) • 1TBのPIOPSを5000IOPSで1ヶ月間利用した場合 – 容量分:0.142×1024=約145.4ドル(約16,000円) – IOPS分:0.074×5000=370ドル(約40,700円) – 合計:約516ドル(約56,900円) • 1TBのマグネティックを8KB単位で一月に1TBアクセスした場合 – 容量分:0.08×1024=約81.9ドル(約9,000円) – IOリクエスト分:0.08×約134 (※)=約10.7ドル(約1,200円) – 合計:約92.6ドル(約10,200円) (1ドル=110円換算) ※読み書きブロック数=1TB/8KB=134217728(約1億3千4百万リクエスト)
  71. 71. 71 ボリュームのコスト例 • 4TBのスループット最適化HDDを1ヶ月間利用した場合 – 容量分:0.054×4096=約221.2ドル(約24,300円) • 8TBのコールドHDDを1ヶ月間利用した場合 – 容量分:0.03×8196=約245.9ドル(約27,000円) • 50%使用済みの汎用SSD1TBのボリュームからSnapshotを作成 し、1ヶ月間にわたり保持した場合(圧縮率は25%と仮定) – Snapshot実容量:500×0.25=125GB – 容量分:0.05×125=6.25ドル(約690円) (1ドル=110円換算)
  72. 72. 72 アジェンダ • What’s new? • Amazon Elastic Block Store(EBS)概要 • ボリュームタイプとパフォーマンス • Snapshotと暗号化 • 料金 • まとめ
  73. 73. 73 まとめ • EBSはバックアップや暗号化の機能を備えたセキュアに利用で きる永続化ストレージ • 多彩なボリュームタイプからパフォーマンスやコストに応じて 最適なものを選択して利用可能。後から変更することもできる • HDDのボリュームタイプはシーケンシャルアクセスに最適。ア クセスパターンが読めない場合は汎用SSDを利用する • 高いパフォーマンスが必要な場合は、EBSボリュームだけでな くEC2側のスループットにも注意
  74. 74. 74 参考資料 • Amazon Elastic Block Store(EBS) http://aws.amazon.com/jp/ebs/ • ドキュメント:EBSの概要 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AmazonEBS.html • ドキュメント:EBS最適化インスタンス http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-ec2- config.html • ドキュメント:EBS APIおよびコマンド概要 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-api-cli- overview.html • ドキュメント:EC2インスタンスストア http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/InstanceStorage. html
  75. 75. 75 Webinar資料の配置場所 • AWS クラウドサービス活用資料集 – http://aws.amazon.com/jp/aws-jp-introduction/
  76. 76. 76 公式Twitter/Facebook AWSの最新情報をお届けします @awscloud_jp 検索 最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを 日々更新しています! もしくは http://on.fb.me/1vR8yWm

×