CloudWatch Logs を使用した自動アクション出力のログ記録 - AWS Systems Manager

CloudWatch Logs を使用した自動アクション出力のログ記録

AWS Systems Manager の一機能である Automationは、Amazon CloudWatch Logs と統合されています。ランブック内にある aws:executeScript アクションからの出力は、指定したロググループに送信できます。Systems Manager は、aws:executeScript アクションを使用しないドキュメント用にはロググループまたはログストリームを作成しません。ドキュメントが aws:executeScript を使用する場合、CloudWatch Logs に送信される出力は、それらのアクションにのみ関係します。デバッグおよびトラブルシューティングの目的で CloudWatch Logs のロググループに保存された aws:executeScript アクション出力を使用できます。暗号化されたロググループを選択した場合、aws:executeScript アクション出力も暗号化されます。aws:executeScript アクションからのログの出力は、アカウントレベルの設定です。

アクションの出力を CloudWatch Logs for Amazon が所有するランブックに送信するには、オートメーションを実行するユーザーまたはロールに、次のオペレーションへのアクセス許可が必要です。

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

所有しているランブックで、ランブックの実行に使用する IAM サービスロール (または AssumeRole) に同じアクセス許可を追加する必要があります。

アクション出力を CloudWatch Logs に送信するには (コンソール)
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. [Preferences (設定)] タブを選択してから、[Edit (編集)] を選択します。

  4. [CloudWatch Logs への出力の送信] の隣にあるチェックボックスをオンにします。

  5. (推奨) [Encrypt log data (ログデータの暗号化)] の隣にあるチェックボックスをオンにします。ログデータの暗号化。このオプションが有効になっている場合、ログデータはロググループに指定されたサーバー側の暗号化キーを使用して暗号化されます。CloudWatch Logs に送信されるログデータを暗号化しない場合は、このチェックボックスをオフにします。ロググループで暗号化が許可されていない場合は、このチェックボックスをオフにします。

  6. [CloudWatch Logs ロググループ] の場合、アクション出力の送信先である AWS アカウント の既存の CloudWatch Logs ロググループを指定するには、次のいずれかを選択します。

    • デフォルトのロググループに出力を送信する — デフォルトのロググループが存在しない場合 (/aws/ssm/automation/executeScript)、オートメーションによって自動的に作成されます。

    • [Choose from a list of log groups (ロググループ一覧から選択する)]: アカウントに既に作成されたロググループを選択してアクション出力を保存します。

    • [Enter a log group name (ロググループ名を入力)]: アクション出力を保存するためにアカウントにすでに作成されているテキストボックスにロググループの名前を入力します。

  7. [Save (保存)] を選択します。

アクション出力を CloudWatch Logs に送信するには (コマンドライン)
  1. 任意のコマンドラインツールを開き、次のコマンドを実行することによって、アクションの出力先を更新します。

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination \ --setting-value CloudWatch
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination ^ --setting-value CloudWatch
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination" ` -SettingValue "CloudWatch"

    コマンドが成功した場合、出力はありません。

  2. 以下のコマンドを実行して、アクション出力の送信先となるロググループを指定します。

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name \ --setting-value my-log-group
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name ^ --setting-value my-log-group
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name" ` -SettingValue "my-log-group"

    コマンドが成功した場合、出力はありません。

  3. 次のコマンドを実行して、AWS アカウント および AWS リージョン での Automation アクションログイン設定の現在のサービス設定を表示します。

    Linux & macOS
    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
    Windows
    aws ssm get-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
    PowerShell
    Get-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination"

    このコマンドによって以下のような情報が返されます。

    {
        "ServiceSetting": {
            "Status": "Customized",
            "LastModifiedDate": 1613758617.036,
            "SettingId": "/ssm/automation/customer-script-log-destination",
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/User_1",
            "SettingValue": "CloudWatch",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/automation/customer-script-log-destination"
        }
    }