為公有傳入流量啟用 IPv6 - AWS App Runner

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

為公有傳入流量啟用 IPv6

如果您希望您的服務接收來自 IPv6 地址或 IPv4 和 IPv6 地址的傳入網路流量,請選擇公有端點的雙堆疊地址類型。當您建立新的應用程式時,您可以在設定服務 > 網路區段下找到此設定。如需如何使用 App Runner 主控台或 App Runner API 啟用 IPv6 的詳細資訊,請參閱管理公有傳入流量的雙堆疊

如需在 上採用 IPv6 的詳細資訊 AWS,請參閱在 上採用 IPv6 AWS

App Runner 僅支援公有 App Runner 服務端點的雙堆疊。對於所有 App Runner 私有服務,僅支援 IPv4。

注意

當您將 IP 地址類型設定為雙堆疊,並將網路組態從公有端點變更為私有端點時,App Runner 會自動將您的地址類型變更為 IPv4。這是因為 App Runner 僅支援公有端點的 IPv6。

了解 IPv4 與 IPv6 的背景資訊

IPv4 網路層,通常用於透過網際網路路由網路流量,使用 32 位元地址方案。此地址空間有限,且可用大量網路裝置耗盡。因此,網路地址轉譯 (NAT) 通常用於透過單一公有網路地址路由多個 IPv4 地址。

IPv6 是較新版本的網際網路通訊協定,以 IPv4 為基礎,並使用 128 位元定址機制擴展地址空間。透過 IPv6,您可以使用幾乎無限數量的連線裝置建置網路。由於網路地址數量龐大,IPv6 不需要 NAT。

IPv4 和 IPv6 端點彼此不相容,因為 IPv4 端點無法接收傳入 IPv6 流量,反之亦然。雙堆疊提供方便的解決方案,可同時支援 IPv4 和 IPv6 網路流量。

管理公有傳入流量的雙堆疊

使用下列其中一種方法來管理公有傳入流量的雙堆疊地址類型:

App Runner 主控台

您可以選擇傳入網際網路流量的雙堆疊地址類型、使用 App Runner 主控台建立服務時,或稍後更新其組態時。

啟用雙堆疊地址類型
  1. 建立更新服務時,請展開設定服務下的聯網區段。

  2. 針對傳入網路流量選擇公有端點公有端點 IP 地址類型選項隨即開啟。

  3. 展開公有端點 IP 地址類型以檢視下列 IP 地址類型。

    • IPv4

    • 雙堆疊 (IPv4 和 IPv6)

    注意

    如果您未展開公有端點 IP 地址類型以進行選擇,則 App Runner 會將 IPv4 指派為預設組態。

  4. 選擇雙堆疊 (IPv4 和 IPv6)

  5. 如果您要建立服務,請選擇下一步,然後選擇建立和部署。否則,如果您要更新服務,請選擇儲存變更

    部署服務時,您的應用程式會開始接收來自 IPv4 和 IPv6 端點的網路流量。

注意

目前,App Runner 僅支援公有端點的 IPv6。Amazon Virtual Private Cloud (Amazon VPC) 中託管的 App Runner 服務不支援 IPv6 端點。如果您將使用雙堆疊公有端點的服務更新為私有端點,則您的 App Runner 服務將預設為僅支援來自 IPv4 端點的流量,且無法接收來自 IPv6 端點的流量。

變更地址類型
  1. 依照步驟更新服務並導覽至聯網。

  2. 導覽至傳入網路流量下的公有端點 IP 地址類型,然後選取所需的地址類型。

  3. 選擇 Save changes (儲存變更)。您的服務會隨著您的選擇而更新。

App Runner API 或 AWS CLI

當您呼叫 CreateServiceUpdateService App Runner API 動作時,請使用 NetworkConfiguration 參數IpAddressType的成員來指定地址類型。您可以指定的支援值為 IPv4DUAL_STACK。指定DUAL_STACK您是否希望服務接收來自 IPv4 和 IPv6 端點的網際網路流量。如果您未指定 的任何值IpAddressType,預設會套用 IPv4。

以下是使用雙堆疊做為 IP 地址建立服務的範例。此範例會呼叫 input.json 檔案。

範例 請求建立具有雙堆疊支援的服務
aws apprunner create-service \ --cli-input-json file://input.json
範例 input.json 的內容
{ "ServiceName": "example-service", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "public.ecr.aws/aws-containers/hello-app-runner:latest", "ImageConfiguration": { "Port": "8000" }, "ImageRepositoryType": "ECR_PUBLIC" }, "NetworkConfiguration": { "IpAddressType": "DUAL_STACK" } } }
範例 回應
{ "Service": { "ServiceName": "example-service", "ServiceId": "<service-id>", "ServiceArn": "arn:aws:apprunner:us-east-2:123456789012:service/example-service/<service-id>", "ServiceUrl": "1234567890.us-east-2.awsapprunner.com", "CreatedAt": "2023-10-16T12:30:51.724000-04:00", "UpdatedAt": "2023-10-16T12:30:51.724000-04:00", "Status": "OPERATION_IN_PROGRESS", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "public.ecr.aws/aws-containers/hello-app-runner:latest", "ImageConfiguration": { "Port": "8000" }, "ImageRepositoryType": "ECR_PUBLIC" }, "AutoDeploymentsEnabled": false }, "InstanceConfiguration": { "Cpu": "1024", "Memory": "2048" }, "HealthCheckConfiguration": { "Protocol": "TCP", "Path": "/", "Interval": 5, "Timeout": 2, "HealthyThreshold": 1, "UnhealthyThreshold": 5 }, "AutoScalingConfigurationSummary": { "AutoScalingConfigurationArn": "arn:aws:apprunner:us-east-2:123456789012:autoscalingconfiguration/DefaultConfiguration/1/00000000000000000000000000000001", "AutoScalingConfigurationName": "DefaultConfiguration", "AutoScalingConfigurationRevision": 1 }, "NetworkConfiguration": { "IpAddressType": "DUAL_STACK", "EgressConfiguration": { "EgressType": "DEFAULT" }, "IngressConfiguration": { "IsPubliclyAccessible": true } } }, "OperationId": "24bd100b1e111ae1a1f0e1115c4f11de" }
注意

目前,App Runner 僅支援公有端點的 IPv6。Amazon Virtual Private Cloud (Amazon VPC) 中託管的 App Runner 服務不支援 IPv6 端點。如果您將使用雙堆疊公有端點的服務更新到私有端點,則您的 App Runner 服務預設僅支援來自 IPv4 端點的流量,且無法接收來自 IPv6 端點的流量。

如需 API 參數的詳細資訊,請參閱 NetworkConfiguration