EC2: インスタンスでコマンドを実行

概要

「EC2: インスタンスでコマンドを実行」アクションでは、Amazon EC2インスタンス(以下EC2 インスタンス)上で指定したコマンドを実行することが出来ます。
他のアクションと同様に、リソース IDまたはEC2 インスタンスに付与されているタグでコマンドを実行するするEC2 インスタンスを指定することができます。

設定時のオプション

No オプション 説明
1 リージョン コマンドを実行するEC2 インスタンスが存在するリージョンを指定します。
2 プラットフォーム コマンドを実行するEC2 インスタンスのプラットフォームを選択します。
3 インスタンス EC2 インスタンスの名前で指定します。
「Can't find any instances in this region or aws account or platform.」と表示される場合はAWSアカウントやリージョンの選択が正しいかご確認下さい。
特定のタグがついたインスタンス key と value を入力して、起動するEC2 インスタンスをタグで指定します。
指定されたリージョン内で、入力された key と value に一致するタグがついたすべてのEC2 インスタンスが対象となります。
4 コマンド 実行するコマンドを入力します。
プラットフォームがLinuxの場合はシェルスクリプトを、Windowsの場合はPowerShellスクリプトを入力して下さい。
5 コメント コマンドの実行にメモを残す場合に入力します
6 出力先のS3バケット名 コマンドの実行ログの出力先となるS3バケットを指定します
7 S3に出力するキーのプレフィックス コマンドの実行ログの主力先となるS3バケット内でプレフィックスを指定する場合に入力します
例)send-command-log
8 タイムアウト秒数 コマンド実行対象となるEC2 インスタンスへ接続出来ずに失敗とみなすまでのタイムアウト秒数を指定します。デフォルトは600秒です。

ログのステータス条件

No. ステータス 説明
1 成功 SendCommand APIリクエストが成功した場合に成功となります。
2 失敗 以下のいずれかで失敗となります。
  • 指定したEC2インスタンスが存在しない
  • SendCommand APIリクエストが失敗した場合

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

No. ステータス 説明
1 Completed SendCommand APIリクエストが成功した場合にCompletedとなります。
2 Failed SendCommand APIリクエストが失敗した場合にFailedとなります。

設定例

  1. Cloud Automatorの画面から「ジョブの追加」メニューを選択します。
  2. グループを選択肢、トリガーの選択で、任意のトリガーを選択下さい(例: 即時実行 トリガー)。
  3. アクションの選択で「EC2: インスタンスでコマンドを実行」アクションを選択します。
  4. AWS アカウントの選択で、対象リソースの操作が可能な任意の AWS アカウントを選択します。
  5. アクションのパラメーターを設定します。(設定例)
    No. オプション 設定値の例
    1 リージョン ap-northeast-1
    2 プラットフォーム Linux
    3 key environment
    value development
    4 コマンド date
    5 コメント test
    6 出力先のS3バケット ssm-logs-cloudautomator
    7 S3に出力するキーのプレフィックス 空白
    8 タイムアウト秒数 空白

    execute_command05.png
  6. 成功時、失敗時の後処理を設定します。
  7. ジョブ名を入力し、「作成する」をクリックでジョブの作成は完了です。

動作確認

Cloud Automator画面での動作確認

  1. 作成したジョブの詳細画面にある「ログ」ボタンをクリックします。

    ca_instance_command.png

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

    ca_result.png

AWS Management Consoleでの動作確認

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

前提条件

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

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