【小ネタ】同じEC2インスタンスを楽ちんに起動する(AWS CLI)
マネジメントコンソールのEC2インスタンス起動ウィザードは どんどん改善されています。 昔は複数の画面遷移を経て作成しないといけないところを、 今では1画面内でEC2インスタンス作成まで持っていけます。便利です。
ただ検証のためにクイックに何度も立ち上げたいとなると、 やはり面倒ですよね。
本ブログで同じEC2インスタンスを楽ちんに起動する手順を紹介します。 AWS CLIを活用します。
手順
マネコンで作りたいインスタンスのパラメータを指定する
EC2コンソールから [インスタンスを起動] を選択します。
起動ウィザード上で「これから何度も作っていきたいインスタンス」 のパラメータを入力していきます。
※セキュリティグループは既存のもの(existing security group)を選びましょう。
リクエストパラメータをメモする
ウィザード右側にある [概要 > コマンドを確認] を選択します。
すると、指定したパラメータでインスタンスを起動するための リクエストパラメータをJSONで取得できます。
[コピー] を選択して、手元に残しておきましょう。
AWS CLIでインスタンスを起動する
先程のメモを使ってインスタンスを起動します。 AWS CLI(ローカルか AWS CloudShell) を使います。
以下のようなコマンドでインスタンスを起動できます。 request_paramに先程のJSONメモ情報を入れています。
request_param=$(cat << EOS { "MaxCount": 1, "MinCount": 1, "ImageId": "ami-098940df4d3292e9a", # 略 (ここに先程メモしたJSONを貼り付ける) } EOS ) # EC2インスタンスの起動 aws ec2 run-instances --cli-input-json "${request_param}"
▲インスタンスが作成されました
もしくはJSONファイルとして保存して、それを入力に起動できます。
# EC2インスタンスの起動 aws ec2 run-instances --cli-input-json file://./request_param.json
おわりに
コスト削減のために検証のたびにインスタンスを作成している、 といったケースでは役に立つのではないでしょうか。
どなたかの参考になれば幸いです。