[レポート] Amazon EBS スナップショット:新機能、ベストプラクティス、およびセキュリティ #CMP305 #reinvent
はじめに
みなさま Xin chao !
本記事は、AWS re:Invent 2019 のセッション 「CMP305 Amazon EBS snapshots: What's new, best practices, and security」 のレポートです。
セッション概要
セッション概要を和訳したものです。
Amazon Elastic Block Store (Amazon EBS) スナップショットにより、企業は EBS ボリュームを簡単にバックアップできます。 このセッションでは、新しいスナップショット機能、サービスの進化方法、および AWS のバックアップおよび災害復旧メカニズムにスナップショットをさらに統合する方法について学びます。 スナップショットの仕組みと、スナップショットを使用して、支出を管理しながら目標復旧時間 (RTO) および目標復旧ポイント (RPO) を達成するためのベストプラクティスについて説明します。 また、AWS 環境内でスナップショットを作成、複製、共有して、データの損失や障害から保護するためのセキュリティのベストプラクティスを学びます。
スピーカー
- Shailu Verma - Senior Product Manager, Amazon Web Services
- David Green - Principal Product Solutions Architect, Amazon Web Services
- Rahul Pawar - VP of Product Management, Commvault Systems
レポート
アジェンダ
- EBS の概要
- EBS スナップショットの機能
- 新機能
AWS ストレージサービスのポートフォリオ
- オブジェクト
- Amazon S3
- ブロック
- Amazon EBS
- ファイル
- Amazon EFS
- Amazon FSx for Windows
- Amazon FSx for Lustre
- バックアップ
- AWS Backup
- データ転送およびエッジプロセシング
- AWS Storage Gateway
- AWS DataSync
- AWS Transfer for SFTP
- AWS Snowmobile
- AWS Snowball
- AWS Snowball Edge
ブロックストレージの種類
短命かつ高パフォーマンス
- EC2 Instance Store (SSD, HDD)
持続的かつ高パフォーマンス
- EBS SSD-backed volume (gp2, Io1)
スループット最適化 HDD
- EBS HDD-backed volume (st1, sc1)
Elastic Block Store (EBS) とは?
- Block storage as a service
- API を介した操作
- ネットワーク越しのサービスアクセス
- 暗号化サポート
- ポイントインタイムスナップショットのサポート
- 99.999 % の可用性
- 0.1 ~ 0.2 % の年間平均故障率 (=AFR)
EBS スナップショットとは?
- アカウント内でコピー可能
- クロスリージョンでコピー可能
- クロスアカウントでコピー可能
- クロスアカウントで共有可能
- AMI の作成に使用される
EBS スナップショットはどのように機能するのか?
- AZ 内の EBS ボリュームに対し作成する
- EBS サービスからの応答が成功すると EBS のデータが EBS スナップショットサービスにコミットされていることが確認される
- EBS スナップショットのデータが S3 に格納される
- スナップショットの進捗状況の確認 (オプション)
- 未使用の EBS ボリュームのスナップショットを取得した場合、EBS スナップショットの課金はゼロ
- EBS ボリュームの使用領域のみ EBS スナップショットでも課金対象となる
- EBS スナップショットを 2 世代以上作成した場合、増分のみが課金の対象となる (≒ユニークなブロックだけが課金対象となる)
スナップショットの一貫性
EBS スナップショットはクラッシュの一貫性をもつ
クラッシュの一貫性
- スナップショットには、完了した I/O 操作のブロックが含まれる
- ディスクにフラッシュされていないデータはスナップショットに存在しない
- サーバーの電源コードを引くのに似ている
アプリケーションの一貫性
- スナップショットを作成する前に、アプリケーションデータがディスクにフラッシュされる
- スナップショット作成プロセス中、アプリケーションへの新しい書き込みは停止される
- スナップショット作成コマンドが正常に実行されたらすぐに、フリーズ / ロック解除する
EBS マルチボリューム構成のクラッシュの一貫性スナップショット
ベストプラクティス
- ブートとデータボリュームを分ける
- スナップショットを定期的に取得する
SSM による VSS サポート
- SSM Run コマンドを使って、VSS を有効化したスナップショットの取得が可能
- VSS を使用した場合、アプリケーションのネイティブバックアップソリューションは不要 (SQL Backup やメンテナンス用スクリプトなど)
EBS スナップショットの暗号化
EBS スナップショットの暗号化
- KMS との統合 - AES-256 暗号化
- ユーザーのカスタマーマスターキー (CMKs)
- 暗号化を有効にした場合、以下が暗号化される
- EC2 インスタンスと EBS ボリューム間の通信
- ボリューム内のデータ
- ボリュームから作成されたスナップショット
- 暗号化されたスナップショットから作成されたボリュームは、自動的に暗号化される
- 所有している暗号化されていないスナップショットをコピーする際に、暗号化することが可能
- 所有している暗号化済みスナップショットをコピーする際に、異なるキーを使って再暗号化することが可能
NVMe ローカルインスタンスストレージ
- ドライブは常に暗号化されている
- XTS-AES-256 ブロック暗号
Cost Explorer と コスト管理
- コスト情報のフィルタリング
- Budget を基準としたアラームを設定可能
- ユーザー定義のキー・バリュータグをもとにレポートのカスタマイズが可能
新機能
暗号化を容易にする 3 つの機能
- 暗号化されていないスナップショット / AMI から暗号化済みボリュームを起動する
- 暗号化済みスナップショット / AMI から起動する際に、異なる CMK を使って起動することも可能
- クロスアカウントでカスタム CMK により暗号化されたスナップショット / AMI を共有
- アカウントレベルでの EBS の暗号化デフォルト設定
暗号化されていないスナップショット / AMI から暗号化済みボリュームを起動する
これまで...
- 暗号化されていないスナップショット / AMI をコピーし、コピーする際に暗号化を有効にしたうえで、コピー後のスナップショット / AMI から EBS ボリュームを作成
現在は...
- コピーすることなく EBS ボリューム起動時に暗号化を行うことが可能
クロスアカウントでのカスタム CMK により暗号化されたスナップショット / AMI の共有
これまで...
- CMK による暗号化済みスナップショット / AMI をクロスアカウントで 1 度コピーしてからボリュームを作成
現在は...
- スナップショットのクロスアカウント共有により、直接ボリュームを作成することが可能
アカウントレベルでの EBS のデフォルト暗号化設定
これまで...
- IAM ポリシーにより、暗号化されていないボリュームの展開を防ぐ
現在は...
- アカウントレベルでのリージョン内設定により暗号化のデフォルトを設定
Amazon Data Lifecycle Manager
- スナップショットライフサイクルの自動化
時間ベースでのスナップショットの保持
- スナップショット世代管理ポリシー
- 日, 週, 月ベースの保持期間設定
Data Lifecycle Manager
- スナップショットの取得および保持数をポリシーで設定
Fast Snapshot Restore
- EBS スナップショットからのリカバリーが高速かつ予測可能に
EBS direct API - スナップショットへの読み取りアクセス
API セットにより、以下が可能。
- スナップショット内のブロックのリスト表示
- ブロックの読み込みの並列化
- スナップショットの比較と、更新されたブロックの読み取り
この機能によるメリット
- 最大 70 % のバックアップ高速化
- より細かい RPO
- AWS リソース使用の低減による低コスト化 (スナップショットの内容を参照するためだけの EC2 インスタンスを用意する必要がなくなる)