【问题标题】:AWS Lambda - Copy EC2 Snapshot automatically between regions?AWS Lambda - 在区域之间自动复制 EC2 快照?
【发布时间】:2017-06-03 06:02:21
【问题描述】:

我想创建一个 Lambda 函数 (python),它将自动将已创建的快照复制到另一个区域。

我已联系 AWS Support,他们只向我发送了用于 RDS 数据库的 GitHub 脚本。没有 EC2 快照副本脚本 :(

任何帮助都会很棒!

谢谢。

【问题讨论】:

  • 到目前为止你尝试过什么?你被困在哪里了?这个问题听起来有点像您要求我们为您编写脚本,或者为您提供第三方资源,这与本站无关。
  • 我是 Lambda 和 Boto3 的新手,但我正在尝试根据 CloudWatch Events 自动将快照从一个区域复制到另一个区域。我目前有类似于此处其他答案的代码,并且在运行时收到错误消息。模块“lambda_function”中的语法错误:扫描字符串文字时 EOL(lambda_function.py,第 4 行)
  • 那么您的问题应该显示该代码和该错误消息,并且您应该就该特定问题寻求帮助。这是一个帮助解决编程问题的网站,而不是免费的代码编写服务。

标签: python amazon-web-services amazon-ec2 aws-lambda


【解决方案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 角色。感谢您的帮助。
猜你喜欢
  • 2016-12-18
  • 1970-01-01
  • 2017-02-04
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 2019-01-06
相关资源
最近更新 更多