こんにちは!Narimasaです!
前回は「Amazon Zocalo編~デスクトップ同期アプリケーション②~」と題して、WorkspacesとZocaloの連携や、同期アプリケーションの詳細について紹介しました。
今回は「Amazon EC2編~API Toolsでインスタンススペック変更~」と題して、EC2-API-Toolsを使って、インスタンスの起動・停止・スペック変更を行う手順を紹介致します。
EC2-API-Tools
EC2-API-ToolsはAWSコンソールで設定することで、インスタンスの作成や停止などをコマンドラインから行うためのツールです。
Amazon-LinuxのAMIで立てたインスタンスには最初からAPI-Toolsがインストールされていますが、その他OSの場合は下記サイト等からダウンロードする必要があります。
今回は、Amazon-Linuxのインスタンスを用います。
API Toolsの設定方法
EC2-API-Toolsがインストールされているかどうかは以下のコマンドで確認できます。
1 |
#ec2-version |
※現行の最新版は1.7.0.2となっています。
Amazon-Linuxのインスタンスを使う場合、JAVAやAPI-Tools自体のPATH設定が不要となっております。
必要な環境設定は以下の3つです。
1 2 3 |
#export AWS_ACCESS_KEY=******************* #export AWS_SECRET_KEY=******************* #export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com |
アクセスキーとシークレットキーはIAMから発行したユーザーのモノを入力します。
※以前はルートアカウントのキーを利用できましたが、現在は取得不可になったためIAMユーザーを作成することをおすすめします。
動作確認は以下のコマンドでできます。
1 |
#ec2-describe-instances |
※そのリージョンに存在するEC2インスタンスの詳細が表示されます。
時間指定でEC2インスタンスを動作させる
EC2-API-Toolsをcronに書き込むことで、指定した時間にEC2インスタンスを動作させることが可能です。
これで真夜中に直接AWSコンソール画面から操作するというようなこともせずに済みます。
例えば、29日の深夜1時から稼働中のインスタンスのサイズをm3.mediumに変更したい場合は以下のように記述します。
1 2 3 4 5 6 7 |
/etc/cron.d vi instance-change #!/bin/sh 1 1 29 * * root ec2stop $instance_id 6 1 29 * * ec2-modify-instance-attribute --instance-type m3.medium $instance_id 11 1 29 * * ec2-start-instances $instance_id |
なお、cronで指定する分単位は「*時0分」などの時間を避けることをおすすめします。
ミドルウェアの挙動によっては時間単位で設定していることがあり、負荷が集中する恐れがあるからです。
いかがでしたでしょうか。
EC2-API-Toolsを有効活用してサーバの運用負担を減らすことができます。
次回もお楽しみに!!