75
1 【AWS Black Belt Online Seminar】 Amazon Elastic Block Store(EBS) 2017/2/15 Updated アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト 小林正人

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

Embed Size (px)

Citation preview

Page 1: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

1

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

2017/2/15 Updated

アマゾンウェブサービスジャパン株式会社

ソリューションアーキテクト 小林正人

Page 2: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

22

自己紹介

小林 正人(こばやし まさと)エンタープライズソリューション部

ソリューションアーキテクト

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

• 好きなAWSのサービス:

Page 3: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

3

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

価格は税抜表記となっています。日本居住者のお客様がサービスを使用する場合、別途消費税をご請求させていただきます。

Page 4: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

4

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 5: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

5

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 6: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 7: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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)です※コストはリリース時点での東京リージョンにおける価格です

Page 8: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

8

New features(2016年8月~11月)

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

• スナップショットストレージの値下げ

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

Page 9: AWS Black Belt Online Seminar Amazon Elastic Block Store (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時間が一般的。

Page 10: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

10

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 11: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

11

Amazon Elastic Block Store(EBS)

• EC2インスタンスにアタッチして使用するブロックレベルのストレージサービス

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

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

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

EC2

EBS

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

Page 12: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

12

特徴

• 容量は1GB単位で指定できる。最大容量は16TB(Magneticは1TBまで)

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

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

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

Page 13: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

13

基本的なアーキテクチャ

• ボリュームのデータはAZ内で複数のHWにレプリケートされており、一般的にはさらなる冗長化は不要

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

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

Page 14: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

14

• ユースケースに応じて性能やコストが異なる5種類のボリュームタイプから選択できる

– 汎用SSD(General Purpose(SSD))

– プロビジョンドIOPS(SSD)

– スループット最適化HDD

– コールドHDD

– マグネティック(Magnetic)

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

EBSのボリュームタイプ

Page 15: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

15

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を利用可能

Page 16: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

16

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

Page 17: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

17

EBSのボリュームタイプの整理(旧世代)

ボリュームタイプ マグネティック(Magnetic)

ユースケース • アクセス頻度の低いデータ

• コストを最重要視する場合

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

IOPS • 平均100IOPS

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

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

Page 18: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

18

インスタンスストアとEBS

• インスタンスタイプに応じて、追加コスト無しで揮発性のインスタンスストアが利用できる

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

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

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

Page 19: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

19

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

OSブートディスク

としての利用

D:C:

EBS

EC2

EBS

Windows

データ格納ディスク

としての利用

Instance

Store

E:

データ計算用など

一時的な利用

データファイル

システムデータ

一時データ

Page 20: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

20

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 21: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

21

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を利用可能

Page 22: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

22

汎用SSD – gp2

• デフォルトのボリュームタイプで費用対効果が高い。一時的にI/O性能を3,000IOPSまで引き上げるバースト機能を備える

• 仕様

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

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

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

Page 23: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

23

汎用SSD – 容量とIOPS

容量(GB)

IOPS

ベースパフォーマンス

バーストパフォーマンス

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

ストを利用可能

3,334GBで10,000IOPSに到達し、以後16TBまで

同じ性能を維持する

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

フォーマンス

Page 24: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

24

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

容量(GB)

スル

ープ

ット

(MB/秒

)

スループット

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

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

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

Page 25: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

25

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

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

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

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

IOPS

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

Page 26: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

26

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

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

流入量:3IOPS/GB

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

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

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

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

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

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

Page 27: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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時)

汎用SSD – バーストの継続時間

Page 28: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

28

バーストクレジットの残高を確認する

• CloudWatchを利用してバーストバケットの残高を確認することが可能に

• ボリューム毎のメトリクスの”BurstBalance”で利用できる

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

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

• ボリュームサイズを大きくする

• プロビジョンドIOPSに変更する

Page 29: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

29

プロビジョンドIOPS(SSD) – io1

• 最もパフォーマンスの高いタイプ。1年間のうち99.9%の時間について、指定したIOPS値の±10%の範囲の性能を発揮する

• 仕様

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

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

– スループット:最大320MB/秒(1280IOPS以上時)

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

Page 30: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

30

プロビジョンドIOPS– 容量と最大IOPS

容量(GB)

最大

IOPS

400GB以下では容量の50倍までのIOPS値を指定することが可能

400GBを超えると最大20,000IOPSを指定す

ることができる

最大IOPS

Page 31: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

31

