Amazon S3 の整合性モデル

  • S3 は、Amazon のデータセンター内の複数のサーバ間でデータをレプリケートすることにより、高可用性を実現します。
  • S3 は、新しいオブジェクトの PUT に対する読み書き後の一貫性を提供します。
    • PUT 要求の場合、S3 は複数の施設間でデータを同期的に保存し、成功を返します。
    • プロセスは、S3 に新しいオブジェクトを書き込み、すぐにオブジェクトを読み取ることができるようになります。
    • プロセスは新しいオブジェクトを S3 に書き込み、すぐにそのバケット内のキーをリストします。変更が完全に反映されるまで、オブジェクトはリストに表示されない可能性があります。
  • S3 は、すべてのリージョンでの上書きの PUT および DELETE に対して、最終的な一貫性を提供します。
    • オブジェクトの更新と削除の場合、変更は最終的に反映され、すぐには使用できません。
    • プロセスが既存のオブジェクトを置き換え、すぐに読み取りを試みた場合。変更が完全に反映されるまで、S3 は以前のデータを返すことがあります。
    • プロセスが既存のオブジェクトを削除し、直ちに読み取りを試みた場合。削除が完全に伝播されるまで、S3 は削除されたデータを返すかもしれません。
    • プロセスが既存のオブジェクトを削除し、そのバケット内のキーを直ちに一覧表示する場合。削除が完全に反映されるまで、S3 は削除されたオブジェクトを一覧表示することがあります。
  • 1つのキーへの更新はアトミックです。たとえば、既存のキーに配置した場合、後続の読み取りによって古いデータまたは更新されたデータが返される場合がありますが、破損または部分的なデータは書き込まれません。
  • S3 は現在、オブジェクトのロックをサポートしていません。例えば、 同じキーに対して2つの PUT 要求が同時に行われた場合は、最新のタイムスタンプの要求が優先されます。 これが問題の場合は、アプリケーションにオブジェクトロック機構を構築する必要があります。
  • アップデートはキーベースです。キー間でアトミックな更新を行う方法はありません。たとえば、この機能をアプリケーションに設計しない限り、別のキーの更新に依存して1つのキーの更新を行うことはできません。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. Amazon S3 に関する有効なステートメントは次のどれですか。2つの回答を選択
    1. S3 は、任意のタイプの PUT または DELETE の読み書き後の整合性を提供します。
    2. 整合性は、任意の種類の PUT または DELETE では保証されません。
    3. PUT 要求に対して成功した応答は、完全なオブジェクトが保存されたときにのみ発生します
    4. 部分的に保存されたオブジェクトは、上書き PUT の後ですぐに読めるようになります。
    5. S3 は、上書き PUT および DELETE の最終的な一貫性を提供します。
  2. 顧客は、Web ベースのプロパティの静的コンテンツを格納するために、eu-west-1 で Amazon シンプルストレージサービスを活用しています。顧客は、標準のストレージクラスを使用してオブジェクトを格納します。顧客のオブジェクトはどこにレプリケートされますか。
    1. eu-west-1の単一施設と eu-central-1 の単一施設
    2. eu-west-1の単一施設と us-east-1 の単一施設
    3. eu-west-1の複数の施設
    4. eu-west-1の単一施設
  3. ユーザーは、”color = red” というコンテンツを持つ USスタンダードリージョンに S3 オブジェクトを持っています。ユーザーは、コンテンツを “color = white”としてオブジェクトを更新します。ユーザーがアップロードされてから1分後に値を読み取ろうとすると、S3 は何を返しますか?
    1. それは “color = white” を返します。
    2. それは “color = red” を返します。
    3. オブジェクトが見つからなかったというエラーが返されます。
    4. “color = red” または “color = white” すなわち、いずれかの値を返すことがあります。 (最終的な一貫性)

Jayendra’s Blog

この記事は自己学習用に「AWS S3 Data Consistency Model – Certification(Jayendra’s Blogより)」を日本語に訳した記事です。