為傳入流量啟用私有端點 - AWS App Runner

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

為傳入流量啟用私有端點

根據預設,當您建立 AWS App Runner 服務時,可透過網際網路存取該服務。不過,您也可以將 App Runner 服務設為私有,並且只能在 Amazon Virtual Private Cloud (Amazon VPC) 內存取。

透過 App Runner 服務私有,您可以完全控制傳入流量,進而新增額外的安全層。這在各種使用案例中很有用,包括執行內部 APIs、企業 Web 應用程式,或仍在開發中且需要更高層級的隱私權和安全性的應用程式,或需要滿足特定合規要求的應用程式。

注意

如果您的 App Runner 應用程式需要來源 IP/CIDR 傳入流量控制規則,您必須對私有端點使用安全群組規則,而不是 WAF Web ACLs。這是因為我們目前不支援將請求來源 IP 資料轉送至與 WAF 相關聯的 App Runner 私有服務。因此,與 WAF Web ACLs 相關聯的 App Runner 私有服務的來源 IP 規則不遵守以 IP 為基礎的規則。

若要進一步了解基礎設施安全和安全群組,包括最佳實務,請參閱《Amazon VPC 使用者指南》中的下列主題:使用安全群組控制網路流量和控制 AWS 資源的流量。 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html

當您的 App Runner 服務為私有時,您可以從 Amazon VPC 內存取您的服務。不需要網際網路閘道、NAT 裝置或 VPN 連線。

注意

App Runner 目前僅支援公有傳入流量的雙堆疊 (IPv4 和 IPv6) 地址類型。對於傳出流量私有傳入流量,僅支援 IPv4。

考量事項

  • 在您設定 App Runner 的 VPC 介面端點之前,請檢閱 AWS PrivateLink 指南中的考量事項

  • App Runner 不支援 VPC 端點政策。根據預設,可透過 VPC 介面端點完整存取 App Runner。或者,您可以將安全群組與端點網路介面建立關聯,以控制透過 VPC 介面端點傳送至 App Runner 的流量。

  • 如果您的 App Runner 應用程式需要來源 IP/CIDR 傳入流量控制規則,您必須對私有端點使用安全群組規則,而不是 WAF Web ACLs。這是因為我們目前不支援將請求來源 IP 資料轉送至與 WAF 相關聯的 App Runner 私有服務。因此,與 WAF Web ACLs 相關聯的 App Runner 私有服務的來源 IP 規則不遵守以 IP 為基礎的規則。

  • 啟用私有端點之後,您的服務只能從 VPC 存取,而且無法從網際網路存取。

  • 為了提高可用性,建議您為 VPC 介面端點在可用區域之間至少選取兩個不同的子網路。我們不建議僅使用一個子網路。

  • 您可以使用相同的 VPC 介面端點來存取 VPC 中的多個 App Runner 服務。

如需本節所用詞彙的資訊,請參閱術語

許可

以下是啟用私有端點所需的許可清單:

  • ec2:CreateTags

  • ec2:CreateVpcEndpoint

  • ec2:ModifyVpcEndpoint

  • ec2:DeleteVpcEndpoints

  • ec2:DescribeSubnets

  • ec2:DescribeVpcEndpoints

  • ec2:DescribeVpcs

VPC 介面端點

VPC 介面端點是將 Amazon VPC 連接到端點服務AWS PrivateLink的資源。您可以透過傳遞 VPC 介面端點,指定要在其中存取 App Runner 服務的 Amazon VPC。若要建立 VPC 介面端點,請指定下列項目:

  • 啟用連線的 Amazon VPC。

  • 新增安全群組。根據預設,安全群組會指派給 VPC 介面端點。您可以選擇建立自訂安全群組的關聯,以進一步控制傳入的網路流量。

  • 新增子網路。為了確保更高的可用性,建議您為存取 App Runner 服務的每個可用區域至少選取兩個子網路。網路介面端點會在您為 VPC 介面端點啟用的每個子網路中建立。這些是請求者管理的網路介面,可做為目的地為 App Runner 之流量的進入點。申請者受管的網路介面是 AWS 服務代表您在您的 VPC 中建立的網路介面。

  • 如果您使用 API,請新增 App Runner VPC 介面端點 Servicename。例如

    com.amazonaws.region.apprunner.requests

您可以使用下列其中一項 AWS 服務來建立 VPC 介面端點:

注意

您需要為根據AWS PrivateLink 定價使用的每個 VPC 介面端點付費。因此,為了提高成本效益,您可以使用相同的 VPC 介面端點來存取 VPC 中的多個 App Runner 服務。不過,為了提高隔離能力,請考慮為每個 App Runner 服務建立不同的 VPC 介面端點關聯。

VPC Ingress Connection

VPC 輸入連線是 App Runner 資源,可指定傳入流量的 App Runner 端點。當您在 App Runner 主控台上為傳入流量選擇私有端點時,App Runner 會在場景後方指派 VPC 輸入連線資源。選擇此選項,僅允許來自 Amazon VPC 的流量存取您的 App Runner 服務。VPC 輸入連線資源會將您的 App Runner 服務連線至 Amazon VPC 的 VPC 介面端點。只有在您使用 API 操作來設定傳入流量的網路設定時,才能建立 VPC 傳入連線資源。如需如何建立 VPC Ingress Connection 資源的詳細資訊,請參閱 AWS App Runner API 參考中的 CreateVpcIngressConnection

注意

App Runner 的一個 VPC 輸入連線資源可以連接到 Amazon VPC 的一個 VPC 介面端點。此外,您只能為每個 App Runner 服務建立一個 VPC 輸入連線資源。

私有端點

私有端點是 App Runner 主控台選項,您可以選擇是否只想要接收來自 Amazon VPC 的傳入流量。在 App Runner 主控台上選擇私有端點選項,可讓您透過設定 VPC 介面端點,將服務連線至 VPC。在幕後,App Runner 會將 VPC 輸入連線資源指派給您設定的 VPC 介面端點。

注意

私有端點僅支援 IPv4 網路流量。

Summary

只允許來自 Amazon VPC 的流量存取您的 App Runner 服務,讓您的服務成為私有。若要達成此目的,您可以使用 App Runner 或 Amazon VPC 為選取的 Amazon VPC 建立 VPC 介面端點。在 App Runner 主控台上,當您為傳入流量啟用私有端點時,您可以建立 VPC 介面端點。然後,App Runner 會自動建立 VPC 輸入連線資源,並連線至 VPC 介面端點和您的 App Runner 服務。這會建立私有服務連線,以確保只有來自所選 VPC 的流量可以存取您的 App Runner 服務。