【aws black belt online seminar】 amazon elastic …...2016/04/27  · 1 【aws black belt online...

Post on 27-Apr-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

【AWS Black Belt Online Seminar】Amazon Elastic Block Store(EBS)

2017/12/7 Updatedアマゾンウェブサービスジャパン株式会社ソリューションアーキテクト ⼩林正⼈

22

⾃⼰紹介

⼩林 正⼈(こばやし まさと)インダストリソリューション部部⻑/シニアソリューションアーキテクト

• 主に⼤企業のお客様を担当し、いわゆる社内ITのみならずBtoCシステムも含め幅広い分野でお客様をご⽀援

• 好きなAWSのサービス:

3

本資料では2017年12⽉7⽇時点のサービス内容および価格についてご説明しています。最新の情報は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

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

5

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

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

新ボリュームタイプ(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

New features(2016年8⽉~11⽉)

• プロビジョンドIOPSのGB/IOPS⽐の上限が1:30から1:50に変更

• Snapshotストレージの値下げ

• 汎⽤SSDボリュームのバーストクレジットの残⾼がCloudWatchで確認可能に– 残⾼はパーセンテージで表現される(0%~100%) EBS

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⼤きく!

PIOPS20,000

PIOPS1,000

速く!

安く!

※変更処理は通常数秒で完了し、新構成が利⽤可能になる。この時点で新構成での費⽤が発⽣する。最適化処理は別途バックグラウンドで実⾏され、容量や変更内容にもよるが最⻑24時間が⼀般的。

10

• EBS Snapshotがコスト配分タグをサポートしたことにより、コスト集計ができるようになった

• 2ステップで利⽤可能に1. EBS Snapshotにタグを付与する

ü タグのキーは共通でよいが、値は集計したいグループ毎に異なるものを設定するとよい

2. 設定したタグによるコスト集計を有効化するü 「請求ダッシュボード」の「コスト配分タグ」で

設定したタグキーを有効化する

New features(2017年5⽉)

EBS

PIOPS20,000

11

• プロビジョンドIOPS(SSD)ボリュームの性能上限を改善、1ボリュームでさらに⾼性能を発揮可能に

– IOPS : 最⼤32,000IOPS(従来20,000IOPS)

– スループット:500MB/s(従来320MB/s)

New features(2017年12⽉)

PIOPS20,000

PIOPS32,000

12

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

13

Amazon Elastic Block Store(EBS)• EC2インスタンスにアタッチして使⽤するブ

ロックレベルのストレージサービス

• OSやアプリケーション、データの置き場所など様々な⽤途で利⽤される

• Snapshot機能によるS3へのバックアップや、ディスクの暗号化機能を提供

• 99.999%の可⽤性を備えるように設計されている

EC2

EBS

※製品紹介ページ:http://aws.amazon.com/jp/ebs/details/

14

特徴• 容量は1GB単位で指定できる。最⼤容

量は16TB(Magneticは1TBまで)

• アベイラビリティゾーン(AZ)毎に独⽴しているため、同⼀AZのインスタンスからのみ利⽤可能

• Snapshotから任意のAZに復元できる

• EC2インスタンスに複数のEBSを接続することはできるが、EBSを複数のインスタンスで共有することはできない

15

基本的なアーキテクチャ• ボリュームのデータはAZ内で複数の

HWにレプリケートされており、⼀般的にはさらなる冗⻑化は不要

• 実体はネットワーク接続型ストレージだが、ユーザはネットワークを意識する必要はない

• セキュリティグループによる通信制御の対象外。全ポートを閉じてもEBSは利⽤できる

16

• ユースケースに応じて性能やコストが異なる5種類のボリュームタイプから選択できる– 汎⽤SSD(General Purpose(SSD))– プロビジョンドIOPS(SSD)– スループット最適化HDD– コールドHDD– マグネティック(Magnetic)

• ボリュームタイプの変更や容量の拡張はオンラインで実⾏できる。容量拡張時、パーティションやファイルシステムの拡張は別途作業が必要

EBSのボリュームタイプ

17

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を指定できる• 最⼤32,000IOPS

スループット • 最低128MB/秒(170GB以下)から最⼤160MB/秒(214GB以上)まで

• 最⼤500MB/秒(2000IOPS以上のとき)※1IOPSあたり256KB/sを利⽤可能

18

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

19

EBSのボリュームタイプの整理(旧世代)ボリュームタイプ マグネティック(Magnetic)

ユースケース • アクセス頻度の低いデータ• コストを最重要視する場合

ボリュームサイズ 1GBから1TBまで

IOPS • 平均100IOPS• 数百IOPSまでバースト可能

スループット • 40MB/秒から90MB/秒

20

インスタンスストアとEBS• インスタンスタイプに応じて、追加コスト無しで揮発性のイン

スタンスストアが利⽤できる

• 実体はEC2の物理ホストのローカルディスク。Stop/Startにより仮想マシンが別ホストに移動するとデータが消去される

• アプリケーションが利⽤する⼀時的なデータの置き場所や、分散ファイルシステムのストレージとして活⽤する

• EBSは永続化ストレージなので、OSの領域やDBのデータなど永続化が必要なデータの置き場所としてはEBSを利⽤する

21

EBSとインスタンスストアの利⽤ケース

OSブートディスクとしての利⽤

D:C:

EBS

EC2

EBS

Windows

データ格納ディスクとしての利⽤

InstanceStore

E:

データ計算⽤など⼀時的な利⽤

データファイル

システムデータ

⼀時データ

22

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

23

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を指定できる• 最⼤32,000IOPS

スループット • 最低128MB/秒(170GB以下)から最⼤160MB/秒(214GB以上)まで

• 最⼤500MB/秒(2000IOPS以上のとき)※1IOPSあたり256KB/sを利⽤可能

24

汎⽤SSD – gp2• デフォルトのボリュームタイプで費⽤対効果が⾼い。⼀時的に

I/O性能を3,000IOPSまで引き上げるバースト機能を備える• 仕様

– 容量:1GBから16TBまで、1GB単位で指定可能

– IOPS:ベースパフォーマンスは最⼩100IOPS、最⼤10,000IOPS。容量に応じて3IOPS/GBの⽐率で変化する。容量が1,000GB未満の場合は⼀定時間3,000IOPSまで性能を引き上げるバーストを利⽤できる

– スループット:128MB/秒(170GB以下)から160MB/秒(214GB以上)

25

汎⽤SSD – 容量とIOPS

容量(GB)

IOPS

ベースパフォーマンスバーストパフォーマンス

1,000GB以下の容量では3,000IOPSへのバー

ストを利⽤可能3,334GBで10,000IOPSに到達し、以後16TBまで

同じ性能を維持する

33.4GB未満では100IOPSがベースパ

フォーマンス

26

汎⽤SSD – 容量とスループット

容量(GB)

スル

ープ

ット

(MB/秒

)

スループット

170GB以下の容量では常時128MB/秒

214GBに到達すると160MB/秒となり以後固定

170GB-214GBでは容量増に合わせて帯域がのびる

27

汎用SSDボリュームのパフォーマンス仕様(I/O負荷継続時、ボリュームサイズ毎)

• ベースパフォーマンスを超えるI/Oが要求されると、⼀定時間バーストが発⽣し3,000IOPSを発揮する

• バースト利⽤中はI/O Creditを消費し、残⾼がなくなるとベースパフォーマンスに戻る

• 実際に発⽣したI/Oがベースパフォーマンスを下回ると、その差額がI/O Creditとして貯⾦される

IOPS

汎⽤SSD – バースト時のパフォーマンス

28

汎⽤SSDのバーストバケットモデル

蓄積上限:5,400,000I/Oクレジット(固定)

流⼊量:3IOPS/GB

流出量:Max 10,000IOPS(1000GB以下では3,000IOPS)

• 540万I/Oクレジットまで蓄積できるバーストバケットがボリュームごとに存在する※ボリューム作成直後は満タン状態でスタート

• バケットへの流⼊量(ベースパフォーマンス)は1GBあたり3IOPSとなる。流出量すなわち実IOPSがこれを下回ると、バケットの残⾼が増えていく

• バケットにクレジットが残っていれば、流⼊量を超えて実IOPSを3,000IOPSまで引き上げるバーストが利⽤できる

• バケットのクレジットが枯渇すると、新たに流⼊するクレジット分(=ベースパフォーマンス分)のパフォーマンスのみが利⽤できることになる

• 容量が1,000GBを超えると流⼊量と流出量の値が⼀致するので、バーストの概念がなくなり常時⼀定の性能となる

29

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 – バーストの継続時間

30

バーストクレジットの残⾼を確認する• CloudWatchを利⽤してバーストバケット

の残⾼を確認することが可能に• ボリューム毎のメトリクスの”BurstBalance”で

利⽤できる

• 残⾼はクレジットの実数ではなく、上限値の(540万I/Oクレジット)に対するパーセンテージで表現される

• 多くの場合はバーストクレジットの枯渇は発⽣しないが、⾼負荷処理時に枯渇が⾒られる場合は対策を検討するとよい

• ボリュームサイズを⼤きくする• プロビジョンドIOPSに変更する

31

プロビジョンドIOPS(SSD) – io1• 最もパフォーマンスの⾼いタイプ。1年間のうち99.9%の時間に

ついて、指定したIOPS値の±10%の範囲の性能を発揮する

• 仕様– 容量:

4GBから16TBまで、1GB単位で指定可能– IOPS:

1GBあたり50IOPSを上限として希望するIOPS値を指定する最⼤32,000IOPSまで(32,000IOPS指定時は最低640GBが必要)

– スループット:最⼤500MB/秒(2000IOPS以上時、I/O size=256KB)

– CloudWatchの詳細モニタリング機能がデフォルトでON

32

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側のスループット上限に注意

33

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

34

スループット最適化HDD – st1• シーケンシャルアクセス時に⾼い性能を発揮するタイプ。⾼い

スループットを要求するビッグデータ処理に最適

• 仕様– 容量:

500GBから16TBまで、1GB単位で指定可能– IOPS:

最⼤500IOPS– スループット:

容量1TBあたり40MB/sがベースパフォーマンス1TBあたり250MB/sまで性能を引き上げるバーストが利⽤可能スループットの上限値は500MB/sとなる

※snapshotの取得中はバーストが発⽣せず、ベースパフォーマンスとなる

35

コールドHDD – sc1• スループット最適化HDDと同様のユースケースで⾼性能が不要

な場合に。ログやバックアップのアーカイブ先としても

• 仕様– 容量:

500GBから16TBまで、1GB単位で指定可能– IOPS:

最⼤250IOPS– スループット:

容量1TBあたり12MB/sがベースパフォーマンス1TBあたり80MB/sまで性能を引き上げるバーストが利⽤可能スループットの上限値は250MB/sとなる

※snapshotの取得中はバーストが発⽣せず、ベースパフォーマンスとなる

36

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作成中はバーストが発⽣せずベースパフォーマンスとなる

37

st1/sc1の容量とスループットの関係スループット

(MB/s)

容量(TB)

38

パラメータチューニング(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)

39

パラメータチューニング(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

40

設計上のパフォーマンス特性

• st1/sc1はHDDの特性を活かし、⾼いスループットを低コストに実現することに最適化されているü ⼀般にHDDはシーケンシャルアクセスは⾼速だが、⼩さいデータへのランダムアクセ

スではヘッドの移動がオーバーヘッドとなるためパフォーマンスが出ない

• st1/sc1で⼩さいデータブロックへのアクセスを⾏った場合、シーケンシャルなら可能な限りI/O命令がマージされ効率的だが、ランダムな場合は⾮効率ü (例)連続した10個の128KBブロックへのアクセスではクレジットの消費は2MBとなるü (例)16KBブロックにランダムで10回アクセスすると、クレジットは10MB消費される

• ⼩さいデータへのランダムアクセスになりがちなトランザクショナルな処理やデータベース、ファイルサーバ等への利⽤は⾮推奨

41

st1/sc1の使いどころ Doʼs

Doʼs• 新ボリュームタイプ(st1/sc1)は安定したスループットを低コストで得られるよ

う設計されているので、ETL・DWH・ログ処理・EMRなどのシーケンシャルアクセス⽤途で利⽤する。

• Throughput Optimized(st1)はディスクを⾼速(250MB/s以上)にスキャンする⽤途や、⽇次のバッチ処理などでボリュームをフルスキャンする⽤途に適している。

• Cold(sc1)はアクセス頻度が低いデータで250MB/s以下のスキャン速度でよいものを低コストに保管することができるので、st1までのパフォーマンスは不要な場合に選択する。

42

st1/sc1の使いどころ Donʼts

Donʼts• トランザクション処理やランダムI/Oを多数発⾏する処理、起動ボリュームには

向いていない。ü 汎⽤SSD(gp2)やプロビジョンドIOPS(io1)の利⽤を推奨

• 起動ボリュームなど⼩容量で低コストを追求する場合はマグネティックの利⽤を考えてもよい。st1/sc1は起動ボリュームには⾮対応。

• ⾮常に⾼いスループットを得るためにD2インスタンスを利⽤している場合は、現状のままとすることが良いケースが多い。

43

EBSのボリュームタイプの整理(旧世代)ボリュームタイプ マグネティック(Magnetic)

ユースケース • アクセス頻度の低いデータ• コストを最重要視する場合

ボリュームサイズ 1GBから1TBまで

IOPS • 平均100IOPS• 数百IOPSまでバースト可能

スループット • 40MB/秒から90MB/秒

44

マグネティック - Magnetic• 最も古くから存在する磁気ディスクタイプ。汎⽤SSDの登場以

前はStandardという名称でデフォルトのボリュームタイプだった。必要に応じて引き続き利⽤可能

• 仕様– 容量:

1GBから1TBまで、1GB単位で指定可能– IOPS:

平均100IOPSとなる設計で最⼤数百IOPSへバーストできる場合がある– スループット:

40MB/秒~90MB/秒– 唯⼀I/Oリクエスト回数による課⾦がある

45

• EBS最適化を有効にすることで独⽴した帯域を確保しI/O性能の安定化に繋がる

• ⼤きいインスタンスタイプほど使える帯域が広い(*)

• 特別な意図が無ければ基本的に有効に設定することが望ましい

• 最近のインスタンスタイプ(m4,c4,d2)ではデフォルトでオンになっている

EC2w/o EBS

OptimizedNetwork

EBS

EC2with EBSOptimized

Network

EBS

EBS最適化なし

EBS最適化あり

(*)インスタンス毎の帯域幅はこちらを参照くださいhttp://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSOptimized.html

EBS最適化インスタンス(EBS-Optimized)

46

事前ウォーミング(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

47

EBSのパフォーマンスを律速する要素

• EBSのパフォーマンスは3つの要素で律速されるので、システム全体としてのボトルネックを把握することが重要1. EC2インスタンス側のスループット2. EBSが処理できるI/O命令の回数(IOPS)3. 各EBSボリュームのスループット

EC2 EBS

EBS

②EBS⾃体が処理できるI/O命令の量

③EBSボリューム単体としてのスルー

プット上限

①EC2インスタンス側のスループッ

ト上限Data

Data

48

1. EC2インスタンス側のスループットを改善する

• まずEBS最適化(EBS-Optimized)を有効にする• インスタンスタイプによって決まるEBSスループットの上限値

に到達していないかを確認する– CloudWatchのVolume Read/Write Bytesの合計値– OSでEBSボリュームへの総流量を確認(iostatやperfmonなど)

• 上限に到達している場合はインスタンスタイプを⼤きくすることでスループットを改善する

EC2 EBSData

EC2 EBS

Data

増速!

49

2. EBS側のI/O処理性能を改善する

• EBS側の実績IOPSを確認する– CloudWatchのVolume Read/Write Opsを参照– OSでEBSへのI/O命令回数を確認(iostatやperfmonなど)

• 上限に到達していればボリュームの変更を検討– タイプを変更(マグネティック→汎⽤SSD, 汎⽤SSD→PIOPS)– スペックを変更(汎⽤SSD:容量を増加, PIOPS:IOPS値を増加)

EC2 EBSMagnetic

EC2 EBSPIOPSDataData

増速!

50

3. EBS側のスループットを改善する

• 個々のEBSボリュームのスループットを確認する– CloudWatchのVolume Read/Write Bytesを参照– OSでEBSボリュームへの総流量を確認(iostatやperfmonなど)

• 上限に到達していればボリュームの変更を検討– タイプを変更(汎⽤SSD→PIOPS, PIOPS→スループット最適化)– 汎⽤SSDやPIOPSからスループット最適化HDD,コールドHDDに変更す

る場合はアクセスパターンに注意

EC2 EBS汎⽤SSD

Data

EC2 EBSPIOPS

Data

増速!

51

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

52

Snapshot• EBSのバックアップ機能。リストア時は新しいボ

リュームを作成する形となる

• SnapshotのデータはバックエンドでS3に保管されるため、S3のインタフェースから直接参照できない

• 2世代⽬以降は増分データを保存する増分バックアップとなる(1世代⽬を削除しても復元は可能)

• Snapshot作成時にブロックレベルで圧縮して保管するため、圧縮後の容量に対して課⾦が⾏われる

EBS

Snapshot

EBS

53

Snapshotによるバックアップ

EC2

EBS

• 定期的にEBSのSnapshotを作成することによりバックアップを取得する

• Snapshot作成時はデータ整合性を保つため静⽌点を設ける事を推奨

– ソフトウェアの機能 (例:RDBMSのバックアップモード)– ファイルシステムの機能(例:Linuxのxfs_freeze)– バックアップソフトウェアの機能– (アプリケーションの停⽌)– (ファイルシステムのアンマウント)

• 保存期間や世代数は無制限。世代管理が必要な場合はAWS CLIやAPI等で⾃動化する

Snapshot作成

54

Snapshotからのリストア• Snapshotから新規EBSを作成し、EC2インスタ

ンスにアタッチされていたものと置き換える

• 古いEBSは不要であれば削除する。障害分析等の⽬的で他のインスタンスにアタッチしてもOK

• EBSを別AZに移動したい場合や、容量変更、ボリュームタイプ変更もSnapshot経由で⾏う

EC2

EBS EBS

SnapshotからEBSを作成

Detach Attach

55

バックアップと静⽌点• Snapshotの作成を指⽰しレスポンスが返ってきたら、その時点

のデータのバックアップが開始されている。• レスポンスが返ってきた時点でI/Oを再開して良いので、静⽌点

を維持するのは短時間で済む

時間

EBSへのI/O停⽌ EBSへのI/O再開

静⽌点を維持

Snapshot作成指⽰

作成指⽰レスポンス

Snapshot作成完了

Snapshot作成処理(バックグラウンド)

通常運⽤ 通常運⽤

この時点のデータがバックアッ

プされる

56

Snapshotの増分バックアップ• 1世代⽬のSnapshotはEBSに書き込まれた実データをすべて

バックアップするが、2世代⽬以降は増分バックアップとなる

EBS

snapshot

1世代⽬ み か ん

メ ロ

み か ん メ ロ

57

Snapshotの増分バックアップ• 1世代⽬のSnapshotはEBSに書き込まれた実データをすべて

バックアップするが、2世代⽬以降は増分バックアップとなる

1世代⽬

み か ん メ ロ

2世代⽬EBS

snapshot

み り ん

メ ロ ン

り ン

58

Snapshotの増分バックアップ• 1世代⽬のSnapshotはEBSに書き込まれた実データをすべて

バックアップするが、2世代⽬以降は増分バックアップとなる

EBS

1世代⽬

み か ん メ ロ

2世代⽬EBS

snapshot

み り ん

メ ロ ン

り ン

変化のないデータは以前のものを参照する

59

Snapshotの削除• Snapshotの削除を⾏うと、当該Snapshotでしか利⽤していな

いデータのみが削除される仕組みとなっている

EBS1世代⽬

み か ん メ ロ

2世代⽬

り ン

2世代⽬から参照されていないデータの

みを削除

60

Snapshotの削除• Snapshotの削除を⾏うと、当該Snapshotでしか利⽤していな

いデータのみが削除される仕組みとなっている

2世代⽬

み ん メ ロ り ン

61

Snapshotの削除• 2世代⽬で必要なデータはすべて保持されているので、1世代⽬

を削除しても2世代⽬から直接リストアをすることが可能

EBS

み ん メ ロ

2世代⽬

り ンボリューム作成

み り ん

メ ロ ン

62

リージョン間コピー• リージョン間でのSnapshotコピーをサポート

• コピーを指⽰しておけば⾮同期で処理が⾏われるため、バックアップデータを他リージョンに転送しておけばDRを実現できる

EBS

Snapshotリージョン A

EC2

EBS

EBS

Snapshotリージョン B

EC2

EBSInternet

リージョン間コピー

転送済みSnapshotからEBSを作成しEC2にアタッチ

63

データボリュームの暗号化• EBSボリュームの作成時に暗号化を指定すると、AES-256によ

る暗号化処理が⾏われる

• ボリュームの利⽤⽅法は従来通り。暗号化が有効であったとしても、特に意識する必要はない。Snapshotも暗号化される

• 暗号化/復号化の処理はハードウェア機能を使って実施するため、パフォーマンスへの影響は極めて⼩さい

• 暗号化キーはAWS Key Management Serviceで管理

※AWS Key Management Service:http://aws.amazon.com/jp/kms/

64

暗号化の有効・無効化• ボリューム作成後に暗号化を施したい場合は、

Snapshot経由で暗号化を有効にできる1. Snapshotを取得する2. 暗号化を有効にしてSnapshotをコピー3. コピーされたSnapshotからボリュームを作成4. 新ボリュームをインスタンスにアタッチ

• 暗号化の解除を⾏う場合は新規ボリュームを作成してOS側でデータコピーを⾏う

– Linux: rsyncコマンドなど– Windows: robocopyコマンドなど

EC2

EBS EBS

EBS EBS

copy

65

暗号化を利⽤できるインスタンスタイプ• 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

66

起動ボリュームの暗号化• 起動ボリュームの暗号化もサポート。ただし暗号化を有効にする

⼿順が異なりAMIのコピー機能を利⽤する

1. 稼働中のインスタンスからAMIを作成する※パブリックで追加料⾦が不要なAMIも利⽤可能

2. コンソールややCLI等でAMIコピーを実⾏。その際にSnapshotの暗号化を有効に設定する

3. コピーされたAMIからインスタンスを起動する

67

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

68

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を取得すると対象ボリュームの実データのみを圧縮して保存する

• 課⾦対象は「実データの圧縮後の容量」となるため、ボリュームの確保容量に対して費⽤がかかるわけではない点に注意

69

ボリュームのコスト例

• 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百万リクエスト)

70

ボリュームのコスト例

• 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円換算)

71

アジェンダ

• Whatʼs new?• Amazon Elastic Block Store(EBS)概要• ボリュームタイプとパフォーマンス• Snapshotと暗号化• 料⾦• まとめ

72

まとめ

• EBSはバックアップや暗号化の機能を備えたセキュアに利⽤できる永続化ストレージ

• 多彩なボリュームタイプからパフォーマンスやコストに応じて最適なものを選択して利⽤可能。後から変更することもできる

• HDDのボリュームタイプはシーケンシャルアクセスに最適。アクセスパターンが読めない場合は汎⽤SSDを利⽤する

• ⾼いパフォーマンスが必要な場合は、EBSボリュームだけでなくEC2側のスループットにも注意

73

参考資料• 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

74

Webinar資料の配置場所

• AWS クラウドサービス活⽤資料集– http://aws.amazon.com/jp/aws-jp-introduction/

75

公式Twitter/FacebookAWSの最新情報をお届けします

@awscloud_jp検索

最新技術情報、イベント情報、お役⽴ち情報、お得なキャンペーン情報などを⽇々更新しています!

もしくはhttp://on.fb.me/1vR8yWm

top related