Cloud Computing

【AmazonサーバでFrontier】

4、AMIを触る


いつまでに終わるかの目処は全く立たず。
だがしかし!
案ずるより産むが易しって事で、やってみる事に。

まずはAmazonサーバで仮想OSを立ち上げなければいけない。
そのためにはAMI(Amazon Machine Image)と言うものを使うとの事。

AMIってのは簡単に言えばOSの卵みたいなもの(多分)
既にOS、もしくはソフトウェアがインストールされた状態のものを選んで
起動させれば仮想サーバが立ち上がる。(らしい)
そして、その卵があればいくつでもポンポン仮想OSを立てられると言う仕組み。(らしい)

「多分」「らしい」ばかりじゃだめなので実行に移しましょう。

今回は、入門書と同じ型番のAMIを使用してサーバを立ち上げる事にする。
何も準備が無くても仮想OSを立ち上げるのは可能だが
立ち上げた後に何もできないので準備をしてから始める。

まず以下の事前準備が必要。

●ファイルのダウンロード、ID系情報の取得
・Amazon EC2 コマンドラインツールのダウンロード
 Windowsのコマンドプロンプトで動かすために必要なコマンドラインツールをダウンロードする。

・JRE(Java Runtime Environment)のダウンロード(ない場合)
 私の場合、既に入ってたのでダウンロードの必要はなし。
 ない人はJavaのHPよりダウンロード

・本家Amazonサーバよりファイルのダウンロード
 X.509 証明書※の発行、ダウンロード(※公開鍵証明書の規格の一つ)
 Private Key fileのダウンロード

・本家AmazonサーバよりIDのメモ(ページで確認)
 Access Key ID
 Secret Access Key

●ファイルの配置、環境変数の設定
・ダウンロードしたファイルを適当な場所に配置
 私はCドライブ直下に「amazon」フォルダを作成して、その中に全部置いてみる。

・環境変数を設定
 配置したら、Windowsの環境変数に以下の変数の設定を行う。
 私の場合こんな感じ。

EC2_HOME=C:\amazon\ec2tool
PATH=%PATH%;%EC2_HOME%bin
EC2_PRIVATE_KEY=C:\amazon\key\[Private Key fileのファイル名]
EC2_CERT=C:\amazon\key\[X.509 証明書のファイル名]
JAVA_HOME=C:\Program Files\Java\[インストールしてあるJREディレクトリ]

※環境変数の設定方法
 マイコンピュータ右クリック → プロパティ → 詳細設定 → 環境変数

準備が出来たら早速触ってみる。

○ AMI 起動
 まずコマンドプロンプトを立ち上げる。
 スタート → ファイル名を指定して実行 → 「cmd」と入力してOK

・ツールのbinディレクトリへ移動
 cd C:\amazon\ec2tool\bin

 cdと言うコマンドはLinuxと同じで移動コマンド
 helpって打つと、色々なコマンドが出てくるので参照してみると良いです。

・AMI一覧の表示
 AMIを選ぶために一覧を出す。
 っていうか最初は選びようが無いと思うが、入門書通り打ってみる。
 以下コマンドはツールのbinディレクトリで打たないと効果ありません(念のため)

  ec2-describe-images -o self -o amazon

 上記のコマンドは自分で作った(-o self)AMIとAmazonが
 提供している(-o amazon)AMIを表示してくださいと言うコマンドです。
 実際にAmazonサーバに問い合わせてるので、少し待つ。

 出た。
 一覧を見ても良く分からないけど、コマンドはちゃんと打ててるっぽい。

・SSH接続するためのキーファイルの作成
 どうやら鍵を作らないといけないみたい。

  ec2-add-keypair [キーファイル名]

 出力された文字列を全てコピーしてファイルに保存。

 このファイルは自分のマシンからAmazonサーバへ繋ぐ際に必要になる。
 キーファイルと言う名前の通り、ここで作成した「鍵」が無いと
 Amazonサーバでは扉を開けてくれず、入れないので注意!
 今時「俺だよオレオレ!」じゃ開けてくれないんですね。

 このファイルは後ほど使うため、とっておきます。

