amazon ebs ボリュームの 性能特性と構成方法を習 …amazon ebsとは? elastic block...

39
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Amazon EBS ボリュームの 性能特性と構成方法を習得する! 松本 大樹 (Matsumoto Hiroki)

Upload: others

Post on 11-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Amazon EBS ボリュームの 性能特性と構成方法を習得する!

松本 大樹 (Matsumoto Hiroki)

Page 2: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

自己紹介

松本 大樹(まつもと ひろき) エコシステム ソリューション部 部長

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

• 十数年、某ハードウェアベンダーにてエンジニアを経験

• インフラを含め、Oracle DB, Java EE, SAPなどエンタープライズシステムを主に担当

Page 3: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Agenda

• Amazon EBSとは?

• 各EBSの性能特性を見る

• General Purpose (SSD)をきちんと理解する

• Encrypt Optionについて

• AWS上で、どう構成すべきか

• まとめ

Page 4: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Amazon EBS (Elastic Block Store)とは?

Page 5: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Amazon EBSとは? Elastic Block Store

• EC2にアタッチして利用するブロックデバイスのストレージ。

• OSやアプリケーション、データベースなど、様々な用途で利用される。

• S3へのスナップショット機能なども備えている。

• 99.999%の可用性を持つように設計されている。

EC2 EBS

Page 6: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

3種類のEBS

• EBS Magnetic Volumes (Standard EBS)

• EBS Provisioned IOPS (SSD) Volumes

• EBS General Purpose (SSD) Volumes

Page 7: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBS Magnetic Volumes [standard]

• 今までStandard EBSと呼ばれていたディスク

• 最も古くからあるEBS

• ベストエフォート型な性能のEBS

• 最も容量単価が安い

– $0.08 /GB/month

– $0.08 /100万IOリクエスト

Page 8: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBS Provisioned IOPS (SSD) [io1]

• I/O性能を保証する

• 1年間の内、99.9%の期間は指定したI/O性能の±10%以内の性能を保証

• 容量とプロビジョンするI/O性能に課金される

– $0.142 /GB/month

– $ 0.074 /IOPS/month

Page 9: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBS General Purpose (SSD) [gp2]

• 新しいルールの新しいEBS

• クレジット(Credit)という新しい考え方

• 負荷によって性能がバーストする

• 容量に応じて最低限のI/O性能が確保される – 容量 x3のIOPS性能がベースパフォーマンス

• 容量のみに費用が必要

– $0.12 /GB/month

Page 10: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

各EBSの性能特性を見る

Page 11: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

注意事項

• セッションではAWSの仕様を公開している訳ではなく、今回の為に実際に測定した検証結果を説明しています。

• AWSの機能は、ものすごい速度で次々と更新されていきますので、定期的に情報収集や性能測定を実施頂く事が重要となります。

Page 12: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

検証環境 - EBS性能特性

• c3.8xlarge – I/O帯域が最大性能を持つインスタンスタイプを選ぶ。

– Amazon Linux 2014.03

– File System : xfs

• EBS – 各種EBSタイプを利用

• Tools – FIO : version 2.1.5

c3.8xlarge EBS

• standard

• io1

• gp2

FIO settings

rw=[randrw, write, read]

blocksize=[1k - 1m]

size=10g

directory=/EBSTEST

direct=1

loops=1

numjobs=2

runtime=600

group_reporting

Page 13: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

I/O性能とスループット

• I/O性能 – 単位はIOPS (I/O per Second)

– 1秒間当りに処理したI/O数。

– Read(読み取り)もWrite(書き込み)も含む

• スループット – 単位はMB/secやKB/secなど

– 1行間当りに転送したデータ容量。

– Read(読み取り)もWrite(書き込み)も含む

Page 14: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBSの基礎性能 - Magnetic Volume Random Read/Writeの負荷

• 性能に凸凹があり、それほど安定していないことがグラフから読み取れる。

• また数値でも最大で230 IOPS程度もしくは25 MB/sec程度であることが確認できる。

0

5

10

15

20

25

30

0

50

100

150

200

250

MB

/sec

IOP

S

Block size

Random Read/Write

MB/sec IOPS

Page 15: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBSの基礎性能 - Magnetic Volume Sequential Readの負荷

• ブロックサイズが小さい時はI/O性能は最大で4,000 IOPSを超え、ブロックサイズが大きい時はスループットが100MB/sec近くまで出ていることが確認できる。