プロビジョンドIOPS – IOPSとスループットスループット

(MB/s)

IOPS設定値

1IOPSあたり256KB/sの

スループット1280IOPS以上では常時320MB/s

Page 32: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 33: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 34: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

34

スループット最適化HDD – st1

• シーケンシャルアクセス時に高い性能を発揮するタイプ。高いスループットを要求するビッグデータ処理に最適

• 仕様

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

– IOPS:最大500IOPS

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

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

Page 35: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

35

コールドHDD – sc1

• スループット最適化HDDと同様のユースケースで高性能が不要な場合に。ログやバックアップのアーカイブ先としても

• 仕様

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

– IOPS:最大250IOPS

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

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

Page 36: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 37: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

37

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

スループット(MB/s)

容量(TB)

Page 38: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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)

Page 39: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 40: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

40

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

• st1/sc1はHDDの特性を活かし、高いスループットを低コストに実現することに最適化されている

一般にHDDはシーケンシャルアクセスは高速だが、小さいデータへのランダムアクセスではヘッドの移動がオーバーヘッドとなるためパフォーマンスが出ない

• st1/sc1で小さいデータブロックへのアクセスを行った場合、シーケンシャルなら可能な限りI/O命令がマージされ効率的だが、ランダムな場合は非効率

(例)連続した10個の128KBブロックへのアクセスではクレジットの消費は2MBとなる

(例)16KBブロックにランダムで10回アクセスすると、クレジットは10MB消費される

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

Page 41: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

41

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

Do’s

• 新ボリュームタイプ(st1/sc1)は安定したスループットを低コストで得られるよう設計されているので、ETL・DWH・ログ処理・EMRなどのシーケンシャルアクセス用途で利用する。

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

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

Page 42: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

42

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

Don’ts

• トランザクション処理やランダムI/Oを多数発行する処理、起動ボリュームには向いていない。

汎用SSD(gp2)やプロビジョンドIOPS(io1)の利用を推奨

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

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

Page 43: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

43

EBSのボリュームタイプの整理(旧世代)

ボリュームタイプ マグネティック(Magnetic)

ユースケース • アクセス頻度の低いデータ

• コストを最重要視する場合

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

IOPS • 平均100IOPS

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

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

Page 44: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

44

マグネティック - Magnetic

• 最も古くから存在する磁気ディスクタイプ。汎用SSDの登場以前はStandardという名称でデフォルトのボリュームタイプだった。必要に応じて引き続き利用可能

• 仕様

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

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

– スループット:40MB/秒~90MB/秒

– 唯一I/Oリクエスト回数による課金がある

Page 45: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

45

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

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

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

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

EC2w/o EBS

OptimizedNetwork

EBS

EC2with EBS

Optimized

Network

EBS

EBS最適化なし

EBS最適化あり

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

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

Page 46: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

46

事前ウォーミング(Pre-Warming)

• Snapshotから復元したボリュームに限り、各ブロックへの初回アクセス時、IOPSに5%から50%のペナルティが発生する※新規ボリュームでPre-Warmingは不要(非推奨)となった

• 全領域からの読み込み処理の実行による事前ウォーミング(Pre-Warming)を行うことで、Snapshotから復元したボリュームに対する初回アクセス時のペナルティを回避できる

• 実運用時は事前ウォーミングが不可能なケースもあるため、運用要件から判断して実行可能であれば取り込む程度でOK

– 例)Auto Scalingで起動したインスタンス

※詳細情報:http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-prewarm.html

Page 47: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

47

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

• EBSのパフォーマンスは3つの要素で律速されるので、システム全体としてのボトルネックを把握することが重要

1. EC2インスタンス側のスループット

2. EBSが処理できるI/O命令の回数(IOPS)

3. 各EBSボリュームのスループット

EC2 EBS

EBS

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

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

プット上限

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

ト上限Data

Data

Page 48: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

48

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

• まずEBS最適化(EBS-Optimized)を有効にする

• インスタンスタイプによって決まるEBSスループットの上限値に到達していないかを確認する

– CloudWatchのVolume Read/Write Bytesの合計値

– OSでEBSボリュームへの総流量を確認(iostatやperfmonなど)

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

EC2 EBSData

EC2 EBS

Data

増速!

Page 49: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

増速!

Page 50: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

増速!

Page 51: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

51

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 52: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

52

Snapshot

• EBSのバックアップ機能。リストア時は新しいボリュームを作成する形となる

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

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

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

