2017-10-10 177 views
0

我有几个预产品VPC的dev, qa等。到目前为止,所有内容都通过CloudFormation + Lambda进行管理,并且非常干净。AWS:接受VPC对等连接请求

由于没有任何一个VPC互相通话,我可以启动和拆除环境,所有这些都来自一组模板,并且它非常简单。

现在我需要为环境之间的一些常见事物添加管理VPC。我之前使用VPC进行对等浏览,并且易于管理。

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

所以要避免使用我想添加两个半波功能的UI:

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 

这样我可以推倒堆,然后重新启动它们无需任何人工干预。

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

回答

2

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

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

此链接指向API参考。从这里您可以选择您将在页面底部使用的语言。

AcceptVpcPeeringConnection