• 多少の凸凹はあるが、性能はそれなりに安定していることが分かる。

0

10

20

30

40

50

60

70

80

90

100

0

1,000

2,000

3,000

4,000

5,000

6,000

MB

/sec

IOP

S

Block size

Sequential Read

MB/sec IOPS

Page 16: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBSの基礎性能 - Provisioned IOPS Random Read/Write

• 4kBなど小さいブロックサイズでは4,000 IOPSでリミッターが掛かっている様な形になっている。

• 128kBなど大きなブロックサイズではスループット帯域が130MB/sec程度で頭打ちになっていることも確認できる。

0

20

40

60

80

100

120

140

160

0

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

MB

/sec

IOP

S

Block size

Random Read/Write

MB/sec IOPS

Page 17: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBSの基礎性能 - Provisioned IOPS Sequential Read

• Sequential Readは非常に特性が分かり易く出る。

• ブロックサイズ32KBまで4,000 IOPSで頭打ちとなっている。

• それ以降はスループットが130MB/sec辺りで頭打ちになりIOPS性能が落ちているのが確認できる。

0

20

40

60

80

100

120

140

160

0

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

MB

/sec

IOP

S

Block size

Sequential Read

MB/sec IOPS

Page 18: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBSの基礎性能 - General Purpose Random Read/Write

• General Purpose (gp2)の容量を1,000GBとして3,000IOPS性能を確保した状態。

• 他のEBSと同様に特性が出ており、3,000 IOPSおよび130 MB/secがリミットとなっているのが確認できる。

0

20

40

60

80

100

120

140

0

500

1,000

1,500

2,000

2,500

3,000

3,500

MB

/sec

IOP

S

Block size

Random Read/Write

MB/sec IOPS

Page 19: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBSの基礎性能 - General Purpose Sequential Read

• 同じくGeneral Purpose (gp2)の容量を1,000GBとして3,000IOPS性能を確保した状態。

• Random Read/Writeと同様に特性が出ており、3,000 IOPSおよび130 MB/secがリミットとなっているのが確認できる。

0

20

40

60

80

100

120

140

160

0

500

1,000

1,500

2,000

2,500

3,000

3,500

MB

/sec

IOP

S

Block size

Sequential Read

MB/sec IOPS

Page 20: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EBS性能特性のまとめ

• Magnetic Volume – Randomアクセスでは数百IOPSまでで、性能安定性も弱い。

– Sequentialアクセスの場合は、条件によっては100MB/sec程度の性能が確認できた。

• Provisioned IOPS/General Purpose – Random, Sequentialのどちらも安定した性能が出る。

– 指定したIOPSか130MB/secの帯域のどちらかが頭打ちになるまで性能が伸びる。

Page 21: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

General Purpose (SSD)を きちんと理解する

Page 22: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

General Purposeをもう少し詳細に • SSDベースの新たなEBSボリュームタイプ

• ベースパフォーマンスとして1GBあたり3 IOPSを保証

100GBのボリュームの場合300 IOPS、500GBなら1,500 IOPSとなる、1,000 GBなら3,000 IOPS固定となる。

• 1EBSで最大3,000 IOPSまでバースト可能

システムの起動ボリュームや、短期的に読み書きが集中する場合に適する

バースト可能時間はI/O Creditの残高とベースパフォーマンスに依存(後述)

• シンプルな料金体系

1GBあたり1ヶ月0.12ドル(東京リージョン)

IOPSあたりの課金やI/Oリクエストへの課金が無く、容量ベースの課金のみ

参考資料:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

Page 23: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

General Purposeの動きをきちんと理解する

• 容量500GBと100GBのgp2ディスクを作成し負荷を掛けてみた。

• 500GBは1,500 IOPS、100GBは300 IOPSのベースラインまで性能が落ちていることが確認できる。

Page 24: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

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時

General Purposeの動きをきちんと理解する

Page 25: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

General Purpose VolumesでRAIDを組むと?

Creditが

無くなる

I/O負荷を

停止

1EBSのみに若干の負荷を掛け続ける

I/O負荷を

再開

1EBSのみCreditが無くなる

I/O負荷の

開始

ベースパフォーマンスを維持

ベースパフォーマンスを維持

Page 26: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Provisioned IOPSとGeneral Purposeのどちらが良いのか?

