Amazon Web Services 新宿鮫:第3回勉強会にいってきました

http://shinjukuzame.doorkeeper.jp/events/3650 で、もくもくしてきましてよ、と。    Amazon Web Services 新宿鮫:第1回勉強会(もくもく&キックオフ)にいってきました | shinodogg.com に続いて2回目の参加になります。。   前回はEclipseからAWSに繋いで叩いてみたので、今回はコマンドラインからちょこちょこ叩いてみます。   ■ Download the Command Line Tools (API Tools)   ググっていくと、↓が一番情報が新しくてガッツリ載ってるっぽかったので、   コレに沿ってやっていきます。 Setting Up the Amazon EC2 Command Line Tools   ↓のサイトに行ってzipを落としてきて、   ↓のように解凍します。

$ ls -l | grep ec2
-rw-r--r--@   1 eiji  staff   14536729 Apr 17 19:27 ec2-api-tools.zip
$ unzip ec2-api-tools.zip
Archive:  ec2-api-tools.zip
   creating: ec2-api-tools-1.6.7.2/
  inflating: ec2-api-tools-1.6.7.2/THIRDPARTYLICENSE.TXT
   creating: ec2-api-tools-1.6.7.2/bin/
  inflating: ec2-api-tools-1.6.7.2/bin/ec2-activate-license
  inflating: ec2-api-tools-1.6.7.2/bin/ec2-activate-license.cmd
〜略〜

  binにManagement Consoleで見たことありそうなヤツがズラっと並んでます。

$ pwd
/Users/eiji/Downloads/ec2-api-tools-1.6.7.2
$ cd bin/
$ ls -l
total 5088
-rwxrwxr-x@ 1 eiji  staff   718 Apr  8 06:23 ec2-activate-license
-rw-r--r--@ 1 eiji  staff  1037 Apr  8 06:23 ec2-activate-license.cmd
-rwxrwxr-x@ 1 eiji  staff   711 Apr  8 06:23 ec2-add-group
-rw-r--r--@ 1 eiji  staff  1030 Apr  8 06:23 ec2-add-group.cmd
-rwxrwxr-x@ 1 eiji  staff   716 Apr  8 06:23 ec2-add-keypair
-rw-r--r--@ 1 eiji  staff  1035 Apr  8 06:23 ec2-add-keypair.cmd
-rwxrwxr-x@ 1 eiji  staff   718 Apr  8 06:23 ec2-allocate-address
-rw-r--r--@ 1 eiji  staff  1037 Apr  8 06:23 ec2-allocate-address.cmd
-rwxrwxr-x@ 1 eiji  staff   727 Apr  8 06:23 ec2-assign-private-ip-addresses
-rw-r--r--@ 1 eiji  staff  1046 Apr  8 06:23 ec2-assign-private-ip-addresses.cmd
-rwxrwxr-x@ 1 eiji  staff   719 Apr  8 06:23 ec2-associate-address
-rw-r--r--@ 1 eiji  staff  1038 Apr  8 06:23 ec2-associate-address.cmd
-rwxrwxr-x@ 1 eiji  staff   723 Apr  8 06:23 ec2-associate-dhcp-options
-rw-r--r--@ 1 eiji  staff  1042 Apr  8 06:23 ec2-associate-dhcp-options.cmd
-rwxrwxr-x@ 1 eiji  staff   722 Apr  8 06:23 ec2-associate-route-table
-rw-r--r--@ 1 eiji  staff  1041 Apr  8 06:23 ec2-associate-route-table.cmd
〜略〜

  ↓とかって記載があったのですが、今回は先に進みます。。

Optional step before you unzip: For detailed information about authenticating the download before unzipping the file, see Verify the Signature of the Tools Download.

  ■ Downloading an SSH Client と Downloading a Remote Desktop Client   今回はMacからLinuxインスタンスを作ってことで飛ばします。   ■ Getting Your Access Key ID and Secret Access Key   アクセスキーは前回のEclipseの時に作ったのでそれで。 Access Key ID と Secret Access Key をメモっておきます。   ■ Tell the Tools Where Java Lives   Javaの場所を教えてあげる必要があるのですが、シムリンク使えない的な事が書いてあるので、 ↓でパスみて、

$ which java
/usr/bin/java

↓でシムリンク確認して、

$ ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 Mar  8 23:07 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

なんか複雑な、、って思ってたら /Library/JAVA/Home にしとけばイイんじゃね?ってことみたい。。 ってことで↓。なんかちょっと古いけど。。

$ export JAVA_HOME=/Library/JAVA/Home
$ env | grep JAVA_HOME
JAVA_HOME=/Library/JAVA/Home
$ echo $JAVA_HOME
/Library/JAVA/Home
$ $JAVA_HOME/bin/java -version
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)

  ■ Tell the Tools Where They Live   次に先ほどダウンロードしたツールの場所を教えてあげます。

$ export EC2_HOME=/Users/eiji/Downloads/ec2-api-tools-1.6.7.2/
$ env | grep EC2
EC2_HOME=/Users/eiji/Downloads/ec2-api-tools-1.6.7.2/

そしたら↓あー、スラッシュ2回。。ダリィ、、的な。

$ echo $PATH
/usr/local/opt/ruby/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/eiji/Downloads/ec2-api-tools-1.6.7.2//bin

↓まぁ、動くべ…と。

$ ec2
Display all 318 possibilities? (y or n)
ec2-activate-license                       ec2addgrp
ec2-add-group                              ec2addigw
ec2-add-keypair                            ec2addixt

  ■ Tell the Tools Who You Are   コレも環境変数に設定する感じ。

$ export AWS_ACCESS_KEY=AKIAJGYRKA7PV7L2XYAA
$ export AWS_SECRET_KEY=xxxxxxx

  ■ Using a Proxy   今回はProxyとか必要ない環境でやってるので省略。 んま、Javaなので普通に-Dオプションで設定する感じ。   ■ Verify the Tools Setup   いよいよそれっぽいコマンド叩きます。が、、、

$ ec2-describe-regions
/Users/eiji/Downloads/ec2-api-tools-1.6.7.2//bin/ec2-describe-regions: line 11: /Users/eiji/Downloads/ec2-api-tools-1.6.7.2 /bin/ec2-cmd: No such file or directory

↓あるしね。。。

$ ls -l /Users/eiji/Downloads/ec2-api-tools-1.6.7.2/bin/ec2-cmd
-rwxrwxr-x@ 1 eiji  staff  1826 Apr  8 06:23 /Users/eiji/Downloads/ec2-api-tools-1.6.7.2/bin/ec2-cmd

ってことでもっかい、、

$ export EC2_HOME=/Users/eiji/Downloads/ec2-api-tools-1.6.7.2

ようやく、、

$ /Users/eiji/Downloads/ec2-api-tools-1.6.7.2/bin/ec2-describe-regions
REGION  eu-west-1   ec2.eu-west-1.amazonaws.com
REGION  sa-east-1   ec2.sa-east-1.amazonaws.com
REGION  us-east-1   ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  us-west-2   ec2.us-west-2.amazonaws.com
REGION  us-west-1   ec2.us-west-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
REGION  ap-southeast-2  ec2.ap-southeast-2.amazonaws.com

  ■ Set the Region   リージョン選びます。とりあえず東京で。

$ export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com

  っていうか、ここまできて日本語のページ見つけたり…orz http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/setting-up-your-tools.html んま、とりあえずセットアップのドキュメントに書いてあったのはここまで。 ということで、ここからは適当にコマンド眺めながら叩いてみます。   インスタンスの状態をみてみる    ↓のようにいくつかインスタンス浮いてるので、   とりあえず状態をみてみます↓

$ ec2-describe-instances i-e951aaeb
RESERVATION r-e8a4f2eb  690078619987
INSTANCE    i-e951aaeb  ami-f50783f4        ip-10-0-0-6.ap-northeast-1.compute.internal running eshinohara  0       t1.micro    2013-04-12T10:49:58+0000    ap-northeast-1aaki-ee5df7ef         monitoring-disabled     10.0.0.6    vpc-d59783bc    subnet-6690840f ebs                 paravirtual xen wDzOK1365763797643  sg-af746dc3 default false
BLOCKDEVICE /dev/sda1   vol-d23865f0    2013-04-12T10:50:01.000Z    false
NIC eni-1493877d    subnet-6690840f vpc-d59783bc    690078619987    in-use  10.0.0.6        true
NICATTACHMENT   eni-attach-101c9179 0   attached    2013-04-12T19:49:58+0900    true
GROUP   sg-af746dc3 wp app
PRIVATEIPADDRESS    10.0.0.6
TAG instance    i-e951aaeb  Name    AZ-A-WP1

  とりあえずAWSに繋いでEC2系のコマンド叩けそうなのは確認できました。   チートシート ↓をひと通りみてたら、   ↓がナイスなPDFなチートシートでした。 Amazon EC2 Command Line Tools Quick Reference Card   ↓どうもec2-run-instancesでインスタンスを作れそうなのが分かります。   インスタンスを作ってみます。   チートシートをちゃんと見もしないで↓とりあえず当てずっぽうで叩いてみますw

$ ec2-run-instances
Required parameter 'AMI' missing (-h for usage)

  AMIを指定しなはれってことみたいなのですが、IDって何?とか思ってググると、 ↓のコマンドラインリファレンスのページでec2-describe-imagesで分かりそうなのが分かります。   叩いてみると、ami-cc75f7cd がIDなのかな、と。   で、ec2-run-instances ami-cc75f7cd で叩くと、、   お。。名前とか指定してないからアレだけど動いてるくさい。。w   インスタンスを落とします   ってことで、時間が迫ってきたので落として今日のところはインスタンス落として終わります。   ec2-terminate-instances インスタンス名を叩きます。   ↓画面からみても落としてそうな感じです。   ↓terminatedになりました。   めでたしめでたし。     ■ 成果発表会   新宿エルタワーコワーキングスペースL15は、プロジェクターと繋がったApptleTVが備え付けてあって、 AirPlayでお手軽に↓こんな感じで発表できちゃったりしてとてもナイスです。

https://twitter.com/shinodogg/status/324496106249666560

 

Amazon Web Services クラウドデザインパターン 設計ガイド
玉川 憲 片山 暁雄 鈴木 宏康
日経BP
売り上げランキング: 11,121