"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

【AWS】「EC2 Command Line Interface Tools」を試してみる。(2)



スポンサーリンク

クライアントPC(mac)からコいくつかマンドを実行してEC2を操作してみます。

全部ここにかなりたくさんコマンドが書かれています。

#以下では「-O <アクセスID> -W <シークレットアクセスキー>」を指定していますが,環境変数に追加している場合は不要です。

EC2インスタンス



■EC2インスタンススタート

$ ec2-start-instances <インスタンスID> -O <アクセスID> -W <シークレットアクセスキー>
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
INSTANCE	<インスタンスID>	stopped	pending


■EC2インスタンスストップ

$ ec2-stop-instances <インスタンスID> -O <アクセスID> -W <シークレットアクセスキー>
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
INSTANCE	<インスタンスID>	running	stopping


■EC2インスタンリブート

$ ec2-reboot-instances <インスタンスID> -O <アクセスID> -W <シークレットアクセスキー>
※メッセージ出力無し


■EC2インスタンス状態確認
このコマンドはイロイロな条件で表示のフィルタがかけれるようです。
とりあえず以下はフィルタ無しです。

$ ec2-describe-instance-status i-50875353
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
INSTANCE	i-50875353	ap-northeast-1a	running	16	ok	ok	active	
SYSTEMSTATUS	reachability	passed	
INSTANCESTATUS	reachability	passed

これらを組み合わせてバッチを作れば,オンプレミスの運用管理サーバ上でキックして夜間は停止として稼働時間調整でコスト押さえることができそうです。


EBSスナップショット系


■EBSボリュームスナップショット作成

$ ec2-create-snapshot <ボリューム名> -d "Daily backup"
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
SNAPSHOT	snap-8be013a9	vol-64f53846	pending	2013-05-14T13:35:10+000949334639294	30	Daily backup


■EBSボリュ−ムスナップショット状態確認(スナップショット番号指定)
以下実行中。

$ ec2-describe-snapshots <スナップショット名> 
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
SNAPSHOT	<スナップショット名>	<ボリューム名> 	pending	2013-05-14T13:35:10+00014	949334639294	30	Daily backup

完了後は completed に。

$  ec2-describe-snapshots 
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
SNAPSHOT	<スナップショット名>	<ボリューム名>	completed	2013-05-14T13:35:10+0000	100%	949334639294	30	Daily backup


■EBSボリュームスナップショット一覧取得

$ ec2-describe-snapshots 
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
SNAPSHOT	<スナップショット名1>	<ボリューム名1>	pending	2013-05-14T14:02:15+0000		949334639294	30	Daily backup
SNAPSHOT	<スナップショット名2>	<ボリューム名1>	completed	2013-05-14T13:35:10+0000	100%	949334639294	30	Daily backup


■EBSボリュ−ムスナップショット削除

$ ec2-delete-snapshot snap-8be013a9
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
SNAPSHOT	<スナップショット名>

これらを上手く組み合わせれば,バックアップの世代管理バッチジョブが作れそうです。