2013年12月5日木曜日

AWS EC2でインスタンスのバックアップを取る方法

必要なコマンド

パックアップ取るのに必要であろうコマンドをまとめてみました。

用途 コマンド
インスタンス一覧 ec2-describe-volumes -O <アクセスキー> -W <シークレットアクセスキー> --region ap-northeast-1
スナップショット作成 ec2-create-snapshot -O <アクセスキー> -W <シークレットアクセスキー> --region ap-northeast-1 vol-*****
スナップショット一覧 ec2-describe-snapshots -O <アクセスキー> -W <シークレットアクセスキー> --region ap-northeast-1
スナップショット削除 ec2-delete-snapshot -O <アクセスキー> -W <シークレットアクセスキー> --region ap-northeast-1 id

スクリプトのサンプル

バックアップ取るのに僕が使っているシェルスクリプトです。
新しいスナップショットを作成して、古いスナップショットを削除しています。

10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
#!/bin/bash

export JAVA_HOME=/usr/lib/jvm/jre
export EC2_HOME=/opt/aws/apitools/ec2
export PATH=$EC2_HOME/bin:$JAVA_HOME/bin:$PATH

ACCESSKEY="<アクセスキー>"
SECRETKEY="<シークレットアクセスキー>"
REGION="ap-northeast-1"
VOLUME1="vol-*******"
VOLUME2="vol-*******"

ids=`ec2-describe-snapshots -O ${ACCESSKEY} -W ${SECRETKEY} --region ${REGION} | awk '{ print $2 }'`

ec2-create-snapshot -O ${ACCESSKEY} -W ${SECRETKEY} --region ${REGION} ${VOLUME1}

ec2-create-snapshot -O ${ACCESSKEY} -W ${SECRETKEY} --region ${REGION} ${VOLUME2}

for i in $ids
do
    ec2-delete-snapshot -O ${ACCESSKEY} -W ${SECRETKEY} --region ${REGION} ${i};
done

0 件のコメント:

コメントを投稿