本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為公用傳入流量啟用 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 主控台建立服務時,或稍後更新其設定時,您可以為內送網際網路流量選擇雙堆疊位址類型。
啟用雙堆疊位址類型
注意
目前,應用程式執行器僅針對公用端點支援 IPv6。在 Amazon 虛擬私有雲端 (Amazon VPC) 中託管的應用程式執行器服務不支援 IPv6 端點。如果您將使用雙堆疊公用端點的服務更新到私有端點,則 App Runner 服務將預設為僅支援來自 IPv4 端點的流量,且無法從 IPv6 端點接收流量。
若要變更地址類型
-
按照以下步驟更新服務並導航到網絡。
-
瀏覽至 [內送網路流量] 下的 [公用端點 IP 位址類型],然後選取所需的位址類型。
選擇儲存變更。您的服務會根據您的選擇進行更新。
應用程序運行器 API 或 AWS CLI
當您呼叫CreateService或UpdateService應用程式執行器 API 動作時,請使用NetworkConfiguration
參數的IpAddressType
成員來指定位址類型。您可以指定的支援值為IPv4
和DUAL_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。