Octopress Blog

自分のためのまとめブログ

Ec2-api-tools

初期設定

1
2
3
4
5
6
7
8
9
10
11
12
# cp pk-xxxxxxxxxxxx.pem /opt/aws/apitools/ec2/
# cp cert-xxxxxxxxxxxx.pem /opt/aws/apitools/ec2/

vi ~/.bashrc

export EC2_HOME=/opt/aws/apitools/ec2
export PATH=$PATH:$EC2_HOME/bin
# export EC2_PRIVATE_KEY=$EC2_HOME/pk-xxxxxxxxxxxx.pem
# export EC2_CERT=$EC2_HOME/cert-xxxxxxxxxxxx.pem
export AWS_ACCESS_KEY=xxxxxxxxxxxxxxxxxxec2-api-tools
export AWS_SECRET_KEY=yyyyyyyyyyyyyyyyyyyyyyyyyyy
export EC2_URL=http://ec2.ap-northeast-1.amazonaws.com

諸情報

実行ファイルのPATH

/opt/aws/bin

環境変数

EC2_HOME

ec2-api-toolsのHOME * 例
export EC2_HOME=/opt/aws/apitools/ec2

EC2_PRIVATE_KEY

秘密鍵のPATH。今は使ってない


  • export EC2_PRIVATE_KEY=$EC2_HOME/pk-XXXXXXXXXXXXXXXXXXXXX.pem

EC2_CERT

証明書のPATH。今は使ってない。


  • export EC2_CERT=$EC2_HOME/cert-XXXXXXXXXXXXXXXXXXXXXXX.pem

AWS_ACCESS_KEY

AWSアクセスキー


  • export AWS_ACCESS_KEY=xxxxxxxxxxxxxxxxxx

AWS_SECRET_KEY

AWSシークレットキー


  • export AWS_SECRET_KEY=yyyyyyyyyyyyyyyyyyyyyyyyyyy

EC2_URL

リージョンの指定


  • export EC2_URL=http://ec2.ap-northeast-1.amazonaws.com

コマンド

確認

ec2ver

バージョンの表示

1
2
[ec2-user@ip-10-146-39-194 ~]$ ec2ver
1.6.6.0 2012-12-01

ec2-describe-images

AMIの表示

1
2
3
4
5
6
7
8
9
10
[ec2-user@ip-10-146-39-194 ~]$  ec2-describe-images -x all
IMAGE   ami-1fd85d1e    001108612011/CentOS-63-40T-EBS-PhilChen 001108612011    available       public          x86_64  machine aki-44992845                    ebs     paravirtual     xen
BLOCKDEVICEMAPPING      EBS     /dev/sda1               snap-af93b78f   40      true    standard
IMAGE   ami-e802b5e9    014836023992/ProxySnifferGUI-46-Z-win64-04      014836023992    available       public          x86_64  machine                 windows ebs     hvm     xen
BLOCKDEVICEMAPPING      EBS     /dev/sda1               snap-339edc59   35      true    standard
IMAGE   ami-a4ea50a5    014836023992/ProxySnifferGUI-50-K-win64-03      014836023992    available       public          x86_64  machine                 windows ebs     hvm     xen
BLOCKDEVICEMAPPING      EBS     /dev/sda1               snap-9b2e46bb   35      true    standard
...

※AMIの一覧が表示される

インスタンス操作関連

ec2-describe-instances

インスタンスの一覧の情報が表示される

1
2
3
4
5
6
7
8
9
RESERVATION  r-a16fc3a2  492323174246    magento_sg
INSTANCE  i-1f433f1c  ami-87932986            stopped magento_key 0       t1.micro    2013-01-06T00:53:08+0000    ap-northeast-1a aki-44992845            monitoring-disabled                 ebs     paravirtual xen hXdxF1357433587195  sg-17a3c816 default false  
BLOCKDEVICE   /dev/sdf    vol-5bb81c79    2013-02-11T07:14:32.000Z    false      
TAG   instance    i-1f433f1c  Name    magento_amazon

RESERVATION   r-9dfb469e  492323174246    nfs_test_sg,stg_sg
INSTANCE  i-7b470978  ami-4e6cd34f    ec2-54-249-240-55.ap-northeast-1.compute.amazonaws.com  ip-10-146-39-194.ap-northeast-1.compute.internal    running wordpress_key   0       t1.micro    2013-01-19T23:50:01+0000    ap-northeast-1b aki-44992845            monitoring-disabled 54.249.240.55   10.146.39.194           ebs                 paravirtual xen xuoXb1358639400459  sg-86076187, sg-3f58323e    default false  
BLOCKDEVICE   /dev/sda1   vol-42cf7b60    2013-01-19T23:50:05.000Z    true       
TAG   instance    i-7b470978  Name    Redmine

※ 引数にインスタンスIDを指定数と、そのインスタンスの情報のみ表示される

ec2-start-instances

インスタンスを起動

1
2
3
4
5
6
7
8
9
10
[ec2-user@ip-10-146-39-194 ~]$ ec2-start-instances --region ap-northeast-1 i-1f433f1c
INSTANCE  i-1f433f1c  stopped pending

[ec2-user@ip-10-146-39-194 ~]$ ec2-describe-instance-status
INSTANCE  i-1f433f1c  ap-northeast-1a running 16  ok  ok  active  
SYSTEMSTATUS  reachability    passed  
INSTANCESTATUS    reachability    passed  
INSTANCE  i-7b470978  ap-northeast-1b running 16  ok  ok  active  
SYSTEMSTATUS  reachability    passed  
INSTANCESTATUS    reachability    passed

