透過 IPv6 向 S3 on Outposts 提出請求 - Amazon S3 on Outposts

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

透過 IPv6 向 S3 on Outposts 提出請求

Amazon S3 on Outposts 和 S3 on Outposts 雙堆疊端點支援使用 IPv6 或 IPv4 通訊協定,對 S3 on Outposts 儲存貯體提出請求。有了 S3 on Outposts 的 IPv6 支援,您可以使用 S3 on Outposts API 來透過 IPv6 網路存取和操作儲存貯體和控制平面資源。

注意

IPv6 網路不支援 S3 on Outposts 物件動作 (例如 PutObjectGetObject)。

透過 IPv6 網路存取 S3 on Outposts 不另行收費。如需有關 S3 on Outposts 的詳細資訊,請參閱 S3 on Outposts 定價

IPv6 入門

若要透過 IPv6 向 S3 on Outposts 儲存貯體提出請求,您必須使用雙堆疊端點。下節說明如何使用雙堆疊端點透過 IPv6 提出請求。

下列是嘗試透過 IPv6 存取 S3 on Outposts 儲存貯體之前的重要考量:

  • 存取儲存貯體的用戶端與網路必須啟用才能使用 IPv6。

  • 虛擬託管式與路徑式請求都支援 IPv6 存取。如需詳細資訊,請參閱使用 S3 on Outposts 雙堆疊端點

  • 如果您在 AWS Identity and Access Management (IAM) 使用者或 S3 on Outposts 儲存貯體政策中使用來源 IP 地址篩選,則必須更新政策以包含 IPv6 地址範圍。

    注意

    此要求僅適用於 S3 on Outposts 儲存貯體操作,以及跨 IPv6 網路的控制平面資源。IPv6 網路不支援 Amazon S3 on Outposts 物件動作

  • 使用 IPv6 時,伺服器會存取 IPv6 格式的日誌檔案輸出 IP 地址。您必須更新用來剖析 S3 on Outposts 日誌檔案的現有工具、指令碼與軟體,讓這些項目可以剖析 IPv6 格式的遠端 IP 位址。然後,更新的工具、指令碼和軟體將正確剖析 IPv6 格式的遠端 IP 位址。

使用雙堆疊端點來透過 IPv6 網路提出請求

若要透過 IPv6 使用 S3 on Outposts API 呼叫提出請求,您可以透過 AWS CLI 或 AWS SDK 使用雙堆疊端點。無論是透過 IPv6 通訊協定或 IPv4 通訊協定存取 S3 on Outposts,Amazon S3 控制 API 操作S3 on Outposts API 操作的運作方式都相同。不過,請注意,IPv6 網路不支援 S3 on Outposts 物件動作 (例如 PutObjectGetObject)。

使用 AWS Command Line Interface (AWS CLI) 和 AWS SDKs時,您可以使用參數或旗標來變更為雙堆疊端點。您也可以直接指定雙堆疊端點來覆寫組態檔中的 S3 on Outposts 端點。

您可以使用雙堆疊端點,從下列任一位置透過 IPv6 存取 S3 on Outposts 儲存貯體:

在 IAM 原則中使用 IPv6 地址

在嘗試使用 IPv6 通訊協定存取 S3 on Outposts 儲存貯體之前,請確保用於 IP 位址篩選條件的 IAM 使用者或 S3 on Outposts 儲存貯體政策皆已更新,以包含 IPv6 位址範圍。如果未更新 IP 位址篩選政策以處理 IPv6 位址,則嘗試使用 IPv6 通訊協定時,可能會失去對 S3 on Outposts 儲存貯體的存取權。

