【小ネタ】同じEC2インスタンスを楽ちんに起動する(AWS CLI)

2023.11.09

マネジメントコンソールのEC2インスタンス起動ウィザードは どんどん改善されています。 昔は複数の画面遷移を経て作成しないといけないところを、 今では1画面内でEC2インスタンス作成まで持っていけます。便利です。

ただ検証のためにクイックに何度も立ち上げたいとなると、 やはり面倒ですよね。

本ブログで同じEC2インスタンスを楽ちんに起動する手順を紹介します。 AWS CLIを活用します。

手順

マネコンで作りたいインスタンスのパラメータを指定する

EC2コンソールから [インスタンスを起動] を選択します。

img

起動ウィザード上で「これから何度も作っていきたいインスタンス」 のパラメータを入力していきます。

img

※セキュリティグループは既存のもの(existing security group)を選びましょう。

リクエストパラメータをメモする

ウィザード右側にある [概要 > コマンドを確認] を選択します。

img

すると、指定したパラメータでインスタンスを起動するための リクエストパラメータをJSONで取得できます。

img

[コピー] を選択して、手元に残しておきましょう。

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}"

img

▲インスタンスが作成されました

もしくはJSONファイルとして保存して、それを入力に起動できます。

# EC2インスタンスの起動
aws ec2 run-instances --cli-input-json file://./request_param.json

おわりに

コスト削減のために検証のたびにインスタンスを作成している、 といったケースでは役に立つのではないでしょうか。

どなたかの参考になれば幸いです。

参考