建立複寫規則的先決條件 - Amazon S3 on Outposts

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立複寫規則的先決條件

連線您的來源和目的地 Outpost 子網路

若要讓您的複寫流量透過本機閘道從來源 Outpost 傳送到目的地 Outpost,您必須新增新路由來設定網路。您必須將存取點的無類別域間路由 (CIDR) 網路範圍連接在一起。對於每對存取點,您只需要設定一次此連線。

根據與存取點相關聯 Outposts 端點的存取類型,設定連線的某些步驟會有所不同。端點的存取類型可以是私有 (AWS Outposts 的直接虛擬私有雲端 [VPC] 路由) 或客戶擁有的 IP (內部部署網路中客戶擁有的 IP 地址集區 [CoIP 集區])。

步驟 1:尋找來源 Outposts 端點的 CIDR 範圍

尋找與來源存取點相關聯來源端點的 CIDR 範圍
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇 Outposts buckets (Outposts 儲存貯體)。

  3. Outposts 儲存貯體清單中,選擇您要進行複寫的來源儲存貯體。

  4. 選擇 Outposts 存取點索引標籤,然後針對複寫規則選擇來源儲存貯體的 Outposts 存取點。

  5. 選擇 Outposts 端點。

  6. 複製要在步驟 5 中使用的子網路 ID。

  7. 您用來尋找來源 Outposts 端點 CIDR 範圍的方法取決於端點的存取類型。

    Outposts 端點概觀區段中,請參閱存取類型

    • 如果存取類型為私有,請複製要在步驟 6 中使用的無類別域間路由 (CIDR) 值。

    • 如果存取類型為客戶擁有的 IP,請執行下列動作:

      1. 複製客戶擁有的 IPv4 集區值,以便稍後使用做為地址集區的 ID。

      2. 於 AWS Outpostshttps://console.aws.amazon.com/outposts/ 開啟 主控台。

      3. 在導覽窗格中,選擇本機閘道路由表

      4. 選擇來源 Outpost 的本機閘道路由表 ID 值。

      5. 在詳細資訊窗格中,選擇 CoIP 集區索引標籤。將先前所複製 CoIP 集區 ID 的值貼到搜尋方塊中。

      6. 對於相符的 CoIP 集區,複製來源 Outposts 端點的對應 CIDR 值,以便在步驟 6 中使用。

步驟 2:尋找目的地 Outposts 端點的子網路 ID 和 CIDR 範圍

若要尋找與目的地存取點相關聯目的地端點的子網路 ID 和 CIDR 範圍,請遵循步驟 1 中的相同子步驟,並在套用這些子步驟時,將來源 Outposts 端點變更為目的地 Outposts 端點。複製目的地 Outposts 端點的子網路 ID 值,以便在步驟 6 中使用。複製目的地 Outposts 端點的 CIDR 值,以便在步驟 5 中使用。

步驟 3:尋找來源 Outpost 的本機閘道 ID

尋找來源 Outpost 的本機閘道 ID
  1. 於 AWS Outpostshttps://console.aws.amazon.com/outposts/ 開啟 主控台。

  2. 在左側導覽窗格中,選擇本機閘道

  3. 本機閘道頁面上,尋找您要用於複寫來源 Outpost 的 Outpost ID。

  4. 複製來源 Outpost 的本機閘道 ID 值,以便在步驟 5 中使用。

如需本機閘道的詳細資訊,請參閱《AWS Outposts 使用者指南》中的本機閘道

步驟 4:尋找目的地 Outpost 的本機閘道 ID

若要尋找目的地 Outpost 的本機閘道 ID,請遵循步驟 3 中的相同子步驟,但尋找目的地 Outpost 的 Outpost ID 步驟除外。複製目的地 Outpost 的本機閘道 ID 值,以便在步驟 6 中使用。

步驟 5:設定從來源 Outpost 子網路到目的地 Outpost 子網路的連線

從來源 Outpost 子網路連線至目的地 Outpost 子網路
  1. 登入 AWS Management Console,並在 https://console.aws.amazon.com/vpc/ 開啟 VPC 主控台。

  2. 在左側導覽窗格中,選擇 Subnets (子網路)。

  3. 在搜尋方塊中,輸入您在步驟 1 中所找到來源 Outposts 端點的子網路 ID。選擇具有相符子網路 ID 的子網路。

  4. 對於相符的子網路項目,請選擇此子網路的路由表值。

  5. 在具有所選路由表的頁面上,選擇動作,然後選擇編輯路由

  6. 路由標籤中,選擇編輯路由

  7. 目的地下,輸入您在步驟 2 中所找到目的地 Outposts 端點的 CIDR 範圍。

  8. 目標下,選擇 Outpost 本機閘道,然後輸入您在步驟 3 中所找到來源 Outpost 的本機閘道 ID。

  9. 選擇 Save changes (儲存變更)。

  10. 確定路由的狀態作用中

步驟 6:設定從目的地 Outpost 子網路到來源 Outpost 子網路的連線

  1. 登入 AWS Management Console,並在 https://console.aws.amazon.com/vpc/ 開啟 VPC 主控台。

  2. 在左側導覽窗格中,選擇 Subnets (子網路)。

  3. 在搜尋方塊中,輸入您在步驟 2 中所找到目的地 Outposts 端點的子網路 ID。選擇具有相符子網路 ID 的子網路。

  4. 對於相符的子網路項目,請選擇此子網路的路由表值。

  5. 在具有所選路由表的頁面上,選擇動作,然後選擇編輯路由

  6. 路由標籤中,選擇編輯路由

  7. 目的地下,輸入您在步驟 1 中所找到來源 Outposts 端點的 CIDR 範圍。

  8. 目標下,選擇 Outpost 本機閘道,然後輸入您在步驟 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 的 Outpost 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:ReplicateObjects3-outposts:ReplicateDeleteDESTINATION-OUTPOSTS-BUCKET 儲存貯體 (目的地儲存貯體) 中所有物件上這些動作的許可,其允許 S3 on Outposts 將物件或刪除標記複寫至目的地 Outposts 儲存貯體。如需刪除標記的資訊,請參閱 刪除操作對複寫的影響

      注意
      • DESTINATION-OUTPOSTS-BUCKET 儲存貯體 (目的地儲存貯體) 上 s3-outposts:ReplicateObject 動作的許可也允許複寫物件標籤。因此,您不需要明確授予 s3-outposts:ReplicateTags 動作的許可。

      • 對於跨帳戶複寫,目的地 Outposts 儲存貯體的擁有者必須更新其儲存貯體政策,以授予對 DESTINATION-OUTPOSTS-BUCKETs3-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 儲存貯體的擁有者必須更新目的地儲存貯體的儲存貯體和存取點政策。這些政策必須對來源 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 儲存貯體擁有者將 s3-outposts:GetObjectVersionTaggings3-outposts:ReplicateTags 動作的許可授予 S3 on Outposts 來複寫物件標籤 (透過 IAM 角色),Amazon S3 會連同物件一起複寫標籤。如需 IAM 角色的資訊,請參閱 建立 IAM 角色