概要
Amazon S3 Glacier Vaults から Amazon S3 へのデータ転送 Amazon Simple Storage Service Glacier (Amazon S3 Glacier) vault に保存されたアーカイブを、S3 Glacier ストレージクラスを含む選択した S3 バケットとストレージクラスにリストア、コピー、転送します。この AWS ソリューションは、転送プロセスを自動化することでデータの利用を簡素化し、アーカイブされたデータへのアクセス性とコスト効率を高めます。
注:
Glacier Deep Archive、Glacier Flexible Retrieval、Glacier Instant Retrieval を含む Amazon S3 Glacier ストレージクラスは、S3 ストレージクラスとは異なります。これらのストレージクラスの詳細については、こちらのウェブページをご覧ください。
メリット
自動化によって時間が節約され、データ転送プロセスにおける人為的ミスの可能性が最小限に抑えられるため、より信頼性の高い一貫したオペレーションが保証されます。
Amazon S3 Glacier ボールトから S3 バケットへのデータの転送は、より簡単なデータの分析と活用を促進します。アプリケーションや分析ツールのためのデータへのアクセスがより手軽になり、長い復元時間もありません。
Amazon S3 ストレージクラスは、データのタグ付けとすばやいアクセスを可能にします。タグ付けのメリットには、データ分類、きめ細かなアクセス制御、ライフサイクル管理、およびコスト配分などがあります。
まれにしかアクセスしないデータについては、Amazon S3 Glacier Deep Archive ストレージクラスを使用することで、AWS 米国東部 (オハイオ) リージョンのストレージコストを S3 Glacier ボールトと比べてほぼ 75% 削減できます。
技術的な詳細情報
このアーキテクチャは、実装ガイドと関連する AWS CloudFormation テンプレートを使用して自動的にデプロイできます。
ステップ 1
AWS Systems Manager ドキュメント (SSM ドキュメント) を使用して、転送ワークフローを呼び出します。
ステップ 2
SSM ドキュメントが AWS Step Functions オーケストレーターワークフローの実行を開始します。
ステップ 3
Step Functions オーケストレーターのワークフローが、ネストされた Step Functions の Get Inventory ワークフローを開始して、インベントリファイルを取得します。
ステップ 4
インベントリの取得が完了すると、ソリューションが、ネストされた Step Functions の Initiate Retrieval ワークフローを呼び出します。
ステップ 5
ジョブの準備が整ったら、Amazon S3 Glacier が Amazon Simple Notification Service (Amazon SNS) トピックに通知を送信して、ジョブの完了を伝えます。
ステップ 6
このソリューションは、すべてのジョブ完了通知を Amazon Simple Queue Service (Amazon SQS) Notifications キューに保存します。
ステップ 7
アーカイブジョブの準備が整ったら、Amazon SQS Notifications キューが AWS Lambda の Notifications Processor 関数を呼び出します。この Lambda 関数は、アーカイブ取得の初期ステップを準備します。
ステップ 8
Lambda の Notifications Processor 関数が、チャンク処理用の Amazon SQS Chunks Retrieval キューにチャンク取得メッセージを配置します。
ステップ 9
Amazon SQS Chunks Retrieval キューが Lambda の Chunk Retrieval 関数を呼び出して、各チャンクを処理します。
ステップ 10
Lambda の Chunk Retrieval 関数が、Amazon S3 Glacier ボールトからチャンクをダウウンロードします。
ステップ 11
Lambda の Chunk Retrieval 関数が、マルチパートアップロードのパートを Amazon Simple Storage Service (Amazon S3) にアップロードします。
ステップ 12
新しいチャンクがダウウンロードされたら、ソリューションがチャンクメタデータを Amazon DynamoDB (etag、checksum_sha_256、tree_checksum) に保存します。
ステップ 13
Lambda の Chunk Retrieval 関数が、アーカイブのすべてのチャンクが処理されたかどうかを確認します。処理されている場合は、Amazon SQS Validation キューにイベントを挿入して、Lambda の Validate 関数を呼び出します。
ステップ 14
Lambda の Validate 関数が、整合性チェックを実行してから Amazon S3 のマルチパートアップロードを終了します。
ステップ 15
DynamoDB ストリームが Lambda の Metrics Processor 関数を呼び出して、DynamoDB の転送プロセスメトリクスを更新します。
ステップ 16
Step Functions オーケストレーターの実行が非同期待機状態になり、アーカイブ取得ワークフローが終了するまで一時停止されます。終了後、Step Functions の Cleanup ワークフローが開始されます。
ステップ 17
DynamoDB ストリームが Lambda の Async Facilitator 関数を呼び出します。この関数は、Step Functions の非同期待機のロックを解除します。
ステップ 18
Amazon EventBridge ルールが、Step Functions の Extend Download Window ワークフローと Update Amazon CloudWatchDashboard ワークフローを定期的に開始します。
ステップ 19
CloudWatch ダッシュボードを使用して、転送の進行状況を監視します。