前回、EC2の自動起動/停止の設定を行いました。
1台のインスタンスを対象にしていた場合は上手くいったのですが、
複数インスタンスを設定した際、エラーとなってしましたので、その解決方法も含め記載致します。
■複数台のインスタンスを対象にした場合の設定値(NGパターン)
特に何も考えずにCloudwatch EventsのルールでInstanceIdを以下のように入力(カンマ区切り)したところ、Automationでエラーとなりました。
【入力値】※カンマ区切り
i-XXXXXXXXXXXX,i-YYYYYYYYYYYY
Automationエラーは以下の通りです。
■複数台のインスタンスを対象にした場合の設定値(OKパターン)
Cloudwatch Eventsのルールにて、以下のように入力する必要があります。
【入力値】
["i-XXXXXXXXXXXX","i-YYYYYYYYYYYY"]
■Automation動作について
【停止しているEC2に対して自動停止処理が実施された場合について】
Automationの実行結果は、「成功」になります。
【Automationで2台のEC2をしている場合、片方が停止、もう片方が起動している状態で、自動停止処理が実施された場合について】
Automationの実行結果は、「成功」になります。
停止しているEC2は無視され、起動していたEC2は停止状態になります。
【起動しているEC2に対して自動起動処理が実施された場合について】
Automationの実行結果は、「成功」になります。
【Automationで2台のEC2をしている場合、片方が停止、もう片方が起動している状態で、自動起動処理が実施された場合について】
Automationの実行結果は、「成功」になります。
起動しているEC2は無視され、停止していたEC2は起動状態になります。
■総括
Automationの実行は冪等性のようです。
起動停止しか試していないので断言するには早いのですが、検証結果では上記の通り冪等性が保証されているような印象を受けました。
以上です。