DEA / ドメイン2 データストア管理

重要な内容

S3 のライフサイクル・バージョニング・レプリケーション

のデータは、時間がたつほど読まれなくなり、やがて保管期限を迎えます。 のライフサイクルルールを使うと、古いデータを安いへ移し、期限が来たら削除する作業を自動化できます。DEA-C01 では、ライフサイクルルールによる階層の移行と有効期限、と非現行バージョンの管理、Object Lock による保持、による複製が問われます。

Point
  • Lifecycle (ライフサイクル): データが作られてから削除されるまでの一生のことです。
  • Expiration (有効期限): ライフサイクルルールの「削除する」アクションの名前です。
  • Noncurrent version (非現行バージョン): バージョニングを有効にしたバケットで、上書きや削除によって最新ではなくなった古い版です。
  • 和訳

概要

ライフサイクルルールは、全体、またはプレフィックス・タグ・オブジェクトサイズで絞り込んだオブジェクトに対して、2種類のアクションを設定します。

アクション内容例
移行 (Transition)指定した日数後に別のへ移す30日後に Standard-、180日後に Glacier Deep Archive
有効期限 (Expiration)指定した日数後に削除する (失効させる)7年後に削除
概要の図 30日 90日 365日 2555日 S3 Standard作成直後 Standard-IA Glacier Flexible Retrieval Glacier Deep Archive 削除Expiration

試験では、「何日後にどのクラスへ移すか」「いつ消すか」「古いバージョンがたまってコストが増えたときどうするか」「消してはいけないデータをどう守るか」を判断します。


主要技術

①ライフサイクルルールによる階層の移行 ⚠️ 頻出

移行は、上位のクラスから下位のクラスへ一方向に進みます (ウォーターフォール)。Glacier Deep Archive から上位のクラスへはライフサイクルで戻せず、復元してからコピーし直す必要があります。

制約内容
小さいオブジェクト128 KB 未満のオブジェクトは、既定ではどのクラスへも移行しない。移行は1件ごとにリクエスト料金がかかり、節約額を上回るため
最小保存期間Standard- と One Zone-IA は30日、Glacier Instant Retrieval と Flexible Retrieval は90日、Deep Archive は180日。期間前に移行・削除すると残りの日数分が課金される
1つのルール内の順序最小保存期間を満たさない間隔で次のクラスへ移すルールは作れない
復元が必要なクラスGlacier Flexible Retrieval と Deep Archive は、読む前に一時コピーの復元が必要

読まれ方が読めないデータは、日数を決めて移すより Intelligent-Tiering に入れて、アクセス頻度に応じて自動で階層を移す方が安全です。

が大量にあるでは、移行のリクエスト料金と、Glacier 系で1オブジェクトごとに追加される管理用の容量が効いてきます。先にファイルをまとめて ()、大きなファイルにしてから移行します。


②有効期限によるデータの失効 ⚠️ 頻出

期限に達したデータは、有効期限 (Expiration) アクションで自動削除します。Scan して1件ずつ消すジョブを作るより、安く確実です。

目的設定
raw ゾーンのログを90日で消すプレフィックス raw/logs/ に Expiration 90日
一時ファイルを7日で消すタグ temp=true に Expiration 7日
失敗したマルチパートアップロードの断片を消すAbortIncompleteMultipartUpload (開始から N 日)
古いバージョンを消すNoncurrentVersionExpiration (非現行になってから N 日、保持する版数も指定可)
残った削除マーカーを消すExpiredObjectDeleteMarker

削除は非同期に行われ、期限日ちょうどではなく少し遅れることがあります。ただし、期限を過ぎたオブジェクトの保管料金はかかりません。

Point
  • 削除マーカー (delete marker): バージョニングが有効なバケットでオブジェクトを削除すると、実体は消えずに「削除された」という目印が最新版として置かれます。これが削除マーカーです。
  • 古い版が残り続けるため、バージョニングを有効にしたら非現行バージョンの有効期限も一緒に設定するのが定石です。

③バージョニング ⚠️ 頻出

を有効にすると、上書きや削除をしても以前の版が残り、誤操作から戻せます。

