レプリケーションルールの作成の前提条件 - Amazon S3 on Outposts

レプリケーションルールの作成の前提条件

レプリケート元とレプリケート先の Outpost サブネットの接続

レプリケーショントラフィックをレプリケート元 Outpost からレプリケート先 Outpost にローカルゲートウェイ経由で送信するには、新しいルートを追加してネットワークを設定する必要があります。アクセスポイントの Classless Inter-Domain Routing (CIDR) ネットワーク範囲を相互に接続する必要があります。アクセスポイントのペアごとに、この接続を一度だけセットアップする必要があります。

接続を設定する手順は、アクセスポイントに関連付けられている Outposts エンドポイントのアクセスタイプによって異なります。エンドポイントのアクセスタイプは、[プライベート] (AWS Outposts のルーティング用直接仮想プライベートクラウド (VPC)) または [カスタマー所有の IP] (オンプレミスネットワーク内のカスタマー所有の IP アドレスプール [CoIP プール]) のいずれかです。

ステップ 1: レプリケート元 Outposts エンドポイントの CIDR 範囲を確認する

レプリケート元アクセスポイントに関連付けられているレプリケート元エンドポイントの CIDR 範囲を確認するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左のナビゲーションペインで、[Outposts buckets] (Outposts バケット) を選択します。

  3. [Outposts バケット] リストで、レプリケーションに必要なレプリケート元バケットを選択します。

  4. [Outposts アクセスポイント] タブを選択し、レプリケーションルールのレプリケート元バケットの Outposts アクセスポイントを選択します。

  5. Outposts エンドポイントを選択します。

  6. ステップ 5 で使用するサブネット ID をコピーします。

  7. レプリケート元 Outposts エンドポイントの CIDR 範囲を見つけるために使用する方法は、エンドポイントのアクセスタイプによって異なります。

    Outposts エンドポイントの概要セクションで、「アクセスタイプ」を参照してください。

    • アクセスタイプが [プライベート] の場合は、Classless Inter-Domain Routing (CIDR) 値をコピーしてステップ 6 で使用します。

    • アクセスタイプが [カスタマー所有の IP] の場合は、次の操作を行います。

      1. お客様所有の IPv4 プール値をコピーして、後でアドレスプールの ID として使用します。

      2. AWS Outposts コンソール (https://console.aws.amazon.com/outposts/) を開きます。

      3. ナビゲーションペインで [ローカルゲートウェイのルートテーブル] をクリックします。

      4. レプリケート元 Outpost のローカルゲートウェイルートテーブル ID 値を選択します。

      5. 詳細ペインの [CoIP プール] タブを選択します。以前にコピーした CoIP プール ID の値を検索ボックスに貼り付けます。

      6. 一致した CoIP プールについては、ステップ 6 で使用するレプリケート元 Outposts エンドポイントの対応する CIDR 値をコピーします。

ステップ 2: レプリケート先の Outposts エンドポイントのサブネット ID と CIDR 範囲を確認する

レプリケート先アクセスポイントに関連付けられているレプリケート先エンドポイントのサブネット ID と CIDR 範囲を確認するには、ステップ 1 と同じ手順に従い、それらのサブステップを適用するときに、レプリケート元 Outposts エンドポイントをレプリケート先 Outposts エンドポイントに変更します。ステップ 6 で使用するために、レプリケート先 Outposts エンドポイントのサブネット ID 値をコピーします。ステップ 5 で使用するために、レプリケート先 Outposts エンドポイントの CIDR 値をコピーします。

ステップ 3: レプリケート元 Outpost のローカルゲートウェイ ID を確認する

レプリケート元 Outpost のローカルゲートウェイ ID を確認するには
  1. AWS Outposts コンソール (https://console.aws.amazon.com/outposts/) を開きます。

  2. 左のナビゲーションペインで [ローカルゲートウェイ] を選択します。

  3. [ローカルゲートウェイ] ページで、レプリケーションに使用するレプリケート元 Outpost ID を確認します。

  4. ステップ 5 で使用するために、レプリケート元 Outpost のローカルゲートウェイ ID 値をコピーします。

ローカルゲートウェイの詳細については、AWS Outposts ユーザーガイドの「Local gateway」(ローカルゲートウェイ) を参照してください。

ステップ 4: レプリケート先 Outpost のローカルゲートウェイ ID を確認する

レプリケート先 Outpost のローカルゲートウェイ ID を確認するには、レプリケート先の Outpost ID を検索する点を除き、ステップ 3 と同じサブステップに従います。ステップ 6 で使用するために、レプリケート先 Outpost のローカルゲートウェイ ID 値をコピーします。

ステップ 5: レプリケート元 Outpost サブネットからレプリケート先 Outpost サブネットへの接続をセットアップする

レプリケート元 Outpost サブネットからレプリケート先 Outpost サブネットに接続するには
  1. AWS Management Console にサインインして、VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. 左側のナビゲーションペインで [Subnets] (サブネット) を選択します。

  3. 検索ボックスに、ステップ 1 で確認したレプリケート元 Outposts エンドポイントのサブネット ID を入力します。一致するサブネット ID のサブネットを選択します。

  4. 一致するサブネット項目には、このサブネットのルートテーブル値を選択します。

  5. ルートテーブルが選択されたページで、[アクション] を選択し、次に [ルートの編集] を選択します。

  6. [ルートの編集] タブで、[ルートの追加] を選択します。

  7. [送信先] に、ステップ 2 で確認したレプリケート先 Outposts エンドポイントの CIDR 範囲を入力します。

  8. [ターゲット][Outpost Local Gateway] を選択し、ステップ 3 で見つけたレプリケート元 Outpost のローカルゲートウェイ ID を入力します。

  9. [Save changes] (変更の保存) をクリックします。

  10. ルートのステータス[アクティブ] であることを確認します。

ステップ 6: レプリケート先 Outpost サブネットからレプリケート元 Outpost サブネットへの接続をセットアップする

  1. AWS Management Console にサインインして、VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. 左側のナビゲーションペインで [Subnets] (サブネット) を選択します。

  3. 検索ボックスに、ステップ 2 で確認したレプリケート先 Outposts エンドポイントのサブネット ID を入力します。一致するサブネット ID のサブネットを選択します。

  4. 一致するサブネット項目には、このサブネットのルートテーブル値を選択します。

  5. ルートテーブルが選択されたページで、[アクション] を選択し、次に [ルートの編集] を選択します。

  6. [ルートの編集] タブで、[ルートの追加] を選択します。

  7. [送信先] に、ステップ 1 で確認したレプリケート元 Outposts エンドポイントの CIDR 範囲を入力します。

  8. [ターゲット][Outpost Local Gateway] を選択し、ステップ 4 で見つけたレプリケート先 Outpost のローカルゲートウェイ ID を入力します。

  9. [Save changes] (変更の保存) をクリックします。

  10. ルートのステータス[アクティブ] であることを確認します。

レプリケート元とレプリケート先のアクセスポイントの CIDR ネットワーク範囲を接続したら、AWS Identity and Access Management (IAM) ロールを作成する必要があります。

IAM ロールの作成

デフォルトで、すべての S3 on Outposts リソース (バケット、オブジェクト、関連するサブリソース) はプライベートであり、リソース所有者のみがリソースにアクセスできます。S3 on Outposts には、ソース Outposts バケットからオブジェクトを読み取って、レプリケートするアクセス許可が必要です。IAM サービスロールを作成してこれらの許可を付与し、その後、レプリケーション設定でそのロールを指定します。

このセクションでは、信頼ポリシーと最低限必要なアクセス許可ポリシーについて説明します。チュートリアル例では、IAM ロールを作成するための手順をステップバイステップで説明しています。詳細については、「Outposts でのレプリケーションルールの作成」を参照してください。IAM ロールの詳細については、IAM ユーザーガイドIAM ロールを参照してください。

  • 以下の例は、信頼ポリシーを示しています。ここでは、このロールを引き受けることができるサービスプリンシパルとして S3 on Outposts を特定します。

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3-outposts.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  • 以下の例は、アクセスポリシーを示しています。ここでは、ユーザーに代わってレプリケーションタスクを実行する権許可をロールに付与します。S3 on Outposts がこのロールを引き受ける場合、このポリシーで指定されたアクセス許可を持つことになります。このポリシーを使用するには、user input placeholders をユーザー自身の情報に置き換えます。レプリケート元とレプリケート先 Outposts の Outposts ID およびレプリケート元とレプリケート先 Outposts バケットのバケット名とアクセスポイント名に置き換えてください。

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3-outposts:GetObjectVersionForReplication", "s3-outposts:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET/object/*", "arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/accesspoint/SOURCE-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] }, { "Effect":"Allow", "Action":[ "s3-outposts:ReplicateObject", "s3-outposts:ReplicateDelete" ], "Resource":[ "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*", "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] } ] }

    アクセスポリシーは、以下のアクションに対するアクセス許可を付与します。

    • s3-outposts:GetObjectVersionForReplication — このアクションのためのアクセス許可はすべてのオブジェクトに付与され、各オブジェクトに関連する特定のオブジェクトバージョンを S3 on Outposts が取得できるようにします。

    • s3-outposts:GetObjectVersionTaggingSOURCE-OUTPOSTS-BUCKET バケット (レプリケート元バケット) のオブジェクトに対するこのアクションのアクセス許可により、S3 on Outposts はレプリケーションのためにオブジェクトタグを読み取ることができるようになります。詳細については、「S3 on Outposts バケットのタグの追加」を参照してください。S3 on Outposts にこのアクセス許可がない場合は、オブジェクトはレプリケートされますが、オブジェクトタグはレプリケートされません。

    • s3-outposts:ReplicateObject および s3-outposts:ReplicateDeleteDESTINATION-OUTPOSTS-BUCKET バケットのオブジェクトに属すこれらのアクションの許可により、S3 on Outposts はレプリケート先 Outposts バケットにオブジェクトまたは削除マーカーをレプリケートできます。削除マーカーの詳細については、「削除オペレーションがレプリケーションに与える影響」を参照してください。

      注記
      • DESTINATION-OUTPOSTS-BUCKET バケット (レプリケート先バケット) に対する s3-outposts:ReplicateObject アクションのアクセス権限により、オブジェクトタグのレプリケーションも許可されます。したがって、s3-outposts:ReplicateTags アクションのアクセス許可を明示的に付与する必要はありません。

      • クロスアカウントレプリケーションの場合、レプリケート先 Outposts バケットの所有者がバケットポリシーを更新して、DESTINATION-OUTPOSTS-BUCKET での s3-outposts:ReplicateObject アクションに対するアクセス許可を付与する必要があります。s3-outposts:ReplicateObject アクションにより、S3 on Outposts はレプリケート先 Outposts バケットにオブジェクトおよびオブジェクトタグをレプリケートできます。

    S3 on Outposts アクションのリストについては、「S3 on Outposts によって定義されたアクション」を参照してください。

    重要

    IAM ロールを所有する AWS アカウントは、IAM ロールに付与するアクションの許可を持っている必要があります。

    例えば、レプリケート元 Outposts バケットに別の AWS アカウントが所有するオブジェクトが含まれていたとします。オブジェクトの所有者は、IAM ロールを所有する AWS アカウントに、バケットポリシーとアクセスポイントポリシーを介して必要なアクセス許可を明示的に付与する必要があります。そうでない場合、S3 on Outposts はオブジェクトにアクセスできず、オブジェクトのレプリケーションは失敗します。

    ここで説明されているアクセス許可は、最小のレプリケーション設定に関連しています。オプションのレプリケーション設定を追加する場合は、追加のアクセス許可を S3 on Outposts に付与する必要があります。

レプリケーション元とレプリケーション先の Outposts バケットが異なる AWS アカウントによって所有されている場合のアクセス許可の付与

レプリケーション元とレプリケーション先の Outposts バケットが同じアカウントによって所有されていない場合、レプリケート先バケットの所有者は、バケットとレプリケート先バケットのアクセスポイントポリシーを更新する必要があります。これらのポリシーでは、次のポリシー例に示すように、レプリケート元 Outposts バケットの所有者と IAM サービスロールにレプリケーションアクションを実行するアクセス許可を付与する必要があり、そうしないと、レプリケーションは失敗します。このポリシーの例では、DESTINATION-OUTPOSTS-BUCKET はレプリケーション先バケットです。これらのポリシーの例を実行するには、user input placeholders をユーザー自身の情報に置き換えます。

IAM サービスロールを手動で作成する場合は、次のポリシー例に示すように、ロールパスを role/service-role/ として設定します。詳細については、「IAM ユーザーガイド」の「IAM ARN」を参照してください。

{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":[ "s3-outposts:ReplicateDelete", "s3-outposts:ReplicateObject" ], "Resource":[ "arn:aws:s3-outposts:region:DestinationBucket-account-ID:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*" ] } ] }
{ "Version":"2012-10-17", "Id":"PolicyForDestinationAccessPoint", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":[ "s3-outposts:ReplicateDelete", "s3-outposts:ReplicateObject" ], "Resource" :[ "arn:aws:s3-outposts:region:DestinationBucket-account-ID:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] } ] }
注記

レプリケート元 Outposts バケットのオブジェクトがタグ付きの場合は、以下の点に注意してください。

レプリケート元の Outposts バケット所有者が (IAM ロールによって) オブジェクトタグをレプリケートするための s3-outposts:GetObjectVersionTagging および s3-outposts:ReplicateTags アクションのアクセス許可を S3 on Outposts に付与した場合、Amazon S3 はオブジェクトと共にタグをレプリケートします。IAM ロールに関する詳細は、「IAM ロールの作成」を参照してください。