2016-07-06 29 views
1

私は他のすべての地域にAMIのコピーを同時に実行する方法を見つけようとしています。 、現在、私はそうするようにbashスクリプトを書いた... https://aws.amazon.com/blogs/aws/ec2-ami-copy-between-regions/複数のリージョンに同じAMIを同時にコピーするにはどうすればよいですか?

を私は近くと遠く検索してきたが、それを行うことができることをブログの記事に見て横に、私はAWS CLIを使用した方法を発見していません私はより良い、簡単な方法を見つけることを望みます

私は8つのAMIをすべての地域に渡す必要があります。 アレイを使用する -

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

他にご提案がありますか?

ありがとうございました。

答えて

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の)から現在の領域を維持するので、あなたは、コピー画像コマンドの領域パラメータ
+0

にそれを送ることができますありがとう、あなたは私にこの問題を考えるための新しい方法を与えています。 – Busted

+0

もう一つの強力な機能は、--queryオプションです。この場合、もっと冗長ですが、知っておくと便利です:aws ec2 describe-regions --query 'Regions []。{Name:RegionName}' --output text –

関連する問題