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 に送信するには (コンソール)
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 -
ナビゲーションペインで [オートメーション] を選択します。
-
[Preferences (設定)] タブを選択してから、[Edit (編集)] を選択します。
-
[CloudWatch Logs への出力の送信] の隣にあるチェックボックスをオンにします。
-
(推奨) [Encrypt log data (ログデータの暗号化)] の隣にあるチェックボックスをオンにします。ログデータの暗号化。このオプションが有効になっている場合、ログデータはロググループに指定されたサーバー側の暗号化キーを使用して暗号化されます。CloudWatch Logs に送信されるログデータを暗号化しない場合は、このチェックボックスをオフにします。ロググループで暗号化が許可されていない場合は、このチェックボックスをオフにします。
-
[CloudWatch Logs ロググループ] の場合、アクション出力の送信先である AWS アカウント の既存の CloudWatch Logs ロググループを指定するには、次のいずれかを選択します。
-
デフォルトのロググループに出力を送信する — デフォルトのロググループが存在しない場合 (
/aws/ssm/automation/executeScript
)、オートメーションによって自動的に作成されます。 -
[Choose from a list of log groups (ロググループ一覧から選択する)]: アカウントに既に作成されたロググループを選択してアクション出力を保存します。
-
[Enter a log group name (ロググループ名を入力)]: アクション出力を保存するためにアカウントにすでに作成されているテキストボックスにロググループの名前を入力します。
-
-
[Save (保存)] を選択します。
アクション出力を CloudWatch Logs に送信するには (コマンドライン)
-
任意のコマンドラインツールを開き、次のコマンドを実行することによって、アクションの出力先を更新します。
コマンドが成功した場合、出力はありません。
-
以下のコマンドを実行して、アクション出力の送信先となるロググループを指定します。
コマンドが成功した場合、出力はありません。
-
次のコマンドを実行して、AWS アカウント および AWS リージョン での Automation アクションログイン設定の現在のサービス設定を表示します。
このコマンドによって以下のような情報が返されます。
{ "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" } }