• Provisioned IOPS [PIOPS] – 非常に高いI/O性能を求められた場合は最適。

– 1年間の99.9%が指定したIOPSの±10%を実現する設計となっている。

– 非常にI/O性能が重要な高性能、高信頼性の大型のデータベースなど

• General Purpose [gp2] – 短期的に高負荷が集中するようなシステム

– 中小規模のデータベースや大規模システムの開発、検証環境など

– OSのブートボリューム

Page 27: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Encrypt Optionについて

Page 28: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Encrypt Optionとは?

• EBSボリュームを暗号化する為のオプション。

• 現状、暗号化キーはAWSが管理。

• 全てのEBSタイプで利用可能。

• Snapshotも暗号化される。

• 暗号化されたボリュームはアカウント間での共有は出来ない。

• 現状ではルートボリューム(システムボリューム)への暗号化は出来ない。

• 暗号化は物理ホスト側で実施する為、性能影響が少ない。

Page 29: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

検証環境 for Encrypt Option

• c3.8xlarge – Amazon Linux 2014.03

– File System : xfs

• EBS – Provisioned IOPS

– Encrypt Optionを有効化

• Tools – FIO : verion 2.1.5

c3.8xlarge EBS

• io1

• Encrypt = on FIO settings

rw=[randrw, write, read]

blocksize=[1k - 1m]

size=10g

directory=/EBSTEST

direct=1

loops=1

numjobs=2

runtime=600

group_reporting

Page 30: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Encrypt Option(暗号化)の影響 IOPS性能について

• Encrypt Optionを有効にしても、無効のボリュームと比較しても性能差は全くないことが確認できる。

Page 31: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Encrypt Option(暗号化)の影響 CPU利用率について • CPU利用率に関しては暗号化を有効にした方が若干ながらCPU利用率

が高く、内訳としてはWait IOであった。

• ただし僅かなのでそれほど慎重に考慮する必要は無いと思われる。

Page 32: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

AWS上で、どう構成すべきか

Page 33: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

EC2で考慮すべきポイント

• EBS-Optimizedを有効にすることで決まった帯域を確保可能。

• Instance Typeが大きいほど使える帯域が広い。

EC2 normal

Network

EBS

EC2 EBS-

Optimized

Network

EBS

Instance

Type

Dedicated EBS

Throughput

16K blocksize

IOPS

C3.xlarge 500 Mbps (62.5 MB/sec) 4,000

C3.2xlarge 1,000 Mbps (125 MB/sec) 8,000

C3.4xlarge 2,000 Mbps(250 MB/sec) 16,000

C3.8xlarge 10Gbps (1,250 MB/sec) 80,000

No EBS-Optimized

EBS-Optimized

Page 34: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

どの位まで性能が出るのか?

• 24本のEBSを利用して負荷を掛けてみました。

c3.8xlarge

Provisioned EBS

Provisioned IOPS:

4,000 IOPS x 24 EBS

c3.8xlarge:

32vCPU, 60GB Mem,

10 Gbps network

Page 35: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

本セッションのまとめ

Page 36: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

構成時にどこをチェックすべきか?

EC2

EBS

必要なスループットとIOPS

が満たせるディスク本数を構成しているか。

アクセス特性に適したEBS

の選択と構成をしているか。 EBS Optimizedを有効にしてネットワーク負荷と別にEBS用の帯域をきちんと確保しているか。

価格面において最適なEBSを選択、そしてコスト計算をしているか。

必要な帯域を満たせるようなインスタンスタイプを選択しているか。

Encrypt Optionは必要か。

Page 37: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

まとめ

• EBSの性能特性を実測結果を使って説明しました。アクセスパターンやIOPS、スループット性能などを考慮して最適なEBSを選択します。

• EC2についても要件に応じて適切なインスタンスタイプの選択やEBS-Optimizedの利用などを選択します。

• 性能面、コスト面、システム・運用要件などお客様の求める要件に最適な構成になるように、様々なAWSの機能をご利用ください。

Page 38: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

Special Thanks ! 本セミナー用にEBS General Purpose周りの検証を手伝いしてもらった、Enterprise Solution Architectです。

Enterprise SA

小林 正人

Page 39: Amazon EBS ボリュームの 性能特性と構成方法を習 …Amazon EBSとは? Elastic Block Store • EC2にアタッチして利用するブ ロックデバイスのストレージ。

ご清聴ありがとうございました!