EC2 Command Line Tools 備忘録
使っていないとすぐに忘れそうなので。
リファレンス
AMI
全イメージ | ec2-describe-images -x all |
Amazonが公開しているイメージ | ec2-describe-images -o amazon |
自分で登録したイメージ | ec2-describe-images -o self |
インスタンス
インスタンス一覧 | ec2-describe-instances |
起動 | ec2-run-instances ami_id [-k keyname] |
停止 | ec2-terminate-instances instance_id |
ポートを開ける | ec2-authorize default -p port |
ElasticIP
取得済みIP一覧 | ec2-describe-addresses | |
新規取得 | ec2-allocate-address | |
解放 | ec2-release-address ip_address | |
インスタンスに割当 | ec2-associate-address -i instance_id ip_address | |
割当を解除 | ec2-disassociate-address ip_address |
EBS
ボリューム一覧 | ec2-describe-volumes |
ボリューム作成 | ec2-create-volume -z region -s size |
スナップショットから作成 | ec2-create-volume --snapshot snapshot_id -z region |
インスタンスに割当 | ec2-attach-volume -d device -i instance_id volume_id |
割当解除 | ec2-detach-volume volume_id |
ボリュームを削除 | ec2-delete-volume volume_id |
スナップショット一覧 | ec2-describe-snapshots |
スナップショットの作成 | ec2-create-snapshot volume_id |
スナップショットを削除 | ec2-delete-snapshot snapshot_id |
Elastic Load Balancer
確認 | elb-describe-lbs |
作成 | elb-create-lb lb_name --availability-zones region --listener "protocol=HTTP, lb-port=80, instance-port=80" |
削除 | elb-delete-lb lb_name |
インスタンスを追加 | elb-register-instances-with-lb lb_name --instances instance_id [,instance_id] |
インスタンスを外す | elb-deregister-instances-from-lb lb_name --instances instance_id [,instance_id] |
ヘルスチェック | elb-describe-instance-headlth lb_name |
Tips
SSH接続
1. ログインキー作成 $ ec2-add-keypair app_server | sed -e "1d" > app_server.id $ chmod 400 app_server.id 2. SSH $ ssh -i app_server.id root@ec2-xxxxx.amazonaws.com
AMIをS3にバックアップ
1. 証明書をインスタンスに転送 $ scp -i app_server.id *.pem root@ec2-xxxxx.amazonaws.com:/mnt 2. EC2上でイメージ化 $ cd /mnt $ ec2-bundle-vol -d /mnt --privatekey {pk-xxx.pem} --cert {cert-xxx.pem} --user {account_number} 3. S3へアップロード $ ec2-upload-bundle --bucket {bucket_path} --manifest image.manifest.xml --access-key {access_key} --secret-key {secret_key} 4. AMIリストに登録 $ ec2-register {bucket_path}/image.manifest.xml
EBSのマウント
1. インスタンスに割当 $ ec2-attach-volume -d /dev/sdc -i {instance_id} {volume_id} 2. ファイルシステムを作成(インスタンス上で) $ yes | mkfs -t ext3 /dev/sdc $ mkdir /vol $ mount /dev/sdc /vol $ df 3. 割当を解除 $ umount /vol $ ec2-detach-volume {volume_id}