篩選 IP 位址的 IAM 政策使用 IP 位址條件運算子。下列 S3 on Outposts 儲存貯體政策會使用 IP 位址條件運算子找出允許之 IPv4 位址的 54.240.143.* IP 範圍。拒絕此範圍外的任何 IP 位址存取 S3 on Outposts 儲存貯體 (DOC-EXAMPLE-BUCKET)。因為所有的 IPv6 地址都在允許的範圍外,所以此原則可避免 IPv6 地址得以存取 DOC-EXAMPLE-BUCKET

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Principal": "*", "Action": "s3outposts:*", "Resource": "arn:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/DOC-EXAMPLE-BUCKET/*", "Condition": { "IpAddress": {"aws:SourceIp": "54.240.143.0/24"} } } ] }

您可以修改 S3 on Outposts 儲存貯體政策的 Condition 元素,允許 IPv4 (54.240.143.0/24) 與 IPv6 (2001:DB8:1234:5678::/64) 位址範圍,如下列範例所示。您可使用本例所示的同類型 Condition 區塊,更新您的 IAM 使用者與儲存貯體原則。

"Condition": { "IpAddress": { "aws:SourceIp": [ "54.240.143.0/24", "2001:DB8:1234:5678::/64" ] } }

使用 IPv6 之前,您必須更新所有相關的 IAM 使用者與儲存貯體原則,它們會使用 IP 地址篩選條件允許 IPv6 地址範圍。除現有的 IPv4 地址範圍外,建議您也更新 IAM 原則的貴組織 IPv6 地址範圍。如需允許透過 IPv6 與 IPv4 存取的儲存貯體原則範例,請參閱限制針對特定 IP 位址的存取

您可以使用 https://console.aws.amazon.com/iam/的 IAM 主控台來檢閱 IAM 使用者原則。如需 IAM 的詳細資訊,請參閱《IAM 使用者指南》。如需有關編輯 S3 on Outposts 儲存貯體政策的資訊,請參閱新增或編輯 Amazon S3 on Outposts 儲存貯體的儲存貯體政策

測試 IP 地址相容性

如果您使用的是 Linux 或 Unix 執行個體,或 macOS X 平台,您可以透過 IPv6 測試對雙堆疊端點的存取權。例如,若要透過 IPv6 測試與 Amazon S3 on Outposts 端點的連線,請使用 dig 命令:

dig s3-outposts.us-west-2.api.aws AAAA +short

如果 IPv6 網路上的雙堆疊端點經過正確設定,則 dig 命令會傳回連線的 IPv6 位址。例如:

dig s3-outposts.us-west-2.api.aws AAAA +short 2600:1f14:2588:4800:b3a9:1460:159f:ebce 2600:1f14:2588:4802:6df6:c1fd:ef8a:fc76 2600:1f14:2588:4801:d802:8ccf:4e04:817

S3 on Outposts 支援 AWS PrivateLink 服務和端點的 IPv6 通訊協定。透過 IPv6 通訊協定的 AWS PrivateLink 支援,您可以透過 IPv6 網路,從內部部署或其他私有連線連線至 VPC 內的服務端點。AWS PrivateLink 適用於 S3 on Outposts 的 IPv6 支援也可讓您 AWS PrivateLink 與雙堆疊端點整合。如需如何為 啟用 IPv6 的步驟 AWS PrivateLink,請參閱使用 AWS PrivateLink 服務和端點加速採用 IPv6

注意

若要將支援的 IP 位址類型從 IPv4 更新為 IPv6,請參閱《AWS PrivateLink 使用者指南》中的修改支援的 IP 位址類型

如果您使用 AWS PrivateLink 搭配 IPv6,則必須建立 IPv6 或雙堆疊 VPC 介面端點。如需如何使用 建立 VPC 端點的一般步驟 AWS Management Console,請參閱AWS PrivateLink 《 使用者指南》中的使用介面 VPC 端點存取 AWS 服務

AWS Management Console

使用下列程序建立連線至 S3 on Outposts 的介面 VPC 端點。

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

  2. 在導覽窗格中選擇端點

  3. 選擇建立端點

  4. Service category (服務類別) 中,選擇​ AWS services

  5. 針對服務名稱,選擇 S3 on Outposts 服務 (com.amazonaws.us-east-1.s3-outposts)。

  6. 對於 VPC,請選擇您將從中存取 S3 on Outposts 的 VPC。

  7. 對於子網路,為每個可用區域選取一個子網路,您將從中存取 S3 on Outposts。您無法在相同的可用區域內選取多個子網路。系統會為您選取的每個子網路建立新的端點網路介面。系統預設會將子網路 IP 位址範圍的 IP 位址指派給端點網路介面。若要指定端點網路介面的 IP 位址,請選擇指定 IP 地址,並在子網路位址範圍輸入 IPv6 位址。

  8. 對於 IP 位址類型,請選擇 Dualstack。將 IPv4 和 IPv6 位址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 和 IPv6 地址範圍時,才支援此選項。

  9. 對於安全群組,選擇要與 VPC 端點的端點網路界面建立關聯的安全群組。預設安全群組預設會與 VPC 建立關聯。

  10. 針對政策,選擇完整存取,以允許 VPC 端點上所有資源的所有主體進行所有操作。否則,選擇自訂以連接 VPC 端點政策,該政策會控制主體在 VPC 端點上對資源執行操作所擁有的許可。只有服務支援 VPC 端點政策時,此選項才可用。如需詳細資訊,請參閱端點政策

  11. (選用) 若要新增標籤,請選擇 Add new tag (新增標籤),然後輸入標籤的鍵和值。

  12. 選擇建立端點

範例 - S3 on Outposts 儲存貯體政策

若要允許 S3 on Outposts 與您的 VPC 端點互動,您可以更新 S3 on Outposts 政策,如下所示:

{ "Statement": [ { "Effect": "Allow", "Action": "s3-outposts:*", "Resource": "*", "Principal": "*" } ] }
AWS CLI
注意

若要在 VPC 端點上啟用 IPv6 網路,您必須為 S3 on Outposts 的 SupportedIpAddressType 篩選條件設定 IPv6

下列範例使用 create-vpc-endpoint 命令來建立新的雙堆疊介面端點。

aws ec2 create-vpc-endpoint \ --vpc-id vpc-12345678 \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.us-east-1.s3-outposts \ --subnet-id subnet-12345678 \ --security-group-id sg-12345678 \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack"

根據 AWS PrivateLink 服務組態,新建立的端點連線可能需要由 VPC 端點服務提供者接受,才能使用。如需詳細資訊,請參閱《AWS PrivateLink 使用者指南》中的接受和拒絕端點連線請求

下列範例使用 modify-vpc-endpoint 命令,將僅限 IPv 的 VPC 端點更新為雙堆疊端點。雙堆疊端點允許存取 IPv4 和 IPv6 網路。

aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-12345678 \ --add-subnet-ids subnet-12345678 \ --remove-subnet-ids subnet-12345678 \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack"

如需如何啟用 IPv6 網路的詳細資訊 AWS PrivateLink,請參閱使用 AWS PrivateLink 服務和端點加速採用 IPv6