EC2: インスタンスをWindows Update(新バージョン)

概要

「EC2: インスタンスをWindows Update」アクションでは、WindowプラットフォームのAmazon EC2インスタンス(以下EC2 インスタンス)をWindows Updateすることが出来ます。他のアクションと同様に、リソース IDまたはEC2 インスタンスに付与されているタグでWindows UpdateするEC2 インスタンスを指定することができます。

「EC2: インスタンスをWindows Update (旧バージョン)」との違いは、以下の通りです

  • 適用する更新プログラムのセキュリティ重要度レベルが、旧来より詳細に指定可能
  • インスタンス再起動の許容可否制御が可能
  • ジョブ実行後のリソース終了ステータスのチェックが可能

 

設定時のオプション

No. オプション 説明
1 リージョン Windows UpdateするEC2 インスタンスが存在するリージョンを指定します。
2 インスタンス EC2 インスタンスの名前で指定します。
「Can't find any instances in this region or aws account or platform.」と表示される場合はAWSアカウントやリージョンの選択が正しいかご確認下さい。
特定のタグがついたインスタンス key と value を入力して、起動するEC2 インスタンスをタグで指定します。
指定されたリージョン内で、入力された key と value に一致するタグがついたすべてのEC2 インスタンスが対象となります。
3 適用する更新プログラムのセキュリティ重要度レベル 適用する更新プログラムのセキュリティ重要度について、「すべて適用」または「重要度を選択する」のいずれかを選択します。
重要度を選択する場合は、該当するレベルを選択します。
4 出力先のS3バケット Windows Update実行ログの出力先となるS3バケットを指定します。
5 S3に出力するキーのプレフィックス Windows Update実行ログの主力先となるS3バケット内でプレフィックスを指定する場合に入力します。
例)send-command-log
6 インスタンスの再起動  再起動が必要な更新プログラムの場合に、インスタンスの再起動を行うかどうかを指定できます
※Windows Updateの仕様により、完全には再起動を抑止できません
7 リソースの終了ステータスをチェックする

 ジョブ実行後のリソースの状態までチェックしたい場合に、チェックします。

  • チェックした場合、Windows Updateの完了を待ってジョブの成否を判断します
  • チェックしない場合、APIリクエストの成否がジョブの実行結果成否となります

ログのステータス条件

No. ステータス 説明
1 成功

以下のいずれかで成功となります。

  • 実行コマンドの終了ステータスをチェックしない場合 
  • 実行コマンドの終了ステータスをチェックする場合
    • SendCommand API リクエストが成功且つ、実行したコマンドのステータスが completed になった場合、ジョブが成功した場合
2 失敗

以下のいずれかで失敗となります。

  • 実行コマンドの終了ステータスをチェックしない場合 
    • 指定したEC2インスタンスが存在しない 
    • SendCommand APIリクエストが失敗した場合
  • 実行コマンドの終了ステータスをチェックする場合
    • 指定したEC2インスタンスが存在しない 
    • SendCommand APIリクエストが失敗した場合
    • SendCommand API リクエストが成功且つ、実行したコマンドのステータスが Success 以外( Failed/Timed Out 等)になった場合

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

No. ステータス 説明
1 Completed

以下のいずれかの場合にcompletedとなります。

  • 実行コマンドの終了ステータスをチェックしない場合 
  • 実行コマンドの終了ステータスをチェックする場合
    • SendCommand API リクエストが成功且つ、実行したコマンドのステータスが completed になった場合、ジョブが成功した場合
2 Failed

以下のいずれかの場合にfailedとなります。

  • 実行コマンドの終了ステータスをチェックしない場合 
    • 指定したEC2インスタンスが存在しない 
    • SendCommand APIリクエストが失敗した場合
  • 実行コマンドの終了ステータスをチェックする場合
    • 指定したEC2インスタンスが存在しない 
    • SendCommand APIリクエストが失敗した場合
    • SendCommand API リクエストが成功且つ、実行したコマンドのステータスが Success 以外( Failed/Timed Out 等)になった場合

設定例

  1. Cloud Automatorの運用ジョブ画面から「ジョブの追加」ボタンをクリックします。
    job_add_button.png
  2. グループの選択で、ジョブを所属させたいグループを選択します。
  3. トリガーの選択で、任意のトリガーを選択下さい(例: 即時実行 トリガー)。
  4. アクションの選択で「EC2: インスタンスをWindows Update (新バージョン)」アクションを選択します。
  5. AWS アカウントの選択で、任意の AWS アカウントを選択します。
  6. アクションのパラメーターを設定します。
    No. オプション 設定値の例
    1 リージョン アジアパシフィック (東京)
    2 key environment
    value development
    3 適用する更新プログラムのセキュリティ重要度レベル すべて適用
    4 出力先のS3バケット ssm-logs-cloudautomator
    5 S3に出力するキーのプレフィックス 空白
    6 インスタンスの再起動 「再起動を許可する」にチェック
    7 リソースの終了ステータスをチェックする  チェック
    windows_update.jpg
  7. 成功時、失敗時の後処理を設定します。
  8. ジョブ名を入力し、「作成する」をクリックします。

動作確認

Cloud Automatorのコンソール画面での動作確認

  1. 実行ログ一覧から該当の実行ログの詳細をクリックします。
  2. ログの詳細にて結果を確認します。「成功」となっていれば該当のジョブが実行されて成功していることが確認できます。「実行中」となっている場合はジョブの実行中なのでしばらく経ってから確認してください。
    joblog_windows_update_success.png
  3. それぞれのリソースの操作結果は「AWSリソース操作結果」項目で確認することができます。
    joblog_windows_update_resources.png

AWS Management Consoleでの動作確認

  1. AWS マネジメントコンソールにサインインし、EC2へアクセスします
    windows_update_instance12.png
  2. SYSTEMS MANAGER SERVICESメニュー内のコマンドの実行をひらくと実行結果が閲覧出来ます
    windows_update_instance13.png
  3. AWS マネジメントコンソールメニューよりS3へアクセスします
    windows_update_instance14.png
  4. 指定した出力先のS3バケットへアクセスすると、実行ログが書き込まれています
    windows_update_instance15.png

前提条件

本アクションはバックエンド処理にてAWS Systems Managerを使用しています。AWS Systems Managerが正常に動作する環境でご利用下さい。AWS Systems Managerが動作する条件については公式ページをご確認ください。

注意事項

本アクションはバックエンド処理にてAWS Systems ManagerのAWS-InstallWindowsUpdatesドキュメントを指定してRun Commandをします。以下の点にご注意ください。

  • 再起動が必要な更新プログラムが含まれていた場合にはWindows Update後にEC2インスタンスが再起動致します。
  • 本アクションをタグで指定した場合、複数台のEC2インスタンスへ同時にWindowsUpdateを実施しますが、そのうち1台以上が前提条件を満たしていない場合、他すべてのEC2インスタンスも失敗扱いとなります。

本コマンドのリソースの終了ステータスチェックのタイムアウト値は「4時間30分」です。本アクションで利用しているSSMドキュメントは、コマンドの実行タイムアウトの時間が「4時間」となっていることを踏まえた値となっています。

その他の情報はAWS Systems Managerユーザーガイドをご確認下さい。

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

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

 

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