AWS Lambda - 在区域之间自动复制 EC2 快照?
Posted
技术标签:
【中文标题】AWS Lambda - 在区域之间自动复制 EC2 快照?【英文标题】:AWS Lambda - Copy EC2 Snapshot automatically between regions? 【发布时间】:2017-06-03 06:02:21 【问题描述】:我想创建一个 Lambda 函数 (python),它将自动将已创建的快照复制到另一个区域。
我已联系 AWS Support,他们只向我发送了用于 RDS 数据库的 GitHub 脚本。没有 EC2 快照副本脚本 :(
任何帮助都会很棒!
谢谢。
【问题讨论】:
到目前为止你尝试过什么?你被困在哪里了?这个问题听起来有点像您要求我们为您编写脚本,或者为您提供第三方资源,这与本站无关。 我是 Lambda 和 Boto3 的新手,但我正在尝试根据 CloudWatch Events 自动将快照从一个区域复制到另一个区域。我目前有类似于此处其他答案的代码,并且在运行时收到错误消息。模块“lambda_function”中的语法错误:扫描字符串文字时 EOL(lambda_function.py,第 4 行) 那么您的问题应该显示该代码和该错误消息,并且您应该就该特定问题寻求帮助。这是一个帮助解决编程问题的网站,而不是免费的代码编写服务。 【参考方案1】:是的,你可以用 boto3 做到这一点
Example:
将快照从区域us-east-1
复制到区域eu-west-1
import boto3
def lambda_handler(event, context):
client = boto3.client('ec2')
client.copy_snapshot(SourceSnapshotId='snap-xxxxxx',
SourceRegion='us-east-1',
DestinationRegion='eu-west-1')
如果快照是加密的,额外添加PresignedUrl
参数。
【讨论】:
我需要在我从中提取快照的服务器上安装 boto3 吗?或者 AWS Lambda 是否已经拥有运行此代码的配置文件/等? Lambda 用于无服务器执行。 EBS 快照存储在 AWS 空间中。此处不涉及服务器,您只需在 lambda 中添加此代码即可。 谢谢你!它有效,对于配置,我使用 Python 2.7 运行时、Handler = lambda_function.lambda_handler 和我的自定义 IAM 角色。感谢您的帮助。以上是关于AWS Lambda - 在区域之间自动复制 EC2 快照?的主要内容,如果未能解决你的问题,请参考以下文章
无法将 s3 与来自 aws lambda 的 ec2 文件夹同步
使用 Lambda 函数覆盖 AWS Auto Scaling 策略