ec2-stop-instances

インスタンスを停止

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[ec2-user@ip-10-146-39-194 ~]$ ec2-stop-instances i-1f433f1c
INSTANCE  i-1f433f1c  running stopping

[ec2-user@ip-10-146-39-194 ~]$ ec2-describe-instances
RESERVATION   r-a16fc3a2  492323174246    magento_sg
INSTANCE  i-1f433f1c  ami-87932986            stopped magento_key 0       t1.micro    2013-02-20T15:34:21+0000    ap-northeast-1a aki-44992845            monitoring-disabled                 ebs     paravirtual xen hXdxF1357433587195  sg-17a3c816 default false  
BLOCKDEVICE   /dev/sda1   vol-5bb81c79    2013-02-20T15:34:02.000Z    false      
TAG   instance    i-1f433f1c  Name    magento_amazon

➡ stoppedになっている

RESERVATION   r-9dfb469e  492323174246    nfs_test_sg,stg_sg
INSTANCE  i-7b470978  ami-4e6cd34f    ec2-54-249-240-55.ap-northeast-1.compute.amazonaws.com  ip-10-146-39-194.ap-northeast-1.compute.internal    running wordpress_key   0       t1.micro    2013-01-19T23:50:01+0000    ap-northeast-1b aki-44992845            monitoring-disabled 54.249.240.55   10.146.39.194           ebs                 paravirtual xen xuoXb1358639400459  sg-86076187, sg-3f58323e    default false  
BLOCKDEVICE   /dev/sda1   vol-42cf7b60    2013-01-19T23:50:05.000Z    true       
TAG   instance    i-7b470978  Name    Redmine

起動しているインスタンスのみ確認する場合は以下

1
2
3
4
5
6
7
8
9
[ec2-user@ip-10-146-39-194 ~]$ ec2-stop-instances i-1f433f1c
INSTANCE  i-1f433f1c  running stopping

[ec2-user@ip-10-146-39-194 ~]$ ec2-describe-instance-status
INSTANCE  i-7b470978  ap-northeast-1b running 16  ok  ok  active  
SYSTEMSTATUS  reachability    passed  
INSTANCESTATUS    reachability    passed

※ i-1f433f1cが表示されなくなっている

snapshot関連

ec2-describe-snapshots

snapshot一覧の表示

1
2
3
4
5
[ec2-user@ip-10-157-54-96 bin]$ ec2-describe-snapshots --region ap-northeast-1
SNAPSHOT  snap-a22a9d81   vol-42cf7b60    completed   2013-03-03T07:55:57+0000    100%    492323174246    8   Redmine
TAG   snapshot    snap-a22a9d81   Name    Redmine
SNAPSHOT  snap-f363ddd0   vol-42cf7b60    completed   2013-03-05T22:55:59+0000    100%    492323174246    8   Redmine 20130306
TAG   snapshot    snap-f363ddd0   Name    Redmine

ec2-copy-snapshot

snapshotのコピー

1
ec2-copy-snapshot --region ap-southeast-1 -r ap-northeast-1 -s snap-a22a9d81

※東京からシンガポールのリージョンへコピー

ec2-describe-snapshot

snapshotのアクセス権限確認

1
2
[ec2-user@ip-10-157-54-96 bin]$ ec2-describe-snapshot-attribute snap-a22a9d81 --create-volume-permission
[ec2-user@ip-10-157-54-96 bin]$

権限が設定されていない場合(非公開設定)は何も出力されない

ec2-modify-snapshot-attribute

snapshotのアクセス権限を変更する

1
ec2-modify-snapshot-attribute (snap_id) -c --add all

※すべてのユーザに公開される設定

ec2-reset-snapshot-attribute

権限をリセットする

1
ec2-reset-snapshot-attribute (snapshot_id) -c

volume関連

ec2-detach-volume

ボリュームをデタッチする

1
2
[ec2-user@ip-10-156-119-74 ~]$ ec2-detach-volume vol-5bb81c79
ATTACHMENT    vol-5bb81c79    i-1f433f1c  /dev/sda1   detaching   2013-03-26T14:50:06+0000

ec2-attach-volume

ボリュームをアタッチする

1
2
[ec2-user@ip-10-156-119-74 ~]$ ec2-attach-volume vol-5bb81c79 -i i-1f433f1c -d /dev/sda1
ATTACHMENT    vol-5bb81c79    i-1f433f1c  /dev/sda1   attaching   2013-03-31T14:55:34+0000

ec2-create-volume

ボリュームを作成する

1
2
[ec2-user@ip-10-156-119-74 ~]$ ec2-create-volume --snapshot snap-7971395a -z ap-northeast-1a
VOLUME    vol-45531e67    8   snap-7971395a   ap-northeast-1a creating    2013-03-31T15:02:11+0000    standard

Elastic IP関連

ec2-describe-addresses

1
2
[ec2-user@ip-10-158-203-131 tmp]$ ec2-describe-addresses
ADDRESS   54.249.240.55   i-7b470978  standard

トラブルシューティング

Instance does not have a volume attached at root (/dev/sda1)

/dev/sdfになっていたのを/dev/sda1でアタッチし直したらOK

リンク