AWS:接受 VPC 对等连接请求

AWS : Accepting a VPC Peering Connection Request

我有几个用于 dev, qa 的预生产 VPC,等等。到目前为止,一切都是通过 CloudFormation + Lambda 管理的,非常干净。

自从 none VPC 相互交谈后,我可以启动和拆除环境,所有这些都来自一组模板,非常 idempotent

现在我有一个需求,为环境之间的一些共同事物添加一个管理VPC。我之前通过UI使用过VPC peering,很容易管理。

但是我喜欢拆除和启动新环境的灵活性,尤其是因为 prod 最终会成为 blue/green

因此,为了避免必须使用 UI,我正在考虑添加两个 Lambda 函数:

1. on the mngmt VPC, list all VPC's and if there's not an existing VPC peering connection with one, request it
2. on pre-prod VPC's poll for VPC connection peering requests and accept if from a trusted owner

这样我就可以拆除堆栈并重新启动它们而无需任何手动干预。

这是一个浪费的设计吗?有没有我没有预见到的问题?什么是更好的方法来完成这个?

AWS 文档指出只有账户所有者才能接受 VPC 对等连接。您可以为每个账户创建一个 Lambda,然后使用 DescribeVpcPeeringConnections 来检测等待接受状态。然后调用 AcceptVpcPeeringConnection。要创建 VPC 对等连接,请调用 AcceptVpCPeringConnection。

备注: 我不喜欢轮询设计。在您的情况下,您需要不断轮询以检测新的对等连接请求。更好的解决方案是在创建 VPC 后通过脚本(程序)调用(或通过 SNS 触发)Lambda 函数。

这个link是对API的参考。从这里您可以select您将在页面底部使用的语言。

AcceptVpcPeeringConnection