Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS:接受VPC对等连接请求_Amazon Web Services_Aws Lambda_Amazon Vpc - Fatal编程技术网

Amazon web services AWS:接受VPC对等连接请求

Amazon web services AWS:接受VPC对等连接请求,amazon-web-services,aws-lambda,amazon-vpc,Amazon Web Services,Aws Lambda,Amazon Vpc,我有几个用于开发、qa等的预生产VPC。到目前为止,一切都是通过云信息+Lambda进行管理的,而且非常干净 由于VPC之间没有对话,所以我可以从一组模板启动和拆除环境,而且它是非常幂等的 现在,我需要为环境之间的一些常见问题添加一个管理VPC。我以前使用过VPC通过UI进行窥视,它很容易管理 然而,我喜欢拆卸和启动新环境的灵活性,特别是因为prod最终将是蓝色/绿色 因此,为了避免使用UI,我考虑添加两个Lambda函数: 1. on the mngmt VPC, list all VPC's

我有几个用于
开发、qa
等的预生产VPC。到目前为止,一切都是通过
云信息
+
Lambda
进行管理的,而且非常干净

由于VPC之间没有对话,所以我可以从一组模板启动和拆除环境,而且它是非常
幂等的

现在,我需要为环境之间的一些常见问题添加一个管理VPC。我以前使用过VPC通过UI进行窥视,它很容易管理

然而,我喜欢拆卸和启动新环境的灵活性,特别是因为
prod
最终将是
蓝色/绿色

因此,为了避免使用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对等连接,请调用AcceptVpCPeeringConnection

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

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