1クリックでEC2を起動する(AWS CLI + Windows batファイル)

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

趣旨

文字通り、Windows PCから1クリックでEC2インスタンスを起動します。
UserDataを利用して初期セットアップも可能です。
※セキュリティグループとキーペアの存在が前提です。

大まかに言うと、

・AWS CLI for Windows
・batファイル

を利用します。

IAMユーザ作成

Windows PCでAWS CLIを利用する為のIAMユーザを作成します。
EC2を起動する為のユーザなので、EC2のFullAccess権限があれば充分でしょう。

IAM(ユーザ)コンソールで[ユーザを追加]。

ユーザ名(分かりやすいもの)を入力、
[プログラムによるアクセス]を選択して[次のステップ]。

[既存のポリシーを直接アタッチ]を選択、
[AmazonEC2FullAccess]にチェックして[次のステップ]。

[ユーザーの作成]でユーザ作成は完了です。

最後に表示されるアクセスキーとシークレットアクセスキー(クリックして表示)をメモします。

AWS CLI for Windowsのインストール、セットアップ

公式ページからインストーラをダウンロードし、インストールします。

インストール後、コマンドプロンプトで下記のようにセットアップを進めます。
さきほどメモしたアクセスキー・シークレットアクセスキーも入力します。

batファイル作成

下記内容をメモ帳などのテキストエディタに貼り付け、
batファイル(末尾.bat)として保存します。

黄色で示した部分は適宜修正して下さい。

タスクバーに登録

batファイルからショートカットを作成し、
そのショートカットをタスクバーに登録します。
詳細はこちらを参照して下さい。

タスクバーに追加したアイコンをクリックして、
新規EC2が立ち上がれば成功です。

おまけ①Userdataによる初期セットアップ

EC2作成時、Userdataで起動時に各種インストールコマンドを実行させることが可能です。

CLIでUserdataを利用する場合は、下記のようにします。

「初期セットアップ.txt」の内容は、
例えば下記のようなものです。

他にも、各種ミドルウェアのインストール等を記述すれば
テンプレートサーバの1クリック起動が可能になります。

おまけ②タグを指定する

おまけと銘打っていますが、個人的にはここがメインです。
下記内容のbatファイルで、起動時にNameタグ(TagTest)を付与できます。

describe-instancesコマンドでqueryオプションが使えるのは知られていますが、
実は(?)起動時(run-instances)でも同じオプションが使えます。
下記コマンドを実行すると、作成されたEC2のインスタンスIDだけ出力されるはずです。

おまけ②-2:任意のインスタンスNameを指定(入力)する

バッチファイルにNameタグの内容を記述するのではなく、
バッチ起動時にユーザからの入力を読み込むようにしました。

投稿者プロフィール

sato
2015年8月入社。弊社はインフラ屋ですが、アプリも作ってみたいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.