状態上書き・削除したとき
無効 (既定)以前のデータは失われる
有効以前の版が非現行バージョンとして残る。削除は削除マーカーになる
停止新しい版は作られないが、既存の版は残る (一度有効にすると無効には戻せない)
③バージョニング ⚠️ 頻出の図 上書き 削除 削除マーカーを消す 版1 現行 版2 現行版1 は非現行 削除マーカーが現行版1・版2 は非現行 版2 が現行に戻る

では、 ジョブが誤って curated のデータを上書きしたときに、前の版へ戻せることが利点です。一方で、毎日上書きするデータは版がたまり続け、保管料金が膨らみます。ライフサイクルルールの NoncurrentVersionExpiration と、非現行バージョンの移行 (NoncurrentVersionTransition) を組み合わせて、古い版を安いクラスへ移してから消します。

Delete を有効にすると、版の完全削除とバージョニング状態の変更に多要素認証を求められます。


④Object Lock によるデータの保持

Object Lock は、指定した期間、オブジェクトの版を上書き・削除できなくする (書き込みは1回、読み取りは何度でも) の仕組みです。が前提です。

方式内容向くケース
モード特別な権限 (s3:BypassGovernanceRetention) を持つ利用者は解除・削除できる誤削除の防止、社内ルールでの保持
モード保持期間中は root ユーザーを含め誰も削除・短縮できない規制による保存義務 (金融記録、監査ログ)
リーガルホールド期限なしで削除を止める。外すまで有効訴訟や調査のために期間を決めず保全する

保持期間中の版はライフサイクルルールでも削除できません。法的な保持義務と削除要求の両立は「データの削除と保持 (法的要件)」の章で扱います。


⑤レプリケーション

は、オブジェクトを別のへ非同期に自動で複製します。送信元と送信先の両方でが必要です。

方式用途
クロスレプリケーション (CRR)別リージョンにコピーを置く (災害対策、遠隔地の利用者の読み取り、規制)
同一リージョンレプリケーション (SRR)同じリージョンの別バケット・別アカウントへ集約する (ログの集約、本番と分析用の分離)
Batch Replicationルール設定前からある既存のオブジェクトや、失敗したオブジェクトを複製する
S3 Replication Time Control (RTC)大半のオブジェクトを数秒で、99.99% を15分以内に複製する SLA 付きの複製
複製されるもの・されないもの内容
新しく書かれたオブジェクト複製される (ルール作成後)
ルール作成前のオブジェクト複製されない (Batch Replication を使う)
削除マーカー設定すれば複製できる
特定の版の削除複製されない (誤削除や悪意の削除が広がらない)

レプリケーションは「同じデータを2か所に持つ」仕組みで、誤った上書きもそのまま複製されます。誤操作からの復旧にはバージョニングや を組み合わせます (「データの保護とレジリエンス」の章)。許可されていないリージョンへの複製を組織として防ぐ方法は「データ主権とリージョンの制御」の章で扱います。


試験対策

①判断マトリクス

問題文のキーワード選ぶもの
30日後は読まれない、90日後はほぼ読まないライフサイクルルールの移行 (Standard- → Glacier)
アクセス頻度が読めない、変わる Intelligent-Tiering
一定期間後にデータを自動で削除ライフサイクルルールの Expiration
後に保管料金が増えたNoncurrentVersionExpiration / NoncurrentVersionTransition
未完了のマルチパートアップロードがたまるAbortIncompleteMultipartUpload
誤った上書き・削除から戻したいバージョニング
規制で一定期間、誰にも削除させないObject Lock のモード
管理者だけは解除できる保持Object Lock のモード
期間を決めずに訴訟対応で保全リーガルホールド
別に自動でコピークロスリージョン (CRR)
既存のオブジェクトも複製したいS3 Batch Replication
15分以内の複製を保証したいS3 Replication Time Control

②よくある誤答

  • 数 KB のオブジェクトを大量に Glacier へ移して節約しようとすること。既定では移行されず、移行しても料金が節約額を上回りがちです。
  • を有効にしたまま非現行バージョンの有効期限を設定しないこと。古い版がたまり続けます。
  • バージョニングを有効にしたで Expiration を設定すれば実体が消えると考えること。現行版は削除マーカーになり、非現行バージョンとして残ります。
  • をバックアップの代わりと考えること。誤った変更も複製されます。
  • Object Lock のモードで規制要件を満たそうとすること。権限のある利用者が解除できるため、規制にはモードを選びます。

参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください