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でお手軽に↓こんな感じで発表できちゃったりしてとてもナイスです。

 

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

 

Amazon Web Services クラウドデザインパターン実装ガイド
大澤 文孝
日経BP社
売り上げランキング: 9,595

コメント

  1. […] 今までAWSを、Eclipseから叩いたり、コンソールから叩いたりしてきたのですが、 今回はRDSをイジってみようと思います。   ■ 先月の課金   ちょこちょこAWSイジってて、毎回落とすのも面倒くさいなぁと思って ほったらかしてたら、チョイチョイ請求されてた今日この頃ですw     ■ RDSでMySQLインスタンスをマルチアベイラビリティゾーンで立てる   デフォルトはこの画面なのですが、   今回はせっかくなので新しいUIでやってみようと思います。   MySQLで。   Multi-AZ DeploymentをYesにします。   そのままデフォルトで突っ走って、、(ほんとはセキュリティグループとかどのサブネットとかですが。。)   バックアップもなしで。。   Zoneがap-northeast-1aでSecondary Zoneがap-northeast-1cになりました。     ■ EC2インスタンスからデータベースにアクセス   先日支払いに怯えてインスタンスを全てterminateしてしまったので、、   普通にEC2インスタンス立てたのですが、MySQLクライアントとか面倒臭いかなと思って 網元なWordPressのAMI使って立てました。   同じ名前のが2個出てきて気持ち悪いですが、この楽チンさはたまらないですね。。     ■ テーブルを作ってデータの出し入れをしてみる   データベース作って、 […]

タイトルとURLをコピーしました