Amazon EBS_種類・暗号化・バックアップ #417
EBSの細かい仕様が自分の中でこんがらかっていたので、ここで一度整理したいと思います。
概要
Amazon EC2で使用されるブロックレベルのストレージサービスです。「単一」のEC2インスタンスからのデータへの最低レイテンシーのアクセスを必要とする場合に適しています。
ストレージ容量は最大16TBですが、新しいボリュームを追加してストレージを追加できます。
また、EBSボリュームは運用中のライブ設定変更に対応しており、サービスを中断することなく、ボリュームタイプ、ボリュームサイズ、iops容量を変更できます。
EBSのボリュームタイプ
EBSには以下の種類があり、用途に応じて使い分けることができます。
General Purpose SSD (gp2 & gp3)
gp2
バランスの取れた価格と性能
ベースラインのIOPSと追加のバーストIOPSが利用可能
ワークロードの大半のユースケースに適している
gp3
カスタマイズ可能な性能と価格
IOPSとスループットを個別に調整可能
gp2よりもコスト効率が高い
Provisioned IOPS SSD (io1 & io2)
高いIOPSを要求する大規模RDBやNoSQL DBなどのI/O集中型ワークロードに最適
EBSマルチアタッチをサポートしており、同じAZにある複数のNitroベースのインスタンス*にアタッチできる
ただし以下に注意
ファイルへの並列共有アクセスが提供されておらず、同時アクセスの効率が悪い
"同じAZ"であるため可用性は高まらない
IOPSとボリュームサイズを指定してプロビジョニングする
低レイテンシー
io2はio1よりも高い耐久性を持ち、99.999%の耐久性を持つ
Throughput Optimized HDD
大容量のシーケンシャルなI/Oワークロードに最適
高いスループットを持つ
ビッグデータ、データウェアハウス、ログ処理などのワークロードに適している
Cold HDD
頻繁にアクセスされないデータに適した低コストHDD
スループットを重視したストレージ
アーカイブやバックアップなどの低頻度のワークロードに適している
Magnetic
低頻度のワークロードと小さなデータベースに最適
他のEBSボリュームタイプと比較して最もコストが低い
レガシーなボリュームタイプで、新しいワークロードでは推奨されない
*Nitroベースのインスタンス: AWSが開発したNitro Systemを利用するEC2インスタンス
暗号化
EBSはAWS KMSを使用して暗号化されます。
暗号化には256ビットのAdvanced Encryption Standardアルゴリズム(AES-256)が採用されており、SLAは99.999%です。
また、EBSボリュームを暗号化すると、
・ボリューム内のデータ
・ボリュームとインスタンス間を移動する全てのデータ
・スナップショット
・スナップショットから作成された全てのボリューム
が暗号化されます(要はだいたい全部暗号化される)。
暗号化の設定方法は大きく2つあります。
デフォルトの暗号化
EBSのデフォルトでの暗号化は、リージョン固有の設定
あるリージョンに対して暗号化を有効にした場合、そのリージョン内の個々のボリュームやスナップショットに対して暗号化を無効にできない
暗号化が有効だと、インスタンスタイプがEBS暗号化をサポートしている場合のみ、インスタンスを起動できる
KMSを直接使った暗号化
KMSは暗号化キーの生成、管理、ローテーションを行うサービス
暗号化する際、AWS Managed CMK(顧客マスターキー)または顧客が作成したCMKを使用できる
キーの管理やアクセスコントロール、監査のトレーサビリティなど、より詳細なキー管理機能を活用できる
デフォルトの暗号化が有効な場合でも、KMSを直接使用してカスタムな設定をした暗号化を適用することは可能です。
なお、サーバーサイド暗号化はS3のオプションであり、EBSでは使用できません。
バックアップ
まず、EBSのデフォルトの耐久性と高可用性として、EBSボリュームをAZに作成すると、その"ゾーン内"で自動的に複製されます。これにより単一のハードウェア障害によるデータ損失を防いでいます。
これとは別にデータをバックアップしておくことも可能です。
以下のようなオプションがあります。
EBSスナップショット
手動でEBSスナップショットを取得できる
AWS Management Console、AWS CLI、またはSDKを使用して、任意のタイミングで実行可能
データのコピーをS3に書き込み、複数のAZに冗長的に保存される
スナップショットは差分バックアップで、初回はボリューム全体をキャプチャするが、次回以降は変更分のみがキャプチャされる
非同期に行われるため、スナップショットの進行中でもEBSに読み取り書き込みリクエストを出せる
Amazon Data Lifecycle Manager (Amazon DLM)
主にEBSボリュームのスナップショットを自動化し、そのライフサイクルを管理するサービス
スナップショットのタイミングや頻度を自動的にスケジュールできる
保持期間を定義し、古いスナップショットを自動的に削除できる
インスタンスやボリュームに付与されたタグを基に、どのリソースに対してスナップショットを取るかを制御できる
クロスリージョンスナップショットをサポートしており、スナップショットを別のリージョンにコピーできる
クロスアカウントスナップショットをサポートしており、スナップショットを別のAWSアカウントにコピーできる
スナップショットの作成時に、AWS KMSのキーを使用して暗号化を適用することが可能
アクションやイベントはCloudTrailで監査でき、CloudWatchでスナップショットの作成や削除の成功・失敗をモニタリングできる
Amazon EFSのバックアップのライフサイクル管理もサポートしている
EC2インスタンスのAMI
EC2インスタンスのバックアップを取ることで、それにアタッチされているEBSボリュームも一緒にバックアップされる
AMIを使用して新しいEC2インスタンスを起動する際に、同じ状態のEBSボリュームも再作成される
ここまでお読みいただきありがとうございました!
この記事が気に入ったらサポートをしてみませんか?