如何同时将同一AMI复制到多个区域?

时间:2016-07-06 08:50:56

标签: bash amazon-web-services aws-cli ami

我正在尝试找到一种方法来同时将AMI复制到所有其他区域。 我有近距离搜索,但在博客文章中看到它可以完成,我还没有找到使用aws cli的方法...... https://aws.amazon.com/blogs/aws/ec2-ami-copy-between-regions/

目前我已经编写了一个bash脚本,但我希望找到一种更好,更简单的方法

我有8个AMI需要传递到所有地区。 使用数组 -

declare -a DEST=('us-east-1' ...2....3)
aws copy-image --source-region $SRC --region ${DESTx[@]} --source-ami-id $ami

你们有其他建议吗?

感谢。

1 个答案:

答案 0 :(得分:2)

你可以制作一个单行bash,如果将来有新的区域特别有用:

aws ec2 describe-regions 
        --output text |\
cut -f 3 | \
xargs -I {} aws copy-image 
        --source-region $SRC 
        --region {} 
        --source-ami-id $ami

基本上是这样的:

  • aws ec2 describe-regions --output text返回ec2所有可用区域的列表,其中包含3列表(“REGIONS”,端点,区域名称)
  • cut -f 3获取上一表的第3列(读作列表)
  • 将当前区域与之前的参数(xargs)保持为{},以便将其发送到copy-image命令的region参数