在哪里可以获得VpcLink ID?

问题描述

我正在使用CDK(打字稿)配置API网关,当前我必须使用HttpIntegration为在VPC下运行的EC2实例创建一个端点。

所以我下一个

api.root.resourceForPath("/{pathVar}/smth/{pathVar}")
        .addMethod("GET",new HttpIntegration("https://endpoint-from-ec2-under-vpc",{
                options: {
                    connectionType: ConnectionType.VPC_LINK,vpcLink: ???
                }
            }),...

在哪里可以找到vpcLink?

我尝试过这种方式:

const vpc= VpcLink.fromVpcLinkId(this,"vpc-link","VpcID");

但是在部署过程中-错误Vpc link VpcID was not found in account ********

所以 VpcLinkId 不是 VpcId ,那是什么?

在其他地方的AWS控制台中我可以在哪里找到它?

解决方法

VPC链接ID实际上来自VPCLink resource

此资源是一个特殊的连接,允许API网关服务通过负载平衡器私密地连接到您的EC2 / ECS / EKS资源(对于REST API,它将是NLB,对于HTTP API,它将是ALB)

然后,当在API网关配置中引用该私有连接时,便可以与负载平衡器建立专用连接,因此HTTP流量无需传输公共Internet(将资源保持私有)。

如果您不需要使用这些私有资源中的任何一个,则不需要创建此连接,这样做可以将您的API网关设置为位于VPC中,只需使用PrivateLink创建一个链接即可。

有关更多信息,请查看Set up API Gateway private integrations文档。

,

在aws控制台中,

enter image description here

红色