ランサーズ(Lancers)エンジニアブログ > AWS > AWSのEC2 API Toolsをインストールなしで利用する方法

AWSのEC2 API Toolsをインストールなしで利用する方法

blog_admin|2012年12月14日
AWS

こんにちは、ランサーズ インフラ担当のkeiです。
本日は、EC2 API Toolsをインストール作業をすることなく利用する方法をご紹介します。
ランサーズでは、試験環境から本番環境までAWS上でサーバ運用をしており、
先日、Amazon様の事例紹介ページに掲載して頂きました。

EC2 API Toolsとは

EC2 API Toolsは、EC2をAPI経由で操作するためのコマンドラインツールです。
最近は、Management Consoleからほとんどの操作が可能ですが、EC2 API Toolsを用いないとできない操作も存在します。
また、シェル等と組み合わせることで、より柔軟なサーバ運用が可能となります。

インストールなしで利用する方法

EC2 API Toolsは、AWS公式ページからダウンロードしてインストールが可能ですが、
Amazon Linuxには最初からインストールされています。
ちょっとした用途で使いたい場合、Amazon Linux AMIからインスタンスを作成し、設定をすることで利用可能です。以下に手順を示します。

Amazon Linuxインスタンスを作成する

EC2のManagement Consolにアクセスし、Launch Instanceを選択後、
AMI選択画面で、Amazon Linux AMIを選択します。

ゾーンやプライベートIP、セキュリティグループ等を設定後、鍵生成画面において「Create a new Key Pair」を選択します。

以上でインスタンスの作成は完了です。
VPS内にインスタンスを作成した場合、ローカル環境からアクセスするために、EIPを付与しておきます。

X.509 証明書の取得

AWSのサイト(要ログイン)より、API Toolsの実行に必要な証明書を取得します。
ページ中腹にあるX.509 証明書タブ内の「新しい証明書を作成する」リンクをクリックし、秘密鍵と証明書の両方をダウンロードします。
以下のようなファイルです。

  • cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
  • pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem

Amazon LinuxにSSHでログインする

  1. sshターミナルを開く
  2. インスタンス作成時にダウンロードした鍵の権限を変更する
  3. chmod 400 ec2key.pem
  4. sshで接続する
  5. ssh -i ec2key.pem ec2-user@PublicDNSName

    ※PublicDNSNameは、Management Consoleから確認可能
    ※VPS内に作成した場合は、PublicDNSNameをEIPに変更

  6. 秘密鍵、証明書をアップロードする

API Toolsの設定

  1. アップロードした秘密鍵、公開鍵をEC2_HOME配下にコピーする
  2. cp pk-xxxxxxxxxxxx.pem /opt/aws/apitools/ec2/
    cp cert-xxxxxxxxxxxx.pem /opt/aws/apitools/ec2/
  3. .bachrcに各種パスを追記
  4. vi ~/.bashrc
  5. 以下を追記
  6. 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 EC2_URL=http://ec2.ap-northeast-1.amazonaws.com
    
  7. 反映
  8. source ~/.bashrc
  9. 動作確認(インスタンス概要を表示)
  10. ec2-describe-instances インスタンスID

.bashrcの最終行は、リージョンとして東京を設定しています。
指定しない場合は、コマンド実行時に–regionオプションでゾーンIDを指定します。

以上でEC2 API Toolsの利用が可能です。
コマンドリストはこちらのサイト等をご参考下さい。

★告知★
2013/1/21に、以下のイベントでお話させて頂くこととなりました。
AWS、MySQLの負荷対策 ~日本最大級クラウドソーシングサービス「ランサーズ」を支えるインフラ~
ランサーズでのAWS,MySQLの運用ノウハウについてお伝えできればと思います。
皆様のご参加をお待ちしております!