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}