API GW的Websockets和公共子网

0

【以下的问题经过翻译处理】 您好, 我有一个公开可用的API GW Websockets,我在公共子网中的VPC中拥有一个lambda和ec2实例,这些实例具有IGW和正确的路由表。我已经打开了所有安全组,但是当我尝试使用boto3.client('apigatewaymanagementapi')进行post_to_connection时,连接在Lambda中超时,或者当我运行以下EC2中的错误时:

$ aws apigatewaymanagementapi post-to-connection --data 'hello' --connection-id 'OuoMyd3eDoECJpQ=' --region eu-west-1

Could not connect to the endpoint URL: "https://execute-api.eu-west-1.amazonaws.com/@connections/OuoMyd3eDoECJpQ%3D

不确定错在哪里,我尝试将EC2放入带有API GW的NAT网关和VCPE终端点的私有子网中,但没有运气。

编辑: 我发现了aws-cli命令的问题,我实际上必须指定endpoint_url指向API GW的connection_url。这个有效,但出于某种原因,我仍然不能从位于相同VPC和公共子网中的lambda发布任何消息。

1 Antwort
0

【以下的回答经过翻译处理】 将Lambda函数连接到VPC时,它们不会获得公共IP地址。如果它们需要在VPC外进行通信,则需要将它们放置在私有子网中,并使用VPC终端节点或NAT网关。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen