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

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

為公用傳入流量啟用 IPv6

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

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

應用程序運行器僅支持公共應用運行器服務端點的雙堆棧。對於所有應用程序運行器私有服務,僅支持 IPv4。

注意

當您將 IP 地址類型設置為雙堆棧,並將網絡配置從公共端點更改為私有端點時,App Runner 將自動將您的地址類型更改為 IPv4。這是因為應用程式執行器僅針對公用端點支援 IPv6。

瞭解有關 IPv4 與 IPv6 的背景資訊

IPv4 網路層 (通常用於在網際網路上路由傳送網路流量) 使用 32 位元位址配置。這個位址空間有限,而且可能會用盡大量的網路裝置。因此,網路位址轉譯 (NAT) 通常用於透過單一公用網路位址路由多個 IPv4 位址。

IPv6 是網際網路通訊協定的較新版本,以 IPv4 為基礎,並使用 128 位元定址配置擴充位址空間。使用 IPv6,您可以使用幾乎無限數量的連接設備來構建網絡。由於網路位址數量龐大,IPv6 不需要 NAT。

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

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

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

應用程式執行器

當您使用 App Runner 主控台建立服務時,或稍後更新其設定時,您可以為內送網際網路流量選擇雙堆疊位址類型。

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

  2. 針對 [內送網路流量] 選擇 [公用端點]。公用端點 IP 位址類型選項隨即開啟。

  3. 展開「公用端點 IP 位址類型」以檢視下列 IP 位址類型。

    • IPv4

    • 雙堆疊 (IPv4 和 IPv6)

    注意

    如果您未展開公用端點 IP 位址類型來進行選取,則應用程式執行器會將 IPv4 指派為預設設定。

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

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

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

注意

目前,應用程式執行器僅針對公用端點支援 IPv6。在 Amazon 虛擬私有雲端 (Amazon VPC) 中託管的應用程式執行器服務不支援 IPv6 端點。如果您將使用雙堆疊公用端點的服務更新到私有端,則 App Runner 服務將預設為僅支援來自 IPv4 端點的流量,且無法從 IPv6 端點接收流量。

若要變更地址類型
  1. 按照以下步驟更新服務並導航到網絡。

  2. 瀏覽至 [內送網路流量] 下的 [公用端點 IP 位址類型],然後選取所需的位址類型。

  3. 選擇儲存變更。您的服務會根據您的選擇進行更新。

應用程序運行器 API 或 AWS CLI

當您呼叫CreateServiceUpdateService應用程式執行器 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" }
注意

目前,應用程式執行器僅針對公用端點支援 IPv6。在 Amazon 虛擬私有雲端 (Amazon VPC) 中託管的應用程式執行器服務不支援 IPv6 端點。如果您將使用雙堆疊公用端點的服務更新到私有端,則 App Runner 服務將預設為僅支援來自 IPv4 端點的流量,且無法從 IPv6 端點接收流量。

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