HTTPAPIs在API閘道中建立私有整合 - Amazon API Gateway

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

HTTPAPIs在API閘道中建立私有整合

私有整合可讓您建立與私有資源的API整合VPC,例如應用程式負載平衡器或 Amazon ECS 容器型應用程式。

您可以公開您的資源,以VPC便通過使用私有集成以外VPC的客戶訪問。您可以使用 API Gateway 支援的任何授權方法來控制對您API的存取。

若要建立私有整合,您必須先建立VPC連結。若要深入瞭解VPC連結,請參閱HTTPAPIs在API閘道中設定VPC連結

建立連VPC結之後,您可以設定私人整合,以連線至 Application Load Balancer、Network Load Balancer 或向 AWS Cloud Map 服務註冊的資源。

若要建立私有整合,所有資源都必須由相同 AWS 帳戶擁有 (包括負載平衡器或 AWS Cloud Map 服務、VPC link 和 HTTPAPI)。

依預設,私人整合流量會使用通HTTP訊協定。您可以指定是tlsConfig否需要使用私有整合流量HTTPS。若要使用執行此操作 AWS Management Console,請在建立私人整合時選擇 [進階設定],然後輸入安全的伺服器名稱。

注意

對於私有整合,APIGateway 會在對後API端資源的請求中包含端點的階段部分。例如,對私有整合請求test/route-path中API包含test階段的請求。若要移除從請求至後端資源的階段名稱,請使用參數映射將請求路徑覆寫為 $request.path

使用 Application Load Balancer 或 Network Load Balancer 建立私有整合

建立私人整合之前,您必須先建立VPC連結。若要深入瞭解VPC連結,請參閱HTTPAPIs在API閘道中設定VPC連結

若要建立與「Application Load Balancer」或「Network Load Balancer」的私人整合,請建立 HTTP Proxy 整合、指定要使用的VPC連結,並提供負載平衡器ARN的接聽程式。

使用下列命令建立使用連VPC結連線至負載平衡器的私有整合。

aws apigatewayv2 create-integration --api-id api-id --integration-type HTTP_PROXY \ --integration-method GET --connection-type VPC_LINK \ --connection-id VPC-link-ID \ --integration-uri arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65 --payload-format-version 1.0

使用 AWS Cloud Map 服務探索建立私有整合

建立私人整合之前,您必須先建立VPC連結。若要深入瞭解VPC連結,請參閱HTTPAPIs在API閘道中設定VPC連結

對於與集成 AWS Cloud Map,APIGateway 用DiscoverInstances於識別資源。您可以使用查詢參數來鎖定特定資源。已註冊資源的屬性必須包含 IP 位址和連接埠。APIGateway 會在傳回的健全資源之間分配要求。DiscoverInstances若要進一步瞭解,請參閱 AWS Cloud Map API參考DiscoverInstances中的。

注意

如果您使用 Amazon ECS 填充條目 AWS Cloud Map,則必須配置 Amazon ECS 任務以將SRV記錄與 Amazon ECS 服務發現一起使用,或者打開 Amazon ECS 服務 Connect。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的服務探索

若要建立私人整合 AWS Cloud Map,請建立 HTTP Proxy 整合、指定要使用ARN的VPC連結,然後提供 AWS Cloud Map 服務。

使用下列命令建立使用 AWS Cloud Map 服務探索來識別資源的私人整合。

aws apigatewayv2 create-integration --api-id api-id --integration-type HTTP_PROXY \ --integration-method GET --connection-type VPC_LINK \ --connection-id VPC-link-ID \ --integration-uri arn:aws:servicediscovery:us-east-2:123456789012:service/srv-id?stage=prod&deployment=green_deployment --payload-format-version 1.0