Amazon Web Services ブログ
新 – Amazon EBS スナップショットのライフサイクル管理
単一の AWS サービスまたは機能の経緯に着目し、顧客からのフィードバックに応じて時間の経過と共にどのように進化したかを見ることは、常に興味深いことです。たとえば、Amazon Elastic Block Store (EBS) は 10 年前に始まり、それ以来、多くの特徴や機能を獲得しています。以下は、いくつかの最も重要なお知らせです。
- 2008 年 8 月 – 最大 1 TB のボリュームと S3 へのスナップショットをサポートする、プロダクション形式で EBS を開始しました。
- 2010 年 9 月 – EBS ボリュームにタグを付ける機能を追加しました。
- 2012 年 8 月 – EBS ボリュームのためのプロビジョンド IOPS を開始し、必要なパフォーマンスレベルでダイヤルインできるようにしました。
- 2014 年 6 月 – SSD-backed EBS ボリュームを作成できる機能を追加しました。
- 2015 年 3 月 – 最大 16 TB および 20,000 IOPS の EBS ボリュームを作成できる機能を追加しました。
- 2016 年 4 月 – 新しいコールドストレージとスループットのオプションを追加しました。
- 2016 年 6 月 – 暗号化された EBS スナップショットのクロスアカウントコピーを作成できるように機能を強化しました。
- 2017 年 2 月 – エラスティックボリュームを開始し、アクティブなマウントされた EBS ボリュームのサイズ、パフォーマンス、ボリュームタイプを調整できるようになりました。
- 2017 年 12 月 – 最大 32,000 IOPS を提供する SSD-backed ボリュームを作成できる機能を追加しました。
- 2017 年 5 月 – EBS スナップショットへのコスト配分を開始したので、プロジェクト、部門、その他のエンティティにコストを割り当てることができるようになりました。
- 2018 年 4 月 – 作成時に EBS スナップショットにタグを付け、リソースレベルのアクセス許可を使用してより強力なセキュリティポリシーを実装する機能を追加しました。
- 2018 年 5 月 – 暗号化された EBS スナップショットが段階的に保存されること、その結果、パフォーマンスが向上し、コストが削減されることを発表しました。
上記で強調した項目のいくつかは、EBS スナップショットをより有益で柔軟にするものです。既にご承知のように、スナップショットを作成するのは簡単です。それぞれのスナップショットは、前のスナップショット以降に変更されたブロックのある時点でのコピーであり、削除の際はスナップショットに固有のデータだけが削除されるように自動管理されます。この増分モデルによって、コストが削減され、スナップショットの作成に必要な時間を最小限に抑えることができます。
スナップショットは作成や使用が簡単なので、顧客は多くのスナップショットを作成し、タグを活用してそれらを分類、整理、管理しています。私のリストに戻ると、何年にもわたって複数のタグ付け機能が追加されていることがわかります。
ライフサイクル管理 – Amazon Data Lifecycle Manager
EBS スナップショットを作成、使用し、メリットを享受することをさらに簡単にしたいのです!本日、Amazon EBS ボリュームスナップショットの作成、保存、削除を自動化する Amazon Data Lifecycle Manager を開始します。スナップショットを手動で作成して同じ方法で削除する (またはそれを行うツールを作成する) 代わりに、どのボリュームをスナップショットするかを指示する (タグを使用して) ポリシーを作成するだけで、保持モデルを設定するなど、その他の詳細の記述はほとんどなく、Data Lifecycle Manager に残りの作業を行わせることができます。Data Lifecycle Manager はタグを使用しているため、まず組織のための明確で総合的なタグ付けモデルを設定する必要があります (詳細は上のリンクを参照してください)。
多くの顧客がスナップショットの作成を自動化するためのツールには投資してきましたが、保持や削除については慎重な姿勢であることが分かってきました。遅かれ早かれ、顧客は驚くほど多額の AWS 請求書を受け取り、スクリプトが期待どおりに機能していないことを知ります。Data Lifecycle Manager は、費用が節約され、スナップショットが期待どおりに管理されていることを保証できるよう支援する必要があります。
ライフサイクルポリシーの作成と使用
Data Lifecycle Manager は、ライフサイクルポリシーを使用して、実行するタイミング、スナップショットを作成するボリューム、スナップショットを保持する期間を把握します。ポリシーは、AWS マネジメントコンソールで、AWS コマンドラインインターフェース (CLI) から、または Data Lifecycle Manager の API 経由で作成できます。ここでは、コンソールを使います。ここに EBS ボリュームがあり、すべて部門によって適切にタグ付けされています。
メニューの Elastic Block Store のセクションから、[Lifecycle Manager] にアクセスします。
[Create Snapshot Lifecycle Policy] をクリックして、先へ進みます。
最初のポリシーを作成します。
タグを使用して、ポリシーを適用するボリュームを指定します。複数のタグを指定すると、ポリシーはいずれかのタグを持つボリュームに適用されます。
12 時間または 24 時間の間隔でスナップショットを作成することができ、希望するスナップショット時間を指定することができます。スナップショットの作成は、この時間の後 1 時間以内に開始され、ボリュームのサイズと最後のスナップショット以降の変更の度合いに基づいて完了します。
組み込みのデフォルトの IAM ロールを使用するか、独自の IAM ロールを作成することができます。独自のロールを使用する場合は、EC2 スナップショット操作とすべての DLM (Data Lifecycle Manager) 操作を有効にする必要があります。詳細は、ドキュメントをお読みください。
新しく作成されたスナップショットには、自動的に aws:dlm:lifecycle-policy-id と aws:dlm:lifecycle-schedule-name のタグが付きます。また、ポリシーごとに最大 50 の追加のキー/値のペアを指定することもできます。
すべてのポリシーを一目で見ることができます。
ここで短い休憩をとり、最初の一連のスナップショットが予想通りに作成されていることを確認しました (スナップショットで作成した 2 つのタグを表示するようにコンソールを設定しました)。
主要事項
Data Lifecycle Manager を使い始めて、スナップショット管理を自動化する際は、以下の点に注意してください。
データの整合性 – スナップショットには、完了したすべての I/O 操作のデータが含まれます。クラッシュコンシステントとも呼ばれます。
料金 – Data Lifecycle Manager のポリシーは無料で作成して使用できます。作成する EBS スナップショットの通常のストレージ料金を支払います。
アベイラビリティー – Data Lifecycle Manager は、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド) の各リージョンで利用できます。
タグとポリシー – ボリュームに複数のタグがあり、タグが複数のポリシーと一致する場合、それぞれのポリシーが個別のスナップショットを作成し、両方のポリシーが保持を管理します。2 つのポリシーで、タグに対して同じキー/値のペアを指定することはできません。
プログラムによるアクセス – プログラムによってポリシーを作成および管理することができます! ここで、 CreateLifecyclePolicy
、 GetLifecyclePolicies
、 UpdateLifeCyclePolicy
関数を調べて、始めましょう。また、AWS Lambda 関数を、createSnapshot
イベントに対応して作成することもできます。
エラー処理 – ポリシーがエラー状態になっても、Data Lifecycle Manager は「DLM Policy State Change」イベントを生成します。
In the Works – 名前から推測できるように、時間の経過とともにさらに AWS データソースのサポートを追加する予定です。また、毎週および毎月のスナップショットを作成するポリシーもサポートする予定であり、追加のスケジューリングの柔軟性も提供したいと考えています。
— Jeff;