EC2: インスタンスをすべて停止

概要

「EC2: インスタンスをすべて停止」アクションでは、選択した複数のAWSアカウントのすべてのリージョンで実行中のEC2インスタンス(以下インスタンス)を一括して停止することができます。

例えば、ジョブに3つのAWSアカウントを設定した場合は「3つのAWSアカウントそれぞれで、利用可能な全リージョンで実行中のEC2インスタンスすべて」が1回のジョブ実行で停止されます。

なお、特定のタグが付与されているインスタンスを停止する対象から除外することもできます。

設定時のオプション

No. オプション 説明
1 特定のタグが付いたインスタンスを除外する

実行中のインスタンスのうち、停止させたくないインスタンスをタグで指定したい場合にチェックします。

例えば以下のように設定すると、ジョブ実行時にタグ「CAStop:No」がついているインスタンスは停止しなくなります。

ca-manual-02.png

設定例

「EC2: インスタンスをすべて停止」アクションを使ったジョブを作成してみます。

  1. Cloud Automator の運用ジョブ画面から「ジョブの追加」ボタンをクリックします
  2. ジョブを所属させるグループを選択します
  3. トリガーの選択で、任意のトリガーを選択します
  4. アクションの選択で「EC2: インスタンスをすべて停止」アクションを選択します
  5. AWSアカウントの選択でAWSアカウントを1〜30件以内で選択します
    • 複数選択する場合は、Windowsの場合はCtrlキーを押しながら、macOSの場合はCmdキーを押しながら選択肢をクリックしてください。Shiftキーを押しながら一括選択することもできます。
  6. アクションのパラメーターを設定します
    No. オプション 設定値の例
    1 特定のタグが付いたインスタンスを除外する チェックしない
    ca-manual-03.png

実行結果の確認

  1. 作成したジョブのログボタンをクリックします
  2. 実行ログ一覧から該当の実行ログの詳細をクリックします
  3. ログの詳細にて結果を確認します
    「成功」となっていれば該当のジョブが実行されて成功していることが確認できます。
    「実行中」となっている場合はジョブの実行中なのでしばらく経ってから確認してください
  4. それぞれのインスタンスの操作結果は「リソース操作結果」の項目で確認できます
    • 実行中だったインスタンスが問題なく停止できた場合は「成功 (completed)」として扱われます
    • 既に停止しているインスタンスや、除外する対象とするタグが付いているインスタンスは「スキップ (skipped)」として扱われます
    • 実行中だったインスタンスを停止できなかった場合は「失敗 (aborted または failed)」として扱われます
    • 権限不足などにより、リージョン情報やインスタンスの一覧を取得できなかった場合は「失敗」タブにエラーメッセージが表示されます

以上で「EC2: インスタンスをすべて停止」アクションを使ったジョブの実行結果が確認できました。

ログのステータス条件

ジョブの実行結果 条件
成功

停止すべきインスタンスがすべて問題なく停止できた場合。この時、スキップされたインスタンスがあっても成功となります。

失敗

以下の場合に失敗となります。

  • AWSアカウントの権限不足などにより、リージョン一覧やインスタンス一覧を取得できなかった場合
  • 停止に失敗したインスタンスがあった場合
  • 停止後の状態がstopped以外になったインスタンスがあった場合
  • 停止対象のインスタンスが1つも見つからなかった場合

リソース操作履歴のステータス条件

リソース操作結果 条件
Completed インスタンスに対するStopInstances APIリクエストが成功して、一定時間内にインスタンスの状態がstoppedになった場合。
Failed

以下のような場合。

  • インスタンスに対するStopInstances APIリクエストが失敗した場合
  • インスタンスの停止後の状態がstopped以外になった場合
Skipped

以下のような場合。

  • インスタンスが既に停止している場合
  • インスタンスに除外する対象とするタグが付いている場合

注意事項

このアクションには以下のような制限があります。

  • 1つのジョブで設定できるAWSアカウントの数は最大30件
  • AWSアカウントで利用可能なすべてのリージョンが処理対象となる(除外するリージョンを指定することはできない)
  • AWSアカウント1つにつき、停止できるインスタンスは最大で200台(すべてのリージョンにあるインスタンスを合計して200台まで)
    • したがって、1回のジョブ実行で停止できるインスタンスの上限は6,000台
  • AWSアカウント1つにつき、すべてのリージョンにある対象インスタンスの合計が200台を超えている場合は、ランダムに選ばれた200台が対象となる

このアクションは対象のインスタンスを一括停止しようとするため、他のアクションに比べて消費されるアクティビティが多くなる傾向があります。例えば、3つのAWSアカウントで合計100台のインスタンスを停止させるジョブを毎日実行した場合、30日間で約3,000アクティビティを消費する可能性があります。

ご契約中のプランで設定されている運用ジョブ実行上限を超過しないよう、あらかじめ消費アクティビティ数の試算をされることをお勧めします。

このアクションで利用されるAWS API

当アクションの実行には以下のAWS APIを利用しています。
実行するAWSアカウントにはこれらのAPIを実行可能なIAMポリシーがアタッチされている必要があります。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください