

• AWS Systems Manager CloudWatch ダッシュボードは、2026 年 4 月 30 日以降は利用できなくなります。お客様は、これまでと同様に Amazon CloudWatch コンソールを使用して、Amazon CloudWatch ダッシュボードの表示、作成、管理を継続できます。詳細については、「[Amazon CloudWatch ダッシュボードのドキュメント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。

# Run Command の Amazon CloudWatch Logs の設定
<a name="sysman-rc-setting-up-cwlogs"></a>

AWS Systems Manager のツールである Run Command を使用してコマンドを送信するときは、コマンド出力の送信先を指定できます。デフォルトでは、Systems Manager はコマンド出力の最初の 24,000 文字のみを返します。コマンド出力の完全な詳細を表示する場合は、Amazon Simple Storage Service (Amazon S3) バケットを指定できます。または、Amazon CloudWatch Logs を指定することもできます。CloudWatch Logs を指定すると、Run Command はすべてのコマンド出力とエラーログを CloudWatch Logs に定期的に送信します。出力ログはほぼリアルタイムでモニタリングし、特定の語句、値、またはパターンを検索して、検索に基づいてアラームを作成できます。

AWS Identity and Access Management (IAM) マネージドポリシー `AmazonSSMManagedInstanceCore` および `CloudWatchAgentServerPolicy` を使用するようにマネージドノードを設定した場合、CloudWatch Logs に出力を送信するためにノードで追加の設定を行う必要はありません。コンソールからコマンドを送信する場合は、このオプションを選択するだけです。または、AWS Command Line Interface (AWS CLI)、AWS Tools for Windows PowerShell、API オペレーションを使用している場合は、`cloud-watch-output-config` セクションと `CloudWatchOutputEnabled` パラメータを追加します。`cloud-watch-output-config` セクションおよび `CloudWatchOutputEnabled` パラメータについては、このトピックの後半で詳しく説明します。

EC2 インスタンス用のインスタンスプロファイルをポリシーに追加する詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」を参照してください。マネージドノードとして使用する予定のオンプレミスサーバーと仮想マシンのサービスロールへのポリシーの追加については、「[ハイブリッドおよびマルチクラウド環境で Systems Manager に必要な IAM サービス ロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。

ノードでカスタムポリシーを使用している場合は、出力とログの CloudWatch Logs への送信を Systems Manager に許可するために、各ノードでポリシーを更新します。次のポリシーオブジェクトをカスタムポリシーに追加します。IAM ポリシーの詳細については、*IAM ユーザーガイド*の「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」を参照してください。

```
{
    "Effect": "Allow",
    "Action": "logs:DescribeLogGroups",
    "Resource": "*"
},
{
   "Effect":"Allow",
   "Action":[
      "logs:CreateLogGroup",
      "logs:CreateLogStream",
      "logs:DescribeLogStreams",
      "logs:PutLogEvents"
   ],
   "Resource":"arn:aws:logs:*:*:log-group:/aws/ssm/*"
},
```

## コマンド送信時に CloudWatch Logs を指定する
<a name="sysman-rc-setting-up-cwlogs-send"></a>

AWS マネジメントコンソール からコマンドを送信するとき、出力として CloudWatch Logs を指定するには、[**Output options (出力オプション)**] セクションで [**CloudWatch Output (CloudWatch 出力)**] を選択します。オプションで、コマンド出力を送信する CloudWatch Logs グループの名前を指定できます。グループ名を指定しない場合、Systems Manager によってロググループが自動的に作成されます。ロググループの名前は `/aws/ssm/SystemsManagerDocumentName` 形式に従います。

AWS CLI を使用してコマンドを実行する場合は、コマンドで `cloud-watch-output-config` セクションを指定します。このセクションでは、`CloudWatchOutputEnabled` パラメータを指定することができ、オプションで `CloudWatchLogGroupName` パラメータを指定できます。以下はその例です。

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --instance-ids "instance ID" \
    --document-name "AWS-RunShellScript" \
    --parameters "commands=echo helloWorld" \
    --cloud-watch-output-config "CloudWatchOutputEnabled=true,CloudWatchLogGroupName=log group name"
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name "AWS-RunPowerShellScript" ^
    --parameters commands=["echo helloWorld"] ^
    --targets "Key=instanceids,Values=an instance ID” ^
    --cloud-watch-output-config '{"CloudWatchLogGroupName":"log group name","CloudWatchOutputEnabled":true}'
```

------

## CloudWatch Logs でのコマンド出力の表示
<a name="sysman-rc-setting-up-cwlogs-view"></a>

コマンド実行が開始されるとすぐに、Systems Manager はほぼリアルタイムで CloudWatch Logs に出力を送信します。CloudWatch Logs の出力は次の形式になります。

`CommandID/InstanceID/PluginID/stdout` 

`CommandID/InstanceID/PluginID/stderr`

実行の出力は 30 秒ごと、またはバッファが 200 KB を超えたときのどちらか早い時点でアップロードされます。

**注記**  
ログストリームは、出力データが利用可能であるときのみ作成されます。たとえば、実行のエラーデータがない場合、stderr ストリームは作成されません。

CloudWatch Logs に表示されるコマンド出力の例を次に示します。

```
Group - /aws/ssm/AWS-RunShellScript
Streams – 
1234-567-8910/i-abcd-efg-hijk/AWS-RunPowerShellScript/stdout
24/1234-567-8910/i-abcd-efg-hijk/AWS-RunPowerShellScript/stderr
```