运行 一个区域中的 AWS Lambda 从 2 个或更多区域备份 ec2 实例 AMI

Run AWS Lamba in One region to take backup of ec2 instance AMI from 2 or more Regions

我在爱尔兰地区使用 AWS Lambda 每天为我的 EC2 产品实例创建 AMI。我所有的服务器都在爱尔兰地区,除了一个在伦敦地区。

对于爱尔兰地区,我有用于备份的 python 脚本,我只需要在同一个 lambda 中添加代码,以便在伦敦实例中也进行备份。

由于我是 lambda 和 python 的新手,我不知道在哪里添加或在这里添加什么。

谁能帮我也为伦敦实例启用备份吗?[=​​23=]

下面提供了当前的 Lambda 脚本。



# ec2_client = boto3.client('ec2',region_name=globalVars['REGION_NAME'])
ec2_client = boto3.client('ec2')



AWS(大部分)是基于区域的。这意味着如果您希望与特定区域中的特定 AWS 服务(例如 Amazon EC2)通信,则 您必须对该区域 进行 API 调用。可以通过在创建客户端时指定region_name来完成:

ec2_client = boto3.client('ec2',region_name='ap-southeast-2')

此后,对该 ec2_client 执行的任何操作都将发送到指定的区域。

有关更多示例,请参阅:

如果您希望调用多个区域,则需要循环遍历每个区域并依次为每个区域创建一个boto.client()

'global' 服务的这一要求有一些例外:IAM、Route 53 和 CloudFront。它们在区域之间复制配置,因此您可以仅连接到一个区域(通常 us-east-1)以在全局范围内配置这些服务。