EC2 API Tools for Windows

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。
みなさん、こんにちは
テクニカルチームの宮澤です。
 
今回は、Windowsに"EC2 API Tools"を導入して、API を利用してインスタンスを立ち上げたいと思います。 

Amazon EC2 API Toolsとは?

Amazon Web ServicesのAmazon EC2をAPIで操作するためのコマンドラインツールです。
私達がよく使っているManagement Consoleは、裏でAPIを実行して動作をしています。

1.準備

Amazon EC2 API Tools(以下API Tools)をインストールする為に、必要な以下のものを用意します。
  • AWSアカウントID
  • アクセスキーID
  • シークレットアクセスキー
  • X509証明書
  • 秘密鍵ファイル
Management Consoleを利用している場合、右上のプルダウンメニューから、"Security Credential"を選択することで、
必要な情報が取得できます。

2.インストール

Ⅰ.ダウンロード
API ToolsをAWSの公式ページからダウンロードします。
また、API ToolsはJavaにより動作しているためJavaをインストールする必要があります。
こちらのリンクをたどると以下のサイトに移動しますので、そこからJavaをインストールしてください。

Ⅱ.インストール
  • ダウンロードしたAPI Toolsを"C:"に展開します。
  • 展開したフォルダにアクセスキーとシークレットアクセスキーを配置しておきます。
  • 環境変数の設定
ファイルを展開しただけではWindowsのコマンドプロンプトではコマンドを利用することができません。
そのため、以下のように環境変数を設定してコマンドを実行できるようにします。

  • バッチファイルの作成
環境変数をコマンドプロンプトで実行した場合、閉じてしまうと再度環境変数を設定しなければなりません。
その手間を省くために、環境変数設定のバッチファイルを作成します。
複数のAWSアカウント、リージョンを使っている場合は、個別に用意しておくと非常に便利です。
ファイル名は".bat"形式で作成します。

※リージョンは使用したいリージョンを記述してください。
※作成したバッチファイルはコマンドプロンプトのホームディレクトリに配置してください。

3.API Toolsの実行

  • バッチファイルの実行
コマンドプロンプトから、先ほど作成したバッチファイルを実行します。
バッチファイルを実行することで、環境変数が設定されます。
  • 動作確認
”ec2ver”とコマンドを実行し、バージョンが表示されればAPI Toolsが動いていると確認できます。

4.インスタンスの起動

ここからは実際にインスタンスを起動して使えるようにしたいと思います。

Ⅰ.キーペアの作成
  • キーペアの一覧を表示

キーペアを作成する際に同じ名前のキーは作成できないので、現在のキーペア一覧を取得し、確認します。

  • キーペアの作成

今回はdemo_keyというキーペアを作成したいと思います。キーペアを作成する際にオプションを付けて、キーペアをローカルマシンに保存します。

※ローカルに保存したキーはインスタンスにログインする際に利用しますので大切に保管してください。

Ⅱ.セキュリティーグループの作成

  • セキュリティーグループの一覧を表示

  • セキュリティーグループの作成

セキュリティーグループはdemo_sgを作成します。

  • セキュリティーグループの設定
セキュリティーグループで接続を許可するポートを指定します。
今回はICMPとHTTP、RDPを許可します。

Ⅲ.インスタンスの起動
  • 起動に利用するAMIを探す

以下のコマンドでAWS上にあるAMIの一覧を表示します。

これではAMIが大量に表示され、見つけることが難しいので、以下のようにオプションやパイプコマンドで"find"を使い条件を絞って表示させることできます。

例1:Amazonの提供しているイメージからFedora8の32bitのイメージを探す。

例2:自分のアカウントで作成したAMIを探すときは以下のようにします。

  • AMIからインスタンスを起動
先程探したWindowsAMI(ami-2ae95f2b)を利用して、インスタンスを起動したいと思います。
インスタンスを起動するために以下のコマンドを実行します。

このようにオプション無しで起動すると、デフォルトのセキュリティーグループ、キーペアなし、smallインスタンスで起動してしまいます。
以下のように詳細を指定して起動することもできます。

Ⅳ.Elastic IPの割り当て
  • ElasticIPの一覧を表示

  • Elastic IPの割り当て

  • Elastic IPの取り外し

Ⅴ.インスタンスの停止、削除

  • インスタンスを停止する

  • インスタンスを削除する

5.まとめ

実際にインストールを行い、利用してみると、Linuxと同様に動作をしました。
しかし、Tabの補完機能などが使えないところが残念な所です。
Windowsを使っていると、ついManagement Consoleを使ってしまいがちですが、ELB(Elastic Load Balancing)のSSL証明書の更新はELBのAPI Toolsを使わないと作業ができません。
このように、API Toolsを使う場面は必ず現れるので、入れておくに越したことはないと思います。
Amazonのクラウドを利用しているなら、この機会に”Windows”にAPI Toolsをインストールしてみてはいかがでしょうか。

ご参考までに、関連するコマンドをまとめた表を作成致しました。

内容 コマンド
リージョン一覧 ec2-describe-regions
キーペア一覧 ec2-describe-keypairs
キーペア作成 ec2-add-keypair KeyPair名
キーペア削除 ec2-delete-keypair KeyPair名
セキュリティーグループ一覧 ec2-describe-group
セキュリティーグループ作成 ec2-add-group セキュリティーグループ名
セキュリティーグループ削除 ec2-delete-group セキュリティーグループ名
AMIの一覧 ec2-describe-images
インスタンスの一覧 ec2-describe-instances
インスタンスの起動 ec2-run-instances AMI名
インスタンスStart ec2-start-instances インスタンスID
インスタンスStop ec2-stop-instances インスタンスID
インスタンスTerminate ec2-terminate-instances インスタンスID
Elastic IP一覧 ec2-describe-addresses
Elastic IP取り付け ec2-associate-address -i インスタンスID Elastic IP
Elastic IP取り外し ec2-disassosiate-address Elastic IP
AWS運用自動化サービス「Cloud Automator」