・インスタンス起動
 いよいよ起動。
 今回は「ami-f51aff9c」と言うAMIを指定してインスタンス起動してみる。

  ec2-run-instances ami-f51aff9c -k [キーファイル名]

 お!なんか表示された!

 ・・・
 ・・・・・・
 ・・・・・・・・・

 どうなった?
 とりあえずコマンドを打ったんだけど、それ以降何も変化が無い。
 ちなみにコマンドを打った後は、Amazonサーバ側で仮想OSが
 立ち上がってる最中。
 状態を確認したい場合は以下のコマンドを打ってみる。

  ec2-describe-instances i-xxxxxxxx

 i-xxxxxxxxは、さっきのコマンドを打った後に表示された情報で出てきたもの。
 立ち上げたインスタンスを指すみたい。

 多分30秒~かかるんじゃないかと。
 普通にパソコンを立ち上げるのと同じくらい時間はかかると思った。

 んで、何回か上のコマンドを打ってると以下の文字が出てくる。

  ec2-xxx-xxx-xxx-xxx.ompute-1.amazonaws.com
  ※xxxはIPに該当する数字

 これが出てきたら起動しましたよって言うサイン。
 これがホスト名になるらしい。
 待ってたんだから!

 う~ん、でも本当に動いてるのか全然わからない。。
 インスタンス起動時にapacheも起動するようになっていれば
 ブラウザからアクセスしてみる手もあるらしいんだけど
 今回選んだAMIはインスタンス起動時にはapacheは起動しないらしい。
 って事でツールを使ってコマンドラインでサーバにログインしてみる。

 ちなみにapacheが起動していれば、さっきのホスト名をURLに打ち込むとapache画面が表示されるよーです。

  http://ec2-xxx-xxx-xxx-xxx.ompute-1.amazonaws.com/
もしくは
  http://xxx.xxx.xxx.xxx/

 あたいは表示されませんでしたよ、ぶー…

○ 立ち上げたインスタンスに接続
 AMIからインスタンスが本当に動いているのか確認してみる。

1) 以下ツールをダウンロード
 ・PuTTY
  コンソールからAmazonサーバへアクセスするためのツール

 ・WinSCP
  ファイル操作ツール

 それぞれダウンロードしてインストール。
 日本語版もあるみたいなのでお好みで。
 私は日本人なので日本語版。

 ちなみに上記ソフトを使わなくても出来るのだが、最初なので
 本の通りに進めてみる。

2) キーファイルのコンバート
 WinSCPをインストールすると「PUTTYGEN」というツールも一緒に出来るのでそのツールを使って先ほど作ったキーファイルのコンバートを行う。

3) ツールの設定
 ・PuTTY、WinSCPとも下記を設定する。
  ホスト名:ec2-xxx-xxx-xxx-xxx.ompute-1.amazonaws.com
  ユーザ名:root
  キーファイル:さっき作ったコンバート済キーファイル(以下キーファイルと言う)

4) 接続
 上記が終わったら早速接続

 おお!接続できた!
 PuTTYはターミナルが開き、コマンド待ち状態
 WinSCPもFTPのツールのようになってて、使い方も何となくわかる。

 さて、今日はここまでにしようかと言う事で
 立ち上げたインスタンスをシャットダウン

 シャットダウンするにはいくつかやり方があるんだけど
 私はPuTTYのターミナルから直接コマンドを打って終了させる。

  shutdown -h now

 ちなみにrebootだとデータは消えないが
 shutdownすると今までやってきた内容は全部消える。
 今日は2時間ほど触ってシャットダウン。
 お休みなさい。。。

請求は1時間$0.1なので$0.2請求されてた、20円。
シャットダウンすれば課金もされず。
私はこの20円のために1ヶ月以上下調べした感じです。

結局のところ、1日ではどのくらいで出来るか分からず
その旨を社長に報告。
ようやくAmazonのサーバに接続できた事も褒めてもらおうと話題にあげる。

 「じゃあ、今やってるその作業をまとめて、後ほどホームページに載せましょうか」

じゃあ?
飴はなかった、鞭のみ。

 ※※ 社長命令 ※※
  今やってる事をちゃんと記録セヨ!
  (言われなくてもやってましたよー(小声))

達成率 ・・・ 5%
奮闘者:高際

  1. 【 Tの奮闘記 】
  2. 1、1通のメール
  3. 2、Amazon EC2との出会い
  4. 3、他作業に追われる日々
  5. 4、AMIを触る
  6. 5、AMIを作る
  7. 6、仮想OSを立ち上げる
  8. 7、Coming Soon...

Technologies