AWS CDK:创建API Gateway with VPC Interface Endpoint时出现异常



我正在尝试查找现有的VPC,检索所有私有子网(确保每个可用区中只有私有子网)。创建VPC端点,在创建API网关时关联API网关。但是在运行代码时得到下面的异常:

VPC -00c8fd5068629a5ab不是一个有效的VPC端点id (Service: amazonapiggateway;状态码:400;错误代码:BadRequestException;请求ID: ab287404-3002-41e5-8d93-e5792577d262;代理:null)

另外,我可以单独创建VPC端点。可以创建普通的API网关,而不需要关联VPC端点。

请让我知道可能是什么问题。

vpc_retrieved = aws_ec2.Vpc.from_lookup(self, id="testvpcid",vpc_name="somevalidvpcname")
subnet_list = []
for subnet in vpc.private_subnets:
subnet_list.append(subnet)
vpc_endpoint = aws_ec2.InterfaceVpcEndpoint(self, 
id="vpcendpoint", 
vpc=vpc_retrieved, 
service=aws_ec2.InterfaceVpcEndpointService(
name="com.amazonaws.us-east-2.lambda",port=80),
subnets=aws_ec2.SubnetSelection(subnets=subnet_list)
)
vpc_endpoints = []
vpc_endpoints.append(vpc_endpoint)
vpc_endpoint_types = []
vpc_endpoint_types.append(aws_cdk.aws_apigateway.EndpointType.PRIVATE)
api_gateway = aws_cdk.aws_apigateway.RestApi(self, 
id="cdktestapi",
rest_api_name="cdk-test-api",
endpoint_configuration= 
aws_cdk.aws_apigateway.EndpointConfiguration(                                                                       
types=vpc_endpoint_types,
vpc_endpoints=vpc_endpoints)
)

这个问题原来是一个基本问题。我需要使用正确的API网关服务端点,它是"com.amazonaws.us-east- 2.execut-api"。因此,以以下方式创建VPC端点解决了这个问题:

vpc_endpoint = aws_ec2.InterfaceVpcEndpoint(self, 
id="vpcendpoint", 
vpc=vpc_retrieved, 
service=aws_ec2.InterfaceVpcEndpointService(
name="com.amazonaws.us-east-2.execute-api",port=80),
subnets=aws_ec2.SubnetSelection(subnets=subnet_list)
)

相关内容

  • 没有找到相关文章

最新更新