EBS

Snapshot

EBS

Page 53: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

53

Snapshotによるバックアップ

EC2

EBS

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

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

– ソフトウェアの機能 (例:RDBMSのバックアップモード)

– ファイルシステムの機能(例:Linuxのxfs_freeze)

– バックアップソフトウェアの機能

– (アプリケーションの停止)

– (ファイルシステムのアンマウント)

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

Snapshot作成

Page 54: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

54

Snapshotからのリストア

• Snapshotから新規EBSを作成し、EC2インスタンスにアタッチされていたものと置き換える

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

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

EC2

EBS EBS

SnapshotからEBSを作成

Detach Attach

Page 55: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

55

バックアップと静止点

• Snapshotの作成を指示しレスポンスが返ってきたら、その時点のデータのバックアップが開始されている。

• レスポンスが返ってきた時点でI/Oを再開して良いので、静止点を維持するのは短時間で済む

時間

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

静止点を維持

Snapshot作成指示

作成指示レスポンス

Snapshot作成完了

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

通常運用 通常運用

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

プされる

Page 56: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

56

Snapshotの増分バックアップ

• 1世代目のSnapshotはEBSに書き込まれた実データをすべてバックアップするが、2世代目以降は増分バックアップとなる

EBS

snapshot

1世代目 み か ん

メ ロ

み か ん メ ロ

Page 57: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

57

Snapshotの増分バックアップ

• 1世代目のSnapshotはEBSに書き込まれた実データをすべてバックアップするが、2世代目以降は増分バックアップとなる

1世代目

み か ん メ ロ

2世代目

EBS

snapshot

み り ん

メ ロ ン

り ン

Page 58: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

58

Snapshotの増分バックアップ

• 1世代目のSnapshotはEBSに書き込まれた実データをすべてバックアップするが、2世代目以降は増分バックアップとなる

EBS

1世代目

み か ん メ ロ

2世代目

EBS

snapshot

み り ん

メ ロ ン

り ン

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

Page 59: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

59

Snapshotの削除

• Snapshotの削除を行うと、当該Snapshotでしか利用していないデータのみが削除される仕組みとなっている

EBS

1世代目

み か ん メ ロ

2世代目

り ン

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

みを削除

Page 60: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

60

Snapshotの削除

• Snapshotの削除を行うと、当該Snapshotでしか利用していないデータのみが削除される仕組みとなっている

2世代目

み ん メ ロ り ン

Page 61: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

61

Snapshotの削除

• 2世代目で必要なデータはすべて保持されているので、1世代目を削除しても2世代目から直接リストアをすることが可能

EBS

み ん メ ロ

2世代目

り ンボリューム作成

み り ん

メ ロ ン

Page 62: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

62

リージョン間コピー

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

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

EBS

Snapshot

リージョン A

EC2

EBS

EBS

Snapshot

リージョン B

EC2

EBSInternet

リージョン間コピー

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

Page 63: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

63

データボリュームの暗号化

• EBSボリュームの作成時に暗号化を指定すると、AES-256による暗号化処理が行われる

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

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

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

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

Page 64: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

64

暗号化の有効・無効化

• ボリューム作成後に暗号化を施したい場合は、Snapshot経由で暗号化を有効にできる1. Snapshotを取得する

2. 暗号化を有効にしてSnapshotをコピー

3. コピーされたSnapshotからボリュームを作成

4. 新ボリュームをインスタンスにアタッチ

• 暗号化の解除を行う場合は新規ボリュームを作成してOS側でデータコピーを行う– Linux: rsyncコマンドなど

– Windows: robocopyコマンドなど

EC2

EBS EBS

EBS EBS

copy

Page 65: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 66: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

66

起動ボリュームの暗号化

• 起動ボリュームの暗号化もサポート。ただし暗号化を有効にする手順が異なりAMIのコピー機能を利用する

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

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

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

Page 67: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

67

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 68: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

68

EBSのコスト

※2017年2月15日現在の東京リージョンにおける価格です。

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

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

Page 69: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 70: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 71: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

71

アジェンダ

• What’s new?

• Amazon Elastic Block Store(EBS)概要

• ボリュームタイプとパフォーマンス

• Snapshotと暗号化

• 料金

• まとめ

Page 72: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

72

まとめ

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

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

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

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

Page 73: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

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

Page 74: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

74

Webinar資料の配置場所

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

Page 75: AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)

75

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

@awscloud_jp

検索

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

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