

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

# AWS Systems Manager でのログ記録とモニタリング
<a name="monitoring"></a>

モニタリングは、AWS Systems Manager と AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害が発生した場合は、その障害をデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集する必要があります。ただし、Systems Manager のモニタリングを開始する前に、以下の質問に対する回答を反映したモニタリング計画を作成する必要があります。
+ どのような目的でモニタリングしますか?
+ どのリソースをモニタリングしますか?
+ どのくらいの頻度でこれらのリソースをモニタリングしますか?
+ 使用するモニタリングツールは?
+ 誰がモニタリングタスクを実行しますか?
+ 問題が発生したときに誰が通知を受け取りますか?

モニタリングの目的を定義し、モニタリングの計画を作成したら、次のステップとして、お客様の環境内で通常の Systems Manager パフォーマンスのベースラインを確立します。さまざまな時間帯に、さまざまな負荷条件で Systems Manager パフォーマンスを測定します。Systems Manager をモニタリングしながら、収集したモニタリングデータの履歴を保存する必要があります。現在の Systems Manager パフォーマンスをこの履歴データと比較して、通常のパフォーマンスパターンとパフォーマンス異常を識別することで、異常への対処方法を作成することが容易になります。

たとえば、オートメーションワークフロー、パッチベースラインの適用、メンテナンスウィンドウイベント、および設定のコンプライアンスなどのオペレーションの成功または失敗をモニタリングできます。Automation は AWS Systems Manager のツールです。

マネージドノードの CPU 使用率、ディスク I/O、およびネットワーク使用率をモニタリングすることもできます。確立したベースラインからパフォーマンスが外れた場合は、ノードの再設定または最適化を行って CPU 使用率の抑制、ディスク I/O の改善、またはネットワークトラフィックの低減を行うことが必要な場合があります。EC2 インスタンスのモニタリングの詳細については、「Amazon EC2 ユーザーガイド」の「[Amazon EC2 のモニタリング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring_ec2.html)」を参照してください。

**Topics**
+ [モニタリングツール](#monitoring-tools)
+ [統合された CloudWatch Logs へのノードログの送信 (CloudWatch エージェント)](monitoring-cloudwatch-agent.md)
+ [CloudWatch Logs に SSM Agent ログを送信する](monitoring-ssm-agent.md)
+ [変更リクエストイベントのモニタリング](monitoring-change-request-events.md)
+ [オートメーションのモニタリング](monitoring-automation-metrics.md)
+ [Amazon CloudWatch を使用した Run Command メトリクスのモニタリング](monitoring-cloudwatch-metrics.md)
+ [AWS CloudTrail による AWS Systems Manager API コールのログ記録](monitoring-cloudtrail-logs.md)
+ [CloudWatch Logs を使用した自動アクション出力のログ記録](automation-action-logging.md)
+ [Run Command の Amazon CloudWatch Logs の設定](sysman-rc-setting-up-cwlogs.md)
+ [Amazon EventBridge を使用して Systems Manager イベントをモニタリングする](monitoring-eventbridge-events.md)
+ [Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)

## モニタリングツール
<a name="monitoring-tools"></a>

この章のコンテンツでは、Systems Manager と他の AWS リソースのモニタリングに使用できるツールの使用方法について説明します。ツールの詳細なリストについては、「[AWS Systems Manager でのログ記録とモニタリング](logging-and-monitoring.md)」を参照してください。

# 統合された CloudWatch Logs へのノードログの送信 (CloudWatch エージェント)
<a name="monitoring-cloudwatch-agent"></a>

ノードのメトリクスとログを収集するには、AWS Systems Manager エージェント (SSM Agent) を使用する代わりに、Amazon CloudWatch を設定して使用できます。SSM Agent よりも CloudWatch エージェント を使用したほうが、EC2 インスタンスのメトリクスを多く収集できます。また、CloudWatch エージェント を使用すると、オンプレミスのサーバーからもメトリクスを収集できます。

エージェントの構成設定を Systems Manager Parameter Store に保存し、CloudWatch エージェントで使用することもできます。Parameter Store は AWS Systems Manager のツールです。

**注記**  
AWS Systems Manager は SSM Agent から統合された CloudWatch エージェントへの移行をサポートし、64 ビットバージョンの Windows でのみログとメトリクスを収集します。他のオペレーティングシステムで統合された CloudWatch エージェントをセットアップする方法と、CloudWatch エージェントの使用方法の詳細については、「[Amazon CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)」の「[CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスを収集する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。  
CloudWatch エージェントは、サポートされている他のオペレーティングシステムでも使用できますが、Systems Manager を使用してツールの移行を実行することはできません。

SSM Agent は実行、スケジュールされたアクション、エラー、ヘルスステータスに関連した情報をまとめて各ノードのログファイルに書き込みます。ノードに手動で接続してログファイルを表示し、SSM Agent を使用してトラブルシューティングを行うと、時間がかかります。ノードを効率的にモニタリングするには、このログデータを Amazon CloudWatch Logs に送信するように SSM Agent 自体または Amazon CloudWatch エージェントを設定できます。

**重要**  
CloudWatch の統合エージェントによって、ログデータを Amazon CloudWatch Logs に送信するためのツールとして SSM Agent が置き換えられました。SSM Agent aws:cloudWatch プラグインはサポートされていません。ログ収集プロセスには、統合された CloudWatch エージェントのみを使用することをお勧めします。詳細については、以下の各トピックを参照してください。  
[統合された CloudWatch Logs へのノードログの送信 (CloudWatch エージェント)](#monitoring-cloudwatch-agent)
[Windows Server ノードのログ収集を CloudWatch エージェントに移行する](#monitoring-cloudwatch-agent-migrate)
「Amazon CloudWatch ユーザーガイド」の「[CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」。

CloudWatch Logs を使用すると、ログデータのリアルタイムのモニタリング、1 つ以上のメトリクスフィルターを作成してのログデータの検索とフィルター、および必要に応じた履歴データのアーカイブと取得を行うことができます。CloudWatch Logs の詳細については、「[Amazon CloudWatch Logs ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)」を参照してください。

ログデータを Amazon CloudWatch Logs に送信するようにエージェントを設定すると、以下の利点があります。
+ あらゆる SSM Agent ログファイルを集中管理するログファイルストレージ。
+ エラーを調査するためのファイルへの迅速なアクセス。
+ ログファイルの無制限の保持 (設定可能)。
+ ログは、ノードのステータスに関係なく維持し、アクセスできます。
+ メトリクスやアラームなど、CloudWatch の他の機能へのアクセス。

Session Manager アクティビティのモニタリングについては、[「セッションアクティビティのログ記録」](session-manager-auditing.md) および [セッションロギングの有効化と無効化](session-manager-logging.md) を参照してください。

## Windows Server ノードのログ収集を CloudWatch エージェントに移行する
<a name="monitoring-cloudwatch-agent-migrate"></a>

サポートされている Windows Server ノードで SSM Agent を使用して SSM Agent ログファイルを Amazon CloudWatch Logs に送信している場合、Systems Manager を使用して SSM Agent から CloudWatch エージェントへログ収集ツールとして移行し、構成設定も移行できます。

CloudWatch エージェントは、32 ビットバージョンの Windows Server ではサポートされていません。

64 ビットの Windows Server の EC2 インスタンスの場合、CloudWatch エージェントへの移行は自動または手動で実行できます。オンプレミスサーバーと仮想マシンの場合、プロセスは手動で実行する必要があります。

**注記**  
移行プロセス中に、CloudWatch へのデータ送信が中断または重複する場合があります。メトリクスとログデータは、移行の完了後に、再度 CloudWatch に正確に記録されます。

一部のノードで移行をテストしてから、フリート全体を CloudWatch エージェント に移行することをお勧めします。必要に応じて、移行後に再度 SSM Agent に戻してログ収集を行うことができます。

**重要**  
以下の場合、このトピックで説明している手順を使用して CloudWatch エージェントに移行することはできません。  
SSM Agent の既存の設定で、複数のリージョンを指定している場合。
SSM Agent の既存の設定で、複数のアクセス/シークレットキー認証情報のセットを指定している場合。
上記の場合は、SSM Agent でのログ収集を無効にし、移行プロセスを使わずに CloudWatch エージェントをインストールする必要があります。詳細については、「Amazon CloudWatch ユーザーガイド」の次のトピックを参照してください。  
[CloudWatch エージェントのインストール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)
[オンプレミスサーバーへの CloudWatch エージェントのインストール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-premise.html)

**[開始する前に]**  
CloudWatch エージェントに移行してログ収集を開始する前に、移行を実行するノードが以下の要件を満たしていることを確認します。
+ OS が 64 ビットバージョンの Windows Server である。
+ SSM Agent 2.2.93.0 以降がノードにインストールされている。
+ ノードでモニタリングするように SSM Agent が設定されている。

**Topics**
+ [CloudWatch エージェントへの自動移行](#monitoring-cloudwatch-agent-migrate-auto)
+ [CloudWatch エージェントへの手動での移行](#monitoring-cloudwatch-agent-migrate-manual)

### CloudWatch エージェントへの自動移行
<a name="monitoring-cloudwatch-agent-migrate-auto"></a>

Windows Server の EC2 インスタンスに限り、AWS Systems Manager コンソール、または AWS Command Line Interface (AWS CLI) を使用して、ログ収集ツールとして CloudWatch エージェントに移行します。

**注記**  
AWS Systems Manager は SSM Agent から統合された CloudWatch エージェントへの移行をサポートし、64 ビットバージョンの Windows でのみログとメトリクスを収集します。他のオペレーティングシステムで統合された CloudWatch エージェントをセットアップする方法と、CloudWatch エージェントの使用方法の詳細については、「[Amazon CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)」の「[CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスを収集する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。  
CloudWatch エージェントは、サポートされている他のオペレーティングシステムでも使用できますが、Systems Manager を使用してツールの移行を実行することはできません。

移行が成功したら、CloudWatch で結果をチェックし、必要なメトリクス、ログ、または Windows イベントログが収集されていることを確認します。結果に満足したら、オプションとして [CloudWatch エージェントの設定を Parameter Store に保存する](#monitoring-cloudwatch-agent-store-config) することができます。移行が失敗した場合や、結果が不満足なものである場合は、[SSM Agent でのログ収集へのロールバック](#monitoring-cloudwatch-agent-roll-back) をすることができます。

**注記**  
`{hostname}` エントリが含まれているソース設定ファイルを移行する場合、移行が完了した後で `{hostname}` エントリがフィールドの値を変更できることに注意してください。たとえば、次の `"LogStream": "{hostname}"` エントリが *MyLogServer001* という名前のサーバーにマッピングされているとします。  

```
{
"Id": "CloudWatchIISLogs",
"FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"AccessKey": "",
"SecretKey": "",
"Region": "us-east-1",
"LogGroup": "Production-Windows-IIS",
"LogStream": "{hostname}"
     }
}
```
移行後、このエントリは ip-11-1-1-11.production などのドメインにマップされます。ExampleCompany.com。ローカルホスト名の値を保持するには、`{local_hostname}` ではなく `{hostname}` を指定します。

**CloudWatch エージェントに自動的に移行するには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択し、次に [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドのドキュメント]** リストで、`AmazonCloudWatch-MigrateCloudWatchAgent`[] を選択します。

1. **[ステータス]** で **[有効]** を選択します。

1. **[ターゲット]** セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

**CloudWatch エージェントに自動的に移行するには (AWS CLI)**
+ 以下のコマンドを実行してください。

  ```
  aws ssm send-command --document-name AmazonCloudWatch-MigrateCloudWatchAgent --targets Key=instanceids,Values=ID1,ID2,ID3
  ```

  *ID1*、*ID2*、*ID3* は、更新するノードの ID (*i-02573cafcfEXAMPLE* など) です。

### CloudWatch エージェントへの手動での移行
<a name="monitoring-cloudwatch-agent-migrate-manual"></a>

オンプレミスの Windows Server ノード、または Windows Server の EC2 インスタンスの場合は、以下のステップに従って、ログ収集を Amazon CloudWatch エージェントに手動で移行します。

**注記**  
`{hostname}` エントリが含まれているソース設定ファイルを移行する場合、移行が完了した後で `{hostname}` エントリがフィールドの値を変更できることに注意してください。たとえば、次の `"LogStream": "{hostname}"` エントリが *MyLogServer001* という名前のサーバーにマッピングされているとします。  

```
{
"Id": "CloudWatchIISLogs",
"FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"AccessKey": "",
"SecretKey": "",
"Region": "us-east-1",
"LogGroup": "Production-Windows-IIS",
"LogStream": "{hostname}"
     }
}
```
移行後、このエントリは ip-11-1-1-11.production.ExampleCompany.com などのドメインにマップされます。ローカルホスト名の値を保持するには、`{local_hostname}` ではなく `{hostname}` を指定します。

**ステップ 1: CloudWatch エージェントをインストールするには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択し、次に [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドのドキュメント]** リストで、`AWS-ConfigureAWSPackage`[] を選択します。

1. **[Action]** (アクション) で、`Install` を選択します。

1. **[Name]** (名前) には **AmazonCloudWatchAgent** を入力します。

1. **[Version]** (バージョン) には **latest** を入力します (デフォルトで提供されていない場合)。

1. **[ターゲット]** セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

**ステップ 2: 設定データの JSON 形式を更新するには**
+ CloudWatch エージェントの既存の Config 設定の JSON 形式を更新するには、AWS Systems Manager のツールである **Run Command** を使用するか、RDP 接続で直接ノードにログインして以下の Windows PowerShell コマンドを 1 回に 1 つずつノードで実行します。

  ```
  cd ${Env:ProgramFiles}\\Amazon\\AmazonCloudWatchAgent
  ```

  ```
  .\\amazon-cloudwatch-agent-config-wizard.exe --isNonInteractiveWindowsMigration
  ```

  *\$1Env:ProgramFiles\$1* は、ACloudWatch エージェントが含まれている Amazon ディレクトリの場所 (通常は `C:\Program Files`) を表します。

**ステップ 3: CloudWatch エージェントを設定して開始するには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択し、次に [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドのドキュメント]** リストで、`AWS-RunPowerShellScript`[] を選択します。

1. **[Commands]** (コマンド) に、以下の 2 つのコマンドを入力します。

   ```
   cd ${Env:ProgramFiles}\Amazon\AmazonCloudWatchAgent
   ```

   ```
   .\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:config.json -s
   ```

   *\$1Env:ProgramFiles\$1* は、ACloudWatch エージェントが含まれている Amazon ディレクトリの場所 (通常は `C:\Program Files`) を表します。

1. **[ターゲット]** セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

**4：SSM Agent でログ収集を無効にするには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択し、次に [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドのドキュメント]** リストで、`AWS-ConfigureCloudWatch`[] を選択します。

1. **[Status]** (ステータス) で、**[Disabled]** (無効) を選択します。

1. **[ターゲット]** セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[Status]** (ステータス) で、`Disabled` を選択します。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

   以上の手順を完了したら、CloudWatch で結果をチェックし、必要なメトリクス、ログ、または Windows イベントログが収集されていることを検証します。結果に満足したら、オプションとして [CloudWatch エージェントの設定を Parameter Store に保存する](#monitoring-cloudwatch-agent-store-config) することができます。移行が失敗した場合や、結果が不満足なものである場合は、[SSM Agent でのログ収集へのロールバック](#monitoring-cloudwatch-agent-roll-back) をすることができます。

## CloudWatch エージェントの設定を Parameter Store に保存する
<a name="monitoring-cloudwatch-agent-store-config"></a>

CloudWatch エージェントの設定ファイルの内容は、Parameter Store に保存できます。この設定データをパラメータに保持すると、その構成設定を複数のノードで継承できるため、構成ファイルの作成や手動の更新をノードで行う必要がなくなります。例えば、Run Command を使用してパラメータの内容を複数のノードの設定ファイルに書き込んだり、AWS Systems Manager のツールである State Manager を使用してノードのフリート全体で CloudWatch エージェントの構成の設定ドリフトを回避したりできます。

CloudWatch エージェント設定ウィザードを実行すると、このウィザードで構成設定を新しいパラメータとして Parameter Store に保存できます。CloudWatch エージェント設定ウィザード実行の詳細については、「Amazon CloudWatch ユーザーガイド」の「[ウィザードを使用して CloudWatch エージェント設定ファイルを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html)」を参照してください。

ウィザードを実行しても、設定をパラメータとして保存するオプションを選択しなかった場合や、CloudWatch エージェント設定ファイルを手動で作成した場合は、ノードでデータを取得してパラメータとして次のファイルに保存できます。

```
${Env:ProgramFiles}\Amazon\AmazonCloudWatchAgent\config.json
```

*\$1Env:ProgramFiles\$1* は、ACloudWatch エージェントが含まれている Amazon ディレクトリの場所 (通常は `C:\Program Files`) を表します。

このファイルの JSON のバックアップを作成し、ノード自体とは異なる場所に保持することをお勧めします。

パラメータの作成方法については、「[Systems Manager での Parameter Store パラメータの作成](sysman-paramstore-su-create.md)」を参照してください。

CloudWatch エージェントの詳細については、*Amazon CloudWatch ユーザーガイド*の「[CloudWatch エージェントを使用した Amazon EC2 インスタンスとオンプレミスサーバーからのメトリクスとログの収集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。

## SSM Agent でのログ収集へのロールバック
<a name="monitoring-cloudwatch-agent-roll-back"></a>

ログ収集に再び SSM Agent を使用する場合は、以下の手順に従います。

**ステップ 1: SSM Agent から設定データを取得するには**

1. ログ収集に再び SSM Agent を使用するノードで、SSM Agent 設定ファイルの内容を見つけます。通常、この JSON ファイルは次の場所にあります。

   `${Env:ProgramFiles}\\Amazon\\SSM\\Plugins\\awsCloudWatch\\AWS.EC2.Windows.CloudWatch.json`

   *\$1Env:ProgramFiles\$1* は、`Amazon` ディレクトリがある場所 (通常は `C:\Program Files`) を表します。

1. このデータをテキストファイルにコピーし、後のステップで使用します。

   JSON のバックアップは、ノード自体とは異なる場所に保存することをお勧めします。

**2: CloudWatch エージェントをアンインストールするには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択し、次に [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドのドキュメント]** リストで、`AWS-ConfigureAWSPackage`[] を選択します。

1. **[Action]** (アクション) で、**[Uninstall]** (アンインストール) を選択します。

1. **[Name]** (名前) には **AmazonCloudWatchAgent** を入力します。

1. **[ターゲット]** セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

**3：SSM Agent でログ収集を有効に戻すには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択し、次に [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドのドキュメント]** リストで、`AWS-ConfigureCloudWatch`[] を選択します。

1. **[Status]** (ステータス) で、`Enabled` を選択します。

1. **[Properties]** (プロパティ) に、テキストファイルとして保存してある、古い設定データの内容を貼り付けます。

1. **[ターゲット]** セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

# CloudWatch Logs に SSM Agent ログを送信する
<a name="monitoring-ssm-agent"></a>

AWS Systems Manager エージェント (SSM Agent) は、Systems Manager 用に設定された EC2 インスタンス、エッジデバイス、オンプレミスサーバー、および仮想マシン (VM) で動作する Amazon ソフトウェアです。SSM Agent は、クラウド内の Systems Manager サービスからのリクエストを処理し、リクエストに指定されているとおりにマシンを設定します。SSM Agent の詳細については、「[「SSM Agent」 の使用](ssm-agent.md)」を参照してください。

また、以下のステップを使用して、ログデータを Amazon CloudWatch Logs に送信するように SSM Agent を設定できます。

**[開始する前に]**  
CloudWatch Logs にロググループを作成します。詳細については、「Amazon CloudWatch Logs ユーザーガイド」の「[CloudWatch Logs の開始方法](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_GettingStarted.html)」を参照してください。

**CloudWatch にログを送信するように SSM Agent を設定するには**

1. ノードにログインして、次のファイルを見つけます。

**リナックス**  
ほとんどの Linux のノードタイプ:`/etc/amazon/ssm/seelog.xml.template`。

   Ubuntu Server 20.04、18.04、および 16.04 LTS: `/snap/amazon-ssm-agent/current/seelog.xml.template`

**macOS**  
`/opt/aws/ssm/seelog.xml.template`

**Windows**  
`%ProgramFiles%\Amazon\SSM\seelog.xml.template`

1. ファイル名を `seelog.xml.template` から `seelog.xml` に変更します。
**注記**  
Ubuntu Server 20.04、18.04、および 16.04 LTS では、`seelog.xml` ファイルは `/etc/amazon/ssm/` ディレクトリに作成する必要があります。次の 3 つのコマンドを実行して、このディレクトリとファイルを作成できます。  

   ```
   sudo mkdir -p /etc/amazon/ssm
   ```

   ```
   sudo cp -pr /snap/amazon-ssm-agent/current/* /etc/amazon/ssm
   ```

   ```
   sudo cp -p /etc/amazon/ssm/seelog.xml.template /etc/amazon/ssm/seelog.xml
   ```

1. テキストエディタで `seelog.xml` ファイルを開き、次のセクションを見つけます。

------
#### [ Linux and macOS ]

   ```
   <outputs formatid="fmtinfo">
      <console formatid="fmtinfo"/>
      <rollingfile type="size" filename="/var/log/amazon/ssm/amazon-ssm-agent.log" maxsize="30000000" maxrolls="5"/>
      <filter levels="error,critical" formatid="fmterror">
         <rollingfile type="size" filename="/var/log/amazon/ssm/errors.log" maxsize="10000000" maxrolls="5"/>
      </filter>
   </outputs>
   ```

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

   ```
   <outputs formatid="fmtinfo">
      <console formatid="fmtinfo"/>
      <rollingfile type="size" maxrolls="5" maxsize="30000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\amazon-ssm-agent.log"/>
      <filter formatid="fmterror" levels="error,critical">
         <rollingfile type="size" maxrolls="5" maxsize="10000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\errors.log"/>
      </filter>
   </outputs>
   ```

------

1. ファイルを編集し、closing </filter> タグの後に*カスタム名*要素を追加します 。次の例では、カスタム名は `cloudwatch_receiver` として指定されています。

------
#### [ Linux and macOS ]

   ```
   <outputs formatid="fmtinfo">
      <console formatid="fmtinfo"/>
      <rollingfile type="size" filename="/var/log/amazon/ssm/amazon-ssm-agent.log" maxsize="30000000" maxrolls="5"/>
      <filter levels="error,critical" formatid="fmterror">
         <rollingfile type="size" filename="/var/log/amazon/ssm/errors.log" maxsize="10000000" maxrolls="5"/>
      </filter>
      <custom name="cloudwatch_receiver" formatid="fmtdebug" data-log-group="your-CloudWatch-log-group-name"/>
   </outputs>
   ```

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

   ```
   <outputs formatid="fmtinfo">
      <console formatid="fmtinfo"/>
      <rollingfile type="size" maxrolls="5" maxsize="30000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\amazon-ssm-agent.log"/>
      <filter formatid="fmterror" levels="error,critical">
         <rollingfile type="size" maxrolls="5" maxsize="10000000" filename="{{LOCALAPPDATA}}\Amazon\SSM\Logs\errors.log"/>
      </filter>
      <custom name="cloudwatch_receiver" formatid="fmtdebug" data-log-group="your-CloudWatch-log-group-name"/>
   </outputs>
   ```

------

1. 変更を保存して、SSM Agent またはノードを再起動します。

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで **[ロググループ]** を選択し、ロググループの名前を選択します。
**ヒント**  
SSM Agent のログファイルデータのログストリームは、ノード ID に基づいて編成されています。

# 変更リクエストイベントのモニタリング
<a name="monitoring-change-request-events"></a>

**Change Manager の可用性の変更**  
AWS Systems ManagerChange Manager は、2025 年 11 月 7 日以降、新規のお客様の受付を終了します。Change Manager を使用する場合は、その日付の前にサインアップしてください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[AWS Systems Manager Change Manager の可用性の変更](https://docs.aws.amazon.com/systems-manager/latest/userguide/change-manager-availability-change.html)」を参照してください。

AWS CloudTrail Lake との統合を有効にしてイベントデータストアを作成すると、アカウントまたは組織で実行された変更リクエストに関する (監査可能な) 詳細を表示できます。これには、以下のような詳細情報が含まれます。
+ 変更リクエストを開始したユーザーの ID
+ 変更が行われた AWS リージョン
+ リクエストの送信元 IP アドレス
+ リクエストに使用された AWS アクセスキー
+ 変更リクエストで実行された API アクション
+ このアクションに含まれているリクエストパラメータ
+ 処理中に更新されたリソース

以下に、AWS CloudTrail Lake でイベントデータストアを作成した後に表示できる、変更リクエストに対応したイベント詳細の例を示します。

------
#### [ Details ]

以下の画像は、**[Details]** (詳細) タブに表示された、変更リクエストに関する概要情報を示しています。これらの詳細情報には、変更リクエストオペレーションの開始時刻、変更リクエストを開始したユーザーの ID、影響を受ける AWS リージョン、および、このリクエストに関連するイベント ID とリクエスト ID などが含まれます。

![\[CloudTrail Lake からの変更リクエストの詳細。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/cm-event-details.png)


------
#### [ Event record ]

次の図は、CloudTrail Lake が変更リクエストイベントのために提供する、JSON コンテンツの構造を示しています。このデータは、変更リクエストの **[Event record]** (イベントレコード) タブに表示されます。

![\[CloudTrail Lake が提供する変更リクエストの JSON レコード。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/cm-event-record.png)


------

**重要**  
組織で Change Manager を使用している場合は、Change Manager の管理アカウントまたは委任管理者アカウントのいずれかでサインインした状態で、以下の手順を完了できます。  
ただし、委任管理者アカウントを使用してこれらの手順を完了するには、CloudTrail と Change Manager の両方で、同じ委任管理者アカウントを指定しておく必要があります。  
Change Manager の管理アカウントにサインインすると、CloudTrail の [[Settings]](https://console.aws.amazon.com/cloudtrailv2/home#/settings) (設定) ページから、委任管理者アカウントを追加または変更できます。この処理は、委任管理者アカウントが組織全体で使用するためのイベントデータストアを作成する前に実行しておく必要があります。

**Change Manager から CloudTrail Lake のイベントトラッキングを有効にするには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Change Manager]** を選択します。

1. [**Requests**] (リクエスト) タブを選択します。

1. 既存の変更リクエストを選択し、次に **[Associated events]** (関連付けられたイベント) タブを選択します。

1. **[Enable CloudTrail Lake]** (CloudTrail Lake を有効にする) を選択します。

1. 「AWS CloudTrail ユーザーガイド」の「[CloudTrail イベント用のイベントデータストアの作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html)」の手順に従います。

   変更リクエストのイベントデータが確実に保存されるようにするには、手順を完了するときに次の選択を行ってください。
   + **[イベントタイプ]** で、デフォルトの **[AWS イベント]** と **[CloudTrail イベント]** が選択されたままにします。
   + 組織で Change Manager を使用している場合、**[組織内のすべてのアカウントについて有効化]** を選択します。
   + **[管理イベント]** の **[書き込み]** チェックボックスは、オンのままにしておきます。

   イベントデータストアを作成する際に選択した他のオプションは、変更リクエストのイベントデータの保存には影響しません。

# オートメーションのモニタリング
<a name="monitoring-automation-metrics"></a>

*メトリクス*は Amazon CloudWatch での基本的な概念です。メトリクスは、&CW; に発行された時系列のデータポイントのセットを表します。メトリクスはモニタリング対象の変数と考え、データポイントはその変数における時間の経過を表す値と考えます。

Automation は AWS Systems Manager のツールです。Systems Manager は、オートメーションの使用状況に関するメトリクスを CloudWatch にパブリッシュします。これにより、メトリクスに基づいてアラームを設定することを可能にしています。

**CloudWatch コンソールでオートメーションメトリクスを表示する**

1. CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択します。

1. **[SSM]** を選択します。

1. **[メトリクス]** タブで、**[使用状況]**、**[AWS リソース]** の順に選択します。

1. メトリクスのリストの近くにある検索ボックスに、**「SSM」**と入力します。

**AWS CLIを使用してオートメーションメトリクスを表示するには**  
コマンドプロンプトを開き、次のコマンドを使用します。

```
aws cloudwatch list-metrics \
    --namespace "AWS/Usage"
```

## オートメーションメトリクス
<a name="automation-metrics-and-dimensions"></a>

Systems Manager は次のオートメーションメトリクスを CloudWatch に送信します。


| メトリクス | 説明 | 
| --- | --- | 
| ConcurrentAutomationUsage  | 現在の AWS アカウント および AWS リージョン で、同時に実行される自動化処理の数 | 
| QueuedAutomationUsage  | 現在キューに入っているオートメーションのうち、開始されておらず、ステータスが Pending となっているものの数。 | 

CloudWatch メトリクスの使用の詳細については、*Amazon CloudWatch ユーザーガイド*の以下のトピックを参照してください。
+ [メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)
+ [Amazon CloudWatch メトリクスを使用する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)
+ [Amazon CloudWatch でのアラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

# Amazon CloudWatch を使用した Run Command メトリクスのモニタリング
<a name="monitoring-cloudwatch-metrics"></a>

*メトリクス*は Amazon CloudWatch での基本的な概念です。メトリクスは、&CW; に発行された時系列のデータポイントのセットを表します。メトリクスはモニターリング対象の変数と考え、データポイントは時間の経過と共に変数の値を表します。

AWS Systems Manager は、Run Command コマンドのステータスに関するメトリクスを CloudWatch に公開します。これにより、このようなメトリクスに基づいてアラームを設定できます。Run Command は AWS Systems Manager のツールです。これらの統計は長期間記録されるため、履歴情報にアクセスして、AWS アカウント で実行されるコマンドの成功率をより確実に把握できます。

コマンドの端末ステータス値で、メトリクスを追跡できるものには `Success`、`Failed`、および `Delivery Timed Out` があります。たとえば、SSM コマンドドキュメントが 1 時間ごとに実行されるように設定されている場合、これらの時間に `Success` のステータスがレポートされない場合、それを通知するようアラームを設定できます。コマンドステータス値の詳細については、「[コマンドのステータスについて](monitor-commands.md)」を参照してください。

**CloudWatch コンソールでメトリクスを表示する**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. **[AWS のサービスによるアラーム]** エリアの **[サービス]** で、**[SSM-Run Command]** を選択します。

**AWS CLI を使ってメトリクスを表示するには**  
コマンドプロンプトを開き、次のコマンドを使用します。

```
aws cloudwatch list-metrics --namespace "AWS/SSM-RunCommand"
```

すべての使用可能なメトリクスのリストを表示するには、次のコマンドを使用します。

```
aws cloudwatch list-metrics
```

## Systems Manager Run Command のメトリクスとディメンション
<a name="metrics-and-dimensions"></a>

Systems Manager は、Run Command コマンドメトリクスを CloudWatch に毎分 1 回送信します。

Systems Manager は次のコマンドメトリクスを CloudWatch に送信します。

**注記**  
これらのメトリクスは単位として `Count` を使用するため、`Sum` と `SampleCount` は最も有用な統計情報です。


| メトリクス | 説明 | 
| --- | --- | 
| CommandsDeliveryTimedOut  | 端末ステータスが Delivery Timed Out のコマンドの数。 | 
| CommandsFailed  | 端末ステータスが Failed のコマンドの数。 | 
| CommandsSucceeded  | 端末ステータスが Success のコマンドの数。 | 

CloudWatch メトリクスの使用の詳細については、*Amazon CloudWatch ユーザーガイド*の以下のトピックを参照してください。
+ [メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)
+ [Amazon CloudWatch メトリクスを使用する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)
+ [Amazon CloudWatch でのアラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

# AWS CloudTrail による AWS Systems Manager API コールのログ記録
<a name="monitoring-cloudtrail-logs"></a>

AWS Systems Manager は、ユーザー、ロール、または AWS のサービス によって実行されたアクションの記録を提供するサービスである [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) と統合されています。CloudTrail は、Systems Manager のすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、Systems Manager コンソールのコールと、Systems Manager API オペレーションへのコードのコールが含まれます。CloudTrail で収集された情報を使用して、Systems Manager に対するリクエスト、リクエスト元の IP アドレス、リクエストの作成日時、その他の詳細を確認できます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ ルートユーザーまたはユーザー認証情報のどちらを使用してリクエストが送信されたか。
+ リクエストが IAM Identity Center ユーザーに代わって行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが、別の AWS のサービス によって送信されたかどうか。

アカウントを作成すると、AWS アカウント で CloudTrail がアクティブになり、自動的に CloudTrail の**[イベント履歴]** にアクセスできるようになります。CloudTrail の **[イベント履歴]** では、AWS リージョン で過去 90 日間に記録された管理イベントの表示、検索、およびダウンロードが可能で、変更不可能な記録を確認できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail イベント履歴の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。**[イベント履歴]** の閲覧には CloudTrail の料金はかかりません。

AWS アカウント で過去 90 日間のイベントを継続的に記録するには、証跡または [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) イベントデータストアを作成します。

**CloudTrail 証跡**  
*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。AWS マネジメントコンソール を使用して作成した証跡はマルチリージョンです。AWS CLI を使用する際は、単一リージョンまたは複数リージョンの証跡を作成できます。アカウント内のすべて AWS リージョン でアクティビティを把握するため、マルチリージョン証跡を作成することをお勧めします。単一リージョンの証跡を作成する場合、証跡の AWS リージョン に記録されたイベントのみを表示できます。証跡の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS アカウントの証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)」および「[組織の証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)」を参照してください。  
証跡を作成すると、進行中の管理イベントのコピーを 1 つ無料で CloudTrail から Amazon S3 バケットに配信できますが、Amazon S3 ストレージには料金がかかります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。Amazon S3 の料金に関する詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

**CloudTrail Lake イベントデータストア**  
*[CloudTrail Lake]* を使用すると、イベントに対して SQL ベースのクエリを実行できます。CloudTrail Lake は、行ベースの JSON 形式の既存のイベントを [Apache ORC](https://orc.apache.org/) 形式に変換します。ORC は、データを高速に取得するために最適化された単票ストレージ形式です。イベントは、*イベントデータストア*に集約されます。イベントデータストアは、[高度なイベントセレクタ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors)を適用することによって選択する条件に基づいた、イベントのイミュータブルなコレクションです。どのイベントが存続し、クエリに使用できるかは、イベントデータストアに適用するセレクタが制御します。CloudTrail Lake の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS CloudTrail Lake の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html)」を参照してください。  
CloudTrail Lake のイベントデータストアとクエリにはコストがかかります。イベントデータストアを作成する際に、イベントデータストアに使用する[料金オプション](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option)を選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、そのイベントデータストアのデフォルトと最長の保持期間が決まります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

## CloudTrail の Systems Manager データイベント
<a name="cloudtrail-data-events"></a>

[データイベント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)では、リソース上またはリソース内で実行されるリソースオペレーション (コントロールチャネルの作成やオープンなど) についての情報が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。デフォルトでは、CloudTrail はデータイベントをログ記録しません。CloudTrail **[イベント履歴]** にはデータイベントは記録されません。

追加の変更がイベントデータに適用されます。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

CloudTrail コンソール、AWS CLI、または CloudTrail API オペレーションを使用して、Systems Manager リソースタイプのデータイベントをログ記録できます。データイベントをログに記録する方法の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS マネジメントコンソール を使用したデータイベントのログ記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console)」および「[AWS Command Line Interface を使用したデータイベントのログ記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI)」を参照してください。

次の表に、データイベントをログに記録できる Systems Manager リソースタイプの一覧を示します。**データイベントタイプ (コンソール)** 列には、CloudTrail コンソールの**[データイベントタイプ]**リストから選択する値が表示されます。**resources.type 値**列には、AWS CLI または CloudTrail API を使用して高度なイベントセレクタを設定するときに指定する `resources.type` 値が表示されます。**CloudTrail に記録されたデータ API** 列には、リソースタイプの CloudTrail にログ記録された API コールが表示されます。


| データイベントタイプ (コンソール) | resources.type 値 | CloudTrail にログ記録されたデータ API | 
| --- | --- | --- | 
| Systems Manager |  AWS::SSMMessages::ControlChannel  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/monitoring-cloudtrail-logs.html) これらのオペレーションの詳細については、「*サービス認可リファレンス*」の「[Amazon Message Gateway Service で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonmessagegatewayservice.html#amazonmessagegatewayservice-actions-as-permissions)」を参照してください。  | 
| Systems Manager マネージドノード |  AWS::SSM::ManagedNode  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/monitoring-cloudtrail-logs.html)`RequestManagedInstanceRoleToken` 操作の詳細については、「[ハードウェアフィンガープリントを使用したハイブリッドアクティベーションマシンの検証](ssm-agent-technical-details.md#fingerprint-validation)」を参照してください  | 

`eventName`、`readOnly`、および `resources.ARN` フィールドでフィルタリングして、自分にとって重要なイベントのみをログに記録するように高度なイベントセレクタを設定できます。オブジェクトの詳細については、「*AWS CloudTrail API リファレンス*」の「[https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)」を参照してください。

## CloudTrail の Systems Manager 管理イベント
<a name="cloudtrail-management-events"></a>

[管理イベント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)では、AWS アカウント のリソースに対して実行される管理オペレーションについての情報が得られます。これらのイベントは、コントロールプレーンオペレーションとも呼ばれます。CloudTrail は、デフォルトで管理イベントをログ記録します。

Systems Manager は、CloudTrail に対するすべてのコントロールプレーンオペレーションを管理イベントとしてログに記録します。Systems Manager API オペレーションは「[AWS Systems Manager API リファレンス](https://docs.aws.amazon.com/systems-manager/latest/APIReference/Welcome.html)」にドキュメント化されています。例えば、`CreateMaintenanceWindows`、`PutInventory`、`SendCommand`、`StartSession` の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。Systems Manager API コールをモニタリングするために CloudTrail を設定する例については、「[Amazon EventBridge を使用してセッションアクティビティをモニタリングする (コンソール)](session-manager-auditing.md#session-manager-auditing-eventbridge-events)」を参照してください。

## Systems Manager のイベント例
<a name="monitoring-cloudtrail-logs-log-entries-example"></a>

各イベントは任意の送信元からの単一のリクエストを表し、リクエストされた API オペレーション、オペレーションの日時、リクエストパラメータなどに関する情報を含みます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、イベントは特定の順序で表示されません。

**Topics**
+ [管理イベントの例](#monitoring-cloudtrail-logs-log-entries-example-mgmt)
+ [データイベントの例](#monitoring-cloudtrail-logs-log-entries-example-data)

### 管理イベントの例
<a name="monitoring-cloudtrail-logs-log-entries-example-mgmt"></a>

**例 1: `DeleteDocument`**  
次の例は、米国東部 (オハイオ) リージョン (us-east-2) での `example-Document` という名前のドキュメントに対する `DeleteDocument` オペレーションを示す CloudTrail イベントを示しています。

```
{
    "eventVersion": "1.04",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AKIAI44QH8DHBEXAMPLE:203.0.113.11",
        "arn": "arn:aws:sts::123456789012:assumed-role/example-role/203.0.113.11",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-03-06T20:19:16Z"
            },
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAI44QH8DHBEXAMPLE",
                "arn": "arn:aws:iam::123456789012:role/example-role",
                "accountId": "123456789012",
                "userName": "example-role"
            }
        }
    },
    "eventTime": "2018-03-06T20:30:12Z",
    "eventSource": "ssm.amazonaws.com",
    "eventName": "DeleteDocument",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "203.0.113.11",
    "userAgent": "example-user-agent-string",
    "requestParameters": {
        "name": "example-Document"
    },
    "responseElements": null,
    "requestID": "86168559-75e9-11e4-8cf8-75d18EXAMPLE",
    "eventID": "832b82d5-d474-44e8-a51d-093ccEXAMPLE",
    "resources": [
        {
            "ARN": "arn:aws:ssm:us-east-2:123456789012:document/example-Document",
            "accountId": "123456789012"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

**例 2: `StartConnection`**  
次の例は、米国東部 (オハイオ) リージョン (us-east-2) で Fleet Manager を使用して RDP 接続を開始するユーザーの CloudTrail イベントを示しています。基本となる API アクションは `StartConnection` です。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AKIAI44QH8DHBEXAMPLE",
        "arn": "arn:aws:sts::123456789012:assumed-role/exampleRole",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAI44QH8DHBEXAMPLE",
                "arn": "arn:aws:sts::123456789012:assumed-role/exampleRole",
                "accountId": "123456789012",
                "userName": "exampleRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2021-12-13T14:57:05Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2021-12-13T16:50:41Z",
    "eventSource": "ssm-guiconnect.amazonaws.com",
    "eventName": "StartConnection",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "34.230.45.60",
    "userAgent": "example-user-agent-string",
    "requestParameters": {
        "AuthType": "Credentials",
        "Protocol": "RDP",
        "ConnectionType": "SessionManager",
        "InstanceId": "i-02573cafcfEXAMPLE"
    },
    "responseElements": {
        "ConnectionArn": "arn:aws:ssm-guiconnect:us-east-2:123456789012:connection/fcb810cd-241f-4aae-9ee4-02d59EXAMPLE",
        "ConnectionKey": "71f9629f-0f9a-4b35-92f2-2d253EXAMPLE",
        "ClientToken": "49af0f92-d637-4d47-9c54-ea51aEXAMPLE",
        "requestId": "d466710f-2adf-4e87-9464-055b2EXAMPLE"
    },
    "requestID": "d466710f-2adf-4e87-9464-055b2EXAMPLE",
    "eventID": "fc514f57-ba19-4e8b-9079-c2913EXAMPLE",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

### データイベントの例
<a name="monitoring-cloudtrail-logs-log-entries-example-data"></a>

**例 1: `CreateControlChannel`**  
次の例は、`CreateControlChannel` オペレーションを示す CloudTrail イベントを示しています。

```
{
  "eventVersion":"1.08",
  "userIdentity":{
    "type":"AssumedRole",
    "principalId":"AKIAI44QH8DHBEXAMPLE",
    "arn":"arn:aws:sts::123456789012:assumed-role/exampleRole",
    "accountId":"123456789012",
    "accessKeyId":"AKIAI44QH8DHBEXAMPLE",
    "sessionContext":{
      "sessionIssuer":{
        "type":"Role",
        "principalId":"AKIAI44QH8DHBEXAMPLE",
        "arn":"arn:aws:iam::123456789012:role/exampleRole",
        "accountId":"123456789012",
        "userName":"exampleRole"
      },
      "attributes":{
        "creationDate":"2023-05-04T23:14:50Z",
        "mfaAuthenticated":"false"
      }
    }
  },
  "eventTime":"2023-05-04T23:53:55Z",
  "eventSource":"ssm.amazonaws.com",
  "eventName":"CreateControlChannel",
  "awsRegion":"us-east-1",
  "sourceIPAddress":"192.0.2.0",
  "userAgent":"example-agent",
  "requestParameters":{
    "channelId":"44295c1f-49d2-48b6-b218-96823EXAMPLE",
    "messageSchemaVersion":"1.0",
    "requestId":"54993150-0e8f-4142-aa54-3438EXAMPLE",
    "userAgent":"example-agent"
  },
  "responseElements":{
    "messageSchemaVersion":"1.0",
    "tokenValue":"Value hidden due to security reasons.",
    "url":"example-url"
  },
  "requestID":"54993150-0e8f-4142-aa54-3438EXAMPLE",
  "eventID":"a48a28de-7996-4ca1-a3a0-a51fEXAMPLE",
  "readOnly":false,
  "resources":[
    {
      "accountId":"123456789012",
      "type":"AWS::SSMMessages::ControlChannel",
      "ARN":"arn:aws:ssmmessages:us-east-1:123456789012:control-channel/44295c1f-49d2-48b6-b218-96823EXAMPLE"
    }
  ],
  "eventType":"AwsApiCall",
  "managementEvent":false,
  "recipientAccountId":"123456789012",
  "eventCategory":"Data"
}
```

**例 2: `RequestManagedInstanceRoleToken`**  
次の例は、`RequestManagedInstanceRoleToken` オペレーションを示す CloudTrail イベントを示しています。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "123456789012:aws:ec2-instance:i-02854e4bEXAMPLE",
        "arn": "arn:aws:sts::123456789012:assumed-role/aws:ec2-instance/i-02854e4bEXAMPLE",
        "accountId": "123456789012",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "123456789012:aws:ec2-instance",
                "arn": "arn:aws:iam::123456789012:role/aws:ec2-instance",
                "accountId": "123456789012",
                "userName": "aws:ec2-instance"
            },
            "attributes": {
                "creationDate": "2023-08-27T03:34:46Z",
                "mfaAuthenticated": "false"
            },
            "ec2RoleDelivery": "2.0"
        }
    },
    "eventTime": "2023-08-27T03:37:15Z",
    "eventSource": "ssm.amazonaws.com",
    "eventName": "RequestManagedInstanceRoleToken",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "Apache-HttpClient/UNAVAILABLE (Java/1.8.0_362)",
    "requestParameters": {
        "fingerprint": "i-02854e4bf85EXAMPLE"
    },
    "responseElements": null,
    "requestID": "2582cced-455b-4189-9b82-7b48EXAMPLE",
    "eventID": "7f200508-e547-4c27-982d-4da0EXAMLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::SSM::ManagedNode",
            "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-02854e4bEXAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": false,
    "recipientAccountId": "123456789012",
    "eventCategory": "Data"
}
```

CloudTrail レコードの内容については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html)」を参照してください。

# CloudWatch Logs を使用した自動アクション出力のログ記録
<a name="automation-action-logging"></a>

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/](https://console.aws.amazon.com/systems-manager/)) を開きます。

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

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

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

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

1. [**CloudWatch Logs ロググループ**] の場合、アクション出力の送信先である AWS アカウント の既存の CloudWatch Logs ロググループを指定するには、次のいずれかを選択します。
   + **デフォルトのロググループに出力を送信する** — デフォルトのロググループが存在しない場合 (`/aws/ssm/automation/executeScript`)、オートメーションによって自動的に作成されます。
   + [**Choose from a list of log groups (ロググループ一覧から選択する)**]: アカウントに既に作成されたロググループを選択してアクション出力を保存します。
   + [**Enter a log group name (ロググループ名を入力)**]: アクション出力を保存するためにアカウントにすでに作成されているテキストボックスにロググループの名前を入力します。

1. [**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"
   ```

------

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

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

------
#### [ 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"
   ```

------

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

1. 次のコマンドを実行して、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"
       }
   }
   ```

# 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
```

# Amazon EventBridge を使用して Systems Manager イベントをモニタリングする
<a name="monitoring-eventbridge-events"></a>

Amazon EventBridge は、アプリケーションをさまざまなソースのデータに接続できるようにするサーバーレスイベントバスサービスです。EventBridge は、お客様独自のアプリケーション、SaaS (Software-as-a-Service) アプリケーション、AWS のサービスからリアルタイムデータのストリームを配信し、そのデータを AWS Lambda などのターゲットにルーティングします。お客様は、データの送信先を判断するためのルーティングルールを設定して、すべてのデータソースにリアルタイムで反応するアプリケーションアーキテクチャを構築できます。EventBridge を使用すると、疎結合かつ分散型のイベント駆動型アーキテクチャの構築が可能になります。

EventBridge は、以前は Amazon CloudWatch Events と呼ばれていました。EventBridge には、SaaS パートナーやお客様独自のアプリケーションからイベントを受信できる新しい機能が含まれています。既存の CloudWatch Events ユーザーは、新しい EventBridge コンソールと CloudWatch Events コンソールで、既存のデフォルトのバス、ルール、およびイベントにアクセスできます。EventBridge では同じ CloudWatch Events API を使用するため、既存の CloudWatch Events API の使用法に変化はありません。

EventBridge は数十件の AWS のサービスのイベントをルールに追加し、20 以上の AWS のサービスのターゲットを追加できます。

EventBridge は、AWS Systems Manager イベントと Systems Manager ターゲットの両方をサポートしています。

**サポート対象の Systems Manager のイベントタイプ**  
EventBridge が検出できる Systems Manager イベントには、次のようなものがあります。
+ 手動承認のための、ジャストインタイムノードアクセスのリクエストステータスの更新。
+ 失敗したジャストインタイムノードアクセスのリクエスト。
+ メンテナンスウィンドウがオフになっています。
+ Automation ワークフローが正常に完了しました。Automation は AWS Systems Manager のツールです。
+ パッチコンプライアンスに違反しているマネージドノード。
+ 更新中のパラメータ値。

EventBridge は、次の AWS Systems Manager ツールのイベントをサポートしています。
+ ジャストインタイムノードアクセス (イベントは、ベストエフォートベースで出力されます)。
+ オートメーション (イベントはベストエフォートベースで出力されます)。
+ Change Calendar (イベントは、ベストエフォートベースで出力されます。)
+ コンプライアンス
+ インベントリ (イベントは、ベストエフォートベースで出力されます)。
+ Maintenance Windows (イベントは、ベストエフォートベースで出力されます。)
+ Parameter Store (イベントは、ベストエフォートベースで出力されます。)
+ Run Command (イベントは、ベストエフォートベースで出力されます。)
+ State Manager (イベントは、ベストエフォートベースで出力されます。)

サポートされている Systems Manager イベントタイプの詳細については、「[リファレンス: Systems Manager 用の Amazon EventBridge イベントパターンとタイプ](reference-eventbridge-events.md)」と「[Systems Manager 用の Amazon EventBridge イベントの例](monitoring-systems-manager-event-examples.md)」を参照してください。

**サポート対象の Systems Manager のターゲットタイプ**  
EventBridge は、イベントルールのターゲットとして、次の 3 つの Systems Manager ツールをサポートしています。
+ 自動化ワークフローを実行する
+ Run Command Command ドキュメントを実行する (イベントはベストエフォートベースで出力されます)
+ OpsCenter OpsItem の作成

これらのターゲットの推奨される使用方法については、「[サンプルシナリオ: Amazon EventBridge ルールのSystems Manager ターゲット](monitoring-systems-manager-targets.md)」を参照してください。

EventBridge の使用を開始してルールを設定する方法の詳細については、*Amazon EventBridge ユーザーガイド*の「[Amazon EventBridge の開始方法](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)」を参照してください。EventBridge の使用の詳細については、[https://docs.aws.amazon.com/eventbridge/latest/userguide/](https://docs.aws.amazon.com/eventbridge/latest/userguide/)を参照してください。

**Topics**
+ [Systems Manager イベント用の EventBridge を設定する](monitoring-systems-manager-events.md)
+ [Systems Manager 用の Amazon EventBridge イベントの例](monitoring-systems-manager-event-examples.md)
+ [サンプルシナリオ: Amazon EventBridge ルールのSystems Manager ターゲット](monitoring-systems-manager-targets.md)

# Systems Manager イベント用の EventBridge を設定する
<a name="monitoring-systems-manager-events"></a>

サポートされている AWS Systems Manager のステータス変更、状態の変更、またはその他の条件が発生した場合に、Amazon EventBridge を使用してターゲットイベントを実行できます。状態またはステータスの遷移があると実行されるルールや、関心のある 1 以上の遷移があると実行されるルールを作成できます。

次の手順では、指定したイベントが Systems Manager によって発行されたときに適用される EventBridge ルールを作成するための一般的な手順を示します。特定のシナリオに対応するこのユーザーガイドの手順の一覧については、このトピックの最後にある「**詳細情報**」を参照してください。

**注記**  
AWS アカウント のサービスがイベントを発行すると、常にアカウントのデフォルトのイベントバスに移動します。AWS のサービスのイベントに応答するルールを作成するには、デフォルトのイベントバスに関連付けます。AWS のサービスからイベントを検索するカスタムイベントバスでルールを作成できますが、このルールは、クロスアカウントイベント配信を介して別のアカウントからそのようなイベントを受信した場合にのみ発動します。詳細については、*Amazon EventBridge ユーザーガイド*の「[AWS アカウント 間での Amazon EventBridge イベントの送受信](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html)」を参照してください。

**Systems Manager のイベント用に EventBridge を設定するには**

1. Amazon EventBridge コンソール ([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)) を開きます。

1. ナビゲーションペインで **[ルール]** を選択します。

1. **[ルールの作成]** を選択します。

1. ルールの名前と説明を入力します。

   ルールには、同じ AWS リージョン 内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

1. **[イベントバス]** では、このルールに関連付けるイベントバスを選択します。このルールを使用して、自分の AWS アカウント の一致するイベントに応答する場合は、[**default**] ( デフォルト) を選択します。アカウントの AWS のサービスで発生したイベントは、常にアカウントのデフォルトのイベントバスに移動します。

1. **[ルールタイプ]** で、**[イベントパターンを持つルール]** を選択してください。

1. [**次へ**] を選択します。

1. **[イベントソース]** で、**[AWS イベントまたは EventBridge パートナーイベント]** を選択してください。

1. [**Event pattern**] (イベントパターン) セクションで [**Event pattern form**] (イベントパターンフォーム) を選択します。

1. **[イベントソース]** で、**[AWS のサービス]** を選択してください。

1. [**AWS のサービス**] で、[**Systems Manager**] を選択します。

1. [**イベントタイプ**] の場合は、次のいずれかの操作を実行します。
   + [**すべてのイベント**] を選択します。

     [**すべてのイベント**] を選択した場合、Systems Manager によって出力されるすべてのイベントがルールと一致します。このオプションを使用すると、多くのイベントターゲットアクションが発生する可能性があります。
   + このルールに使用する Systems Manager のイベントタイプを選択します。EventBridge は、次の AWS Systems Manager ツールのイベントをサポートしています。
     + オートメーション
     + Change Calendar
     + コンプライアンス
     + Inventory
     + Maintenance Windows
     + Parameter Store
     + Run Command
     + State Manager
**注記**  
EventBridge でサポートされていない Systems Manager のアクションの場合、[AWS API call through CloudTrail] を選択して、CloudTrail によって記録される API コールに基づくイベントルールを作成できます。例については、「[Amazon EventBridge を使用してセッションアクティビティをモニタリングする (コンソール)](session-manager-auditing.md#session-manager-auditing-eventbridge-events)」を参照してください。

1. (オプション) ルールをより具体的にしたいときは、フィルタ値を追加します。例えば、**State Manager** を選択し、関連付けのターゲットである単一のマネージドインスタンスの状態にルールを制限する場合、[**Specific type(s)**] (特定のタイプ) に [**EC2 ステートマネージャーインスタンスの関連付けの状態の変更**] を選択します。

   サポートされている詳細タイプの詳細については、「 [リファレンス: Systems Manager 用の Amazon EventBridge イベントパターンとタイプ](reference-eventbridge-events.md)」を参照してください。

   一部の詳細タイプには、ステータスなど、サポートされる他のオプションがあります。使用可能なオプションは、選択したツールに応じて異なります。

1. [**次へ**] を選択します。

1. **[ターゲットタイプ]** では、**[AWS サービス]** を選択します。

1. [**Select a target**] (ターゲットを選択) でターゲット (Amazon SNS トピックまたは AWS Lambda 関数) を選択します。ターゲットは、ルールで定義したイベントパターンに一致するイベントが返されたときにトリガーされます。

1. 多くのターゲットタイプで、EventBridge はターゲットにイベントを送信するためのアクセス許可が必要です。これらの場合、EventBridge は、イベントの実行に必要な AWS Identity and Access Management (IAM) ロールを作成できます。
   + 自動的に IAM ロールを作成するには、[**Create a new role for this specific resource** (この特定のリソースに対して新しいロールを作成する)] を選択します。
   + 以前に作成した IAM ロールを使用するには、[**Use existing role** (既存のロールの使用)] を選択します。

1. (オプション) **別のターゲットを追加]** を選択して、このルールに別のターゲットを追加します。

1. [**次へ**] を選択します。

1. (オプション) ルールに 1 つ以上のタグを入力します。詳細については、*Amazon EventBridge ユーザーガイド*の[Amazon EventBridge のタグ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)を参照してください。

1. **次へ**をクリックします。

1. ルールの詳細を確認し、**ルールの作成** を選択します。

**詳細情報**  
+ [ランブックを使用する EventBridge イベントを作成する (コンソール)](running-automations-event-bridge.md#automation-cwe-target-console)
+ [入力トランスフォーマーを使用したオートメーションへのデータの受け渡し](automation-tutorial-eventbridge-input-transformers.md)
+ [EventBridge を使用してコンプライアンス問題を修復する](compliance-fixing.md)
+ [EventBridge でインベントリ削除アクションを表示する](inventory-custom.md#delete-custom-inventory-cwe)
+ [EventBridge ルールを設定して OpsItems を作成する](OpsCenter-automatically-create-OpsItems-2.md)
+ [パラメータおよびパラメータポリシー用の EventBridge ルールを設定する](sysman-paramstore-cwe.md#cwe-parameter-changes)

# Systems Manager 用の Amazon EventBridge イベントの例
<a name="monitoring-systems-manager-event-examples"></a>

JSON 形式で、AWS Systems Manager のサポートされている EventBridge イベントの例は以下のとおりです。

**Topics**
+ [AWS Systems Manager Automation のイベント](#SSM-Automation-event-types)
+ [AWS Systems Manager Change Calendar のイベント](#SSM-Change-Management-event-types)
+ [AWS Systems ManagerイベントChange Manager](#SSM-Change-Manager-event-types)
+ [AWS Systems Manager Compliance のイベント](#SSM-Configuration-Compliance-event-types)
+ [AWS Systems Manager Maintenance Windows のイベント](#EC2_maintenance_windows_event_types)
+ [AWS Systems Manager Parameter Store のイベント](#SSM-Parameter-Store-event-types)
+ [AWS Systems Manager OpsCenter のイベント](#SSM-OpsCenter-event-types)
+ [AWS Systems Manager Run Command のイベント](#SSM-Run-Command-event-types)
+ [AWS Systems Manager State Manager のイベント](#SSM-State-Manager-event-types)

## AWS Systems Manager Automation のイベント
<a name="SSM-Automation-event-types"></a>

**Automation ステップステータス変更の通知**

```
{
  "version": "0",
  "id": "eeca120b-a321-433e-9635-dab369006a6b",
  "detail-type": "EC2 Automation Step Status-change Notification",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-11-29T19:43:35Z",
  "region": "us-east-1",
  "resources": ["arn:aws:ssm:us-east-2:123456789012:automation-execution/333ba70b-2333-48db-b17e-a5e69c6f4d1c", 
    "arn:aws:ssm:us-east-2:123456789012:automation-definition/runcommand1:1"],
  "detail": {
    "ExecutionId": "333ba70b-2333-48db-b17e-a5e69c6f4d1c",
    "Definition": "runcommand1",
    "DefinitionVersion": 1.0,
    "Status": "Success",
    "EndTime": "Nov 29, 2024 7:43:25 PM",
    "StartTime": "Nov 29, 2024 7:43:23 PM",
    "Time": 2630.0,
    "StepName": "runFixedCmds",
    "Action": "aws:runCommand"
  }
}
```

**Automation 実行ステータス変更の通知**

```
{
  "version": "0",
  "id": "d290ece9-1088-4383-9df6-cd5b4ac42b99",
  "detail-type": "EC2 Automation Execution Status-change Notification",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-11-29T19:43:35Z",
  "region": "us-east-2",
  "resources": ["arn:aws:ssm:us-east-2:123456789012:automation-execution/333ba70b-2333-48db-b17e-a5e69c6f4d1c", 
    "arn:aws:ssm:us-east-2:123456789012:automation-definition/runcommand1:1"],
  "detail": {
    "ExecutionId": "333ba70b-2333-48db-b17e-a5e69c6f4d1c",
    "Definition": "runcommand1",
    "DefinitionVersion": 1.0,
    "Status": "Success",
    "StartTime": "Nov 29, 2024 7:43:20 PM",
    "EndTime": "Nov 29, 2024 7:43:26 PM",
    "Time": 5753.0,
    "ExecutedBy": "arn:aws:iam::123456789012:user/userName"
  }
}
```

## AWS Systems Manager Change Calendar のイベント
<a name="SSM-Change-Management-event-types"></a>

このトピックの情報を使用して、AWS Systems Manager Change Calendar の EventBridge イベントの動作を計画し、理解します。

**注記**  
他の AWS アカウントから共有されているカレンダーの状態の変更は現在サポートされていません。

### Amazon EventBridge と Change Calendar の統合
<a name="change-calendar-eventbridge-integration"></a>

AWS Systems Manager Change Calendar は Amazon EventBridge と統合して、カレンダーの状態の変更を通知します。基盤となるスケジューリングアーキテクチャに関連する以下の動作に注意してください。

イベントのタイミングと信頼性  
+ EventBridge は、最大 15 分のスケジューリング許容値でベストエフォートベースで通知を配信します。
+ 状態変更イベントは、個々のカレンダーイベントではなく、全体的なカレンダーステータスの遷移を反映します。
+ 複数のカレンダーイベントが同時に発生すると、EventBridge は実際のカレンダー状態の変更ごとに 1 つのイベントのみを生成します。
+ EventBridge は、カレンダーの全体的な状態が遷移した場合にのみイベントをトリガーします (CLOSED から OPEN に遷移した場合など)。状態の変化にならない個々のカレンダーイベントに対してはトリガーしません。
+ カレンダー状態を変更しないアドバイザリイベントは、EventBridge 通知をトリガーしません。

イベントの変更とタイミングに関する考慮事項  
+ スケジュールされた開始時刻または終了時刻から 15 分以内にカレンダーイベントを変更すると、EventBridge で重複する通知が生成されることや通知が行われないことがあります。
+ この動作は、以前にスケジュールされた通知を適切に更新またはキャンセルするのに十分な時間がスケジューリングシステムにないために発生します。
+ 定期的なイベントの場合、この動作は通常、変更後の最初の実行でのみ影響します。

隣接イベントと重複イベント  
+ 複数のカレンダーイベントが相互の 5 分以内にスケジュールされると、実際の状態の変化に応じて、状態遷移イベントが発生する場合と発生しない場合があります。
+ 重複イベントを特定の順序で作成すると、実際の状態変更が発生しなくても、追加の EventBridge イベントが発生する可能性があります。
+ 予測可能な動作を保証するために、実行時間に近いカレンダーイベントを作成または変更することは避けてください。

ベストプラクティス  
+ EventBridge ルールとダウンストリームオートメーションを設計して、潜在的な重複イベントを処理します。
+ 自動化ワークフローにべき等性を実装して、重複通知の問題を防止します。
+ カレンダーイベントを作成または変更するときは、十分なリードタイム (少なくとも 15 分) を確保します。
+ 具体的なカレンダーイベントパターンで EventBridge 統合を徹底的にテストしてください。

**カレンダーは開いています**

```
{
    "version": "0",
    "id": "47a3f03a-f30d-1011-ac9a-du3bdEXAMPLE",
    "detail-type": "Calendar State Change",
    "source": "aws.ssm",
    "account": "123456789012",
    "time": "2024-09-19T18:00:07Z",
    "region": "us-east-2",
    "resources": [
        "arn:aws:ssm:us-east-2:123456789012:document/MyCalendar"
    ],
    "detail": {
        "state": "OPEN",
        "atTime": "2024-09-19T18:00:07Z",
        "nextTransitionTime": "2024-10-11T18:00:07Z"
    }
}
```

**カレンダーは閉じています**

```
{
    "version": "0",
    "id": "f30df03a-1011-ac9a-47a3-f761eEXAMPLE",
    "detail-type": "Calendar State Change",
    "source": "aws.ssm",
    "account": "123456789012",
    "time": "2024-09-17T21:40:02Z",
    "region": "us-east-2",
    "resources": [
        "arn:aws:ssm:us-east-2:123456789012:document/MyCalendar"
    ],
    "detail": {
        "state": "CLOSED",
        "atTime": "2024-08-17T21:40:00Z",
        "nextTransitionTime": "2024-09-19T18:00:07Z"
    }
}
```

## AWS Systems ManagerイベントChange Manager
<a name="SSM-Change-Manager-event-types"></a>

**変更要求ステータス更新通知-例 1**

```
{
  "version": "0",
  "id": "feab80c1-a8ff-c721-b8b1-96ce70939696",
  "detail-type": "Change Request Status Update",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-10-24T10:51:52Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ssm:us-west-2:123456789012:opsitem/oi-12345abcdef",
    "arn:aws:ssm:us-west-2:123456789012:document/MyRunbook1"
  ],
  "detail": {
    "change-request-id": "d0585556-80f6-4522-8dad-dada6d45b67d",
    "change-request-title": "A change request title",
    "ops-item-id": "oi-12345abcdef",
    "ops-item-created-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "ops-item-created-time": "2024-10-24T10:50:33.180334Z",
    "ops-item-modified-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "ops-item-modified-time": "2024-10-24T10:50:33.180340Z",
    "ops-item-status": "InProgress",
    "change-template-document-name": "MyChangeTemplate",
    "runbook-document-arn": "arn:aws:ssm:us-west-2:123456789012:document/MyRunbook1",
    "runbook-document-version": "1",
    "auto-approve": true,
    "approvers": [
      "arn:aws:iam::123456789012:user/JaneDoe"
    ]
  }
}
```

**変更要求ステータス更新通知-例 2**

```
{
  "version": "0",
  "id": "25ce6b03-2e4e-1a2b-2a8f-6c9de8d278d2",
  "detail-type": "Change Request Status Update",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-10-24T10:51:52Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ssm:us-west-2:123456789012:opsitem/oi-abcdef12345",
    "arn:aws:ssm:us-west-2:123456789012:document/MyRunbook1"
  ],
  "detail": {
    "change-request-id": "d0585556-80f6-4522-8dad-dada6d45b67d",
    "change-request-title": "A change request title",
    "ops-item-id": "oi-abcdef12345",
    "ops-item-created-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "ops-item-created-time": "2024-10-24T10:50:33.180334Z",
    "ops-item-modified-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "ops-item-modified-time": "2024-10-24T10:50:33.997163Z",
    "ops-item-status": "Rejected",
    "change-template-document-name": "MyChangeTemplate",
    "runbook-document-arn": "arn:aws:ssm:us-west-2:123456789012:document/MyRunbook1",
    "runbook-document-version": "1",
    "auto-approve": true,
    "approvers": [
      "arn:aws:iam::123456789012:user/JaneDoe"
    ]
  }
}
```

## AWS Systems Manager Compliance のイベント
<a name="SSM-Configuration-Compliance-event-types"></a>

以下は、AWS Systems Manager Compliance のイベントの例です。

**関連付けの準拠**

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Configuration Compliance State Change",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-07-17T19:03:26Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:managed-instance/i-01234567890abcdef"
  ],
  "detail": {
    "last-runtime": "2024-01-01T10:10:10Z",
    "compliance-status": "compliant",
    "resource-type": "managed-instance",
    "resource-id": "i-01234567890abcdef",
    "compliance-type": "Association"
  }
}
```

**関連付けの非準拠**

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Configuration Compliance State Change",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-07-17T19:02:31Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:managed-instance/i-01234567890abcdef"
  ],
  "detail": {
    "last-runtime": "2024-01-01T10:10:10Z",
    "compliance-status": "non_compliant",
    "resource-type": "managed-instance",
    "resource-id": "i-01234567890abcdef",
    "compliance-type": "Association"
  }
}
```

**パッチの準拠**

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Configuration Compliance State Change",
  "source": "aws.123456789012",
  "account": "123456789012",
  "time": "2024-07-17T19:03:26Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:managed-instance/i-01234567890abcdef"
  ],
  "detail": {
    "resource-type": "managed-instance",
    "resource-id": "i-01234567890abcdef",
    "compliance-status": "compliant",
    "compliance-type": "Patch",
    "patch-baseline-id": "PB789",
    "severity": "critical"
  }
}
```

**パッチの非準拠**

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Configuration Compliance State Change",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-07-17T19:02:31Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:managed-instance/i-01234567890abcdef"
  ],
  "detail": {
    "resource-type": "managed-instance",
    "resource-id": "i-01234567890abcdef",
    "compliance-status": "non_compliant",
    "compliance-type": "Patch",
    "patch-baseline-id": "PB789",
    "severity": "critical"
  }
}
```

## AWS Systems Manager Maintenance Windows のイベント
<a name="EC2_maintenance_windows_event_types"></a>

以下は、Systems Manager Maintenance Windows のイベントの例です。

**ターゲットの登録**

有効なステータス値は、`REGISTERED` および `DEREGISTERED` です。

```
{
   "version":"0",
   "id":"01234567-0123-0123-0123-0123456789ab",
   "detail-type":"Maintenance Window Target Registration Notification",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2024-11-16T00:58:37Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ssm:us-east-2:123456789012:maintenancewindow/mw-0ed7251d3fcf6e0c2",
      "arn:aws:ssm:us-east-2:123456789012:windowtarget/e7265f13-3cc5-4f2f-97a9-7d3ca86c32a6"
   ],
   "detail":{
      "window-target-id":"e7265f13-3cc5-4f2f-97a9-7d3ca86c32a6",
      "window-id":"mw-0ed7251d3fcf6e0c2",
      "status":"REGISTERED"
   }
}
```

**ウィンドウの実行タイプ**

有効なステータス値は次のとおりです。
+ `CANCELLED`
+ `CANCELLING`
+ `FAILED`
+ `IN_PROGRESS`
+ `PENDING`
+ `SKIPPED_OVERLAPPING`
+ `SUCCESS TIMED_OUT`

```
{
   "version":"0",
   "id":"01234567-0123-0123-0123-0123456789ab",
   "detail-type":"Maintenance Window Execution State-change Notification",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2025-06-02T14:52:18Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ssm:us-east-2:123456789012:maintenancewindow/mw-0c50858d01EXAMPLE"
   ],
   "detail":{
      "start-time":"2025-06-02T14:48:28.039273Z",
      "end-time":"2025-06-02T14:52:18.083773Z",
      "window-id":"mw-0ed7251d3fcf6e0c2",
      "window-execution-id":"14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
      "status":"SUCCESS"
   }
}
```

**タスクの実行タイプ**

有効なステータス値は、`IN_PROGRESS`、`SUCCESS`、`FAILED` および `TIMED_OUT` です。

```
{
   "version":"0",
   "id":"01234567-0123-0123-0123-0123456789ab",
   "detail-type":"Maintenance Window Task Execution State-change Notification",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2025-06-02T14:52:18Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ssm:us-east-2:123456789012:maintenancewindow/mw-0c50858d01EXAMPLE"
   ],
   "detail":{
      "start-time":"2025-06-02T14:48:28.039273Z",
      "task-execution-id":"6417e808-7f35-4d1a-843f-123456789012",
      "end-time":"2025-06-02T14:52:18.083773Z",
      "window-id":"mw-0ed7251d3fcf6e0c2",
      "window-execution-id":"14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
      "status":"SUCCESS"
   }
}
```

**処理されるタスクのターゲット**

有効なステータス値は、`IN_PROGRESS`、`SUCCESS`、`FAILED` および `TIMED_OUT` です。

```
{
   "version":"0",
   "id":"01234567-0123-0123-0123-0123456789ab",
   "detail-type":"Maintenance Window Task Target Invocation State-change Notification",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2025-06-02T14:52:18Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ssm:us-east-2:123456789012:maintenancewindow/mw-123456789012345678"
   ],
   "detail":{
      "start-time":"2025-06-02T14:48:28.039273Z",
      "end-time":"2025-06-02T14:52:18.083773Z",
      "window-id":"mw-0ed7251d3fcf6e0c2",
      "window-execution-id":"791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
      "task-execution-id":"c9b05aba-197f-4d8d-be34-e73fbEXAMPLE",
      "window-target-id":"e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE",
      "status":"SUCCESS",
      "owner-information":"Owner"
   }
}
```

**ウィンドウの状態の変更**

有効なステータス値は、`ENABLED` および `DISABLED` です。

```
{
   "version":"0",
   "id":"01234567-0123-0123-0123-0123456789ab",
   "detail-type":"Maintenance Window State-change Notification",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2024-11-16T00:58:37Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ssm:us-east-2:123456789012:maintenancewindow/mw-0c50858d01EXAMPLE"
   ],
   "detail":{
      "window-id":"mw-0c50858d01EXAMPLE",
      "status":"DISABLED"
   }
}
```

## AWS Systems Manager Parameter Store のイベント
<a name="SSM-Parameter-Store-event-types"></a>

以下は、Systems Manager Parameter Store のイベントの例です。

**パラメータの作成**

```
{
  "version": "0",
  "id": "6a7e4feb-b491-4cf7-a9f1-bf3703497718",
  "detail-type": "Parameter Store Change",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-05-22T16:43:48Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:parameter/MyExampleParameter"
  ],
  "detail": {
    "operation": "Create",
    "name": "MyExampleParameter",
    "type": "String",
    "description": "Sample Parameter"
  }
}
```

**パラメータの更新**

```
{
  "version": "0",
  "id": "9547ef2d-3b7e-4057-b6cb-5fdf09ee7c8f",
  "detail-type": "Parameter Store Change",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-05-22T16:44:48Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:parameter/MyExampleParameter"
  ],
  "detail": {
    "operation": "Update",
    "name": "MyExampleParameter",
    "type": "String",
    "description": "Sample Parameter"
  }
}
```

**パラメータの削除**

```
{
  "version": "0",
  "id": "80e9b391-6a9b-413c-839a-453b528053af",
  "detail-type": "Parameter Store Change",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-05-22T16:45:48Z",
  "region": "us-east-2",
  "resources": [
    "arn:aws:ssm:us-east-2:123456789012:parameter/MyExampleParameter"
  ],
  "detail": {
    "operation": "Delete",
    "name": "MyExampleParameter",
    "type": "String",
    "description": "Sample Parameter"
  }
}
```

## AWS Systems Manager OpsCenter のイベント
<a name="SSM-OpsCenter-event-types"></a>

**OpsCenterOpsItem通知の作成**

```
{
  "version": "0",
  "id": "aae66adc-7aac-f0c0-7854-7691e8c079b8",
  "detail-type": "OpsItem Create",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-10-19T02:48:11Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ssm:us-west-2:123456789012:opsitem/oi-123456abcdef"
  ],
  "detail": {
    "created-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "created-time": "2024-10-19T02:46:53.629361Z",
    "source": "aws.ssm",
    "status": "Open",
    "ops-item-id": "oi-123456abcdef",
    "title": "An issue title",
    "ops-item-type": "/aws/issue",
    "description": "A long description may appear here"
  }
}
```

**OpsCenterOpsItem通知の更新**

```
{
  "version": "0",
  "id": "2fb5b168-b725-41dd-a890-29311200089c",
  "detail-type": "OpsItem Update",
  "source": "aws.ssm",
  "account": "123456789012",
  "time": "2024-10-19T02:48:11Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ssm:us-west-2:123456789012:opsitem/oi-123456abcdef"
  ],
  "detail": {
    "created-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "created-time": "2024-10-19T02:46:54.049271Z",
    "modified-by": "arn:aws:iam::123456789012:user/JohnDoe",
    "modified-time": "2024-10-19T02:46:54.337354Z",
    "source": "aws.ssm",
    "status": "Open",
    "ops-item-id": "oi-123456abcdef",
    "title": "An issue title",
    "ops-item-type": "/aws/issue",
    "description": "A long description may appear here"
  }
}
```

## AWS Systems Manager Run Command のイベント
<a name="SSM-Run-Command-event-types"></a>

**Run Command ステータス変更通知**

```
{
    "version": "0",
    "id": "51c0891d-0e34-45b1-83d6-95db273d1602",
    "detail-type": "EC2 Command Status-change Notification",
    "source": "aws.ssm",
    "account": "123456789012",
    "time": "2024-07-10T21:51:32Z",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-02573cafcfEXAMPLE"],
    "detail": {
        "command-id": "e8d3c0e4-71f7-4491-898f-c9b35bee5f3b",
        "document-name": "AWS-RunPowerShellScript",
        "expire-after": "2024-07-14T22:01:30.049Z",
        "parameters": {
            "executionTimeout": ["3600"],
            "commands": ["date"]
        },
        "requested-date-time": "2024-07-10T21:51:30.049Z",
        "status": "Success"
    }
}
```

**Run Command 呼び出しステータス変更通知**

```
{
    "version": "0",
    "id": "4780e1b8-f56b-4de5-95f2-95dbEXAMPLE",
    "detail-type": "EC2 Command Invocation Status-change Notification",
    "source": "aws.ssm",
    "account": "123456789012",
    "time": "2024-07-10T21:51:32Z",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-02573cafcfEXAMPLE"],
    "detail": {
        "command-id": "e8d3c0e4-71f7-4491-898f-c9b35bee5f3b",
        "document-name": "AWS-RunPowerShellScript",
        "instance-id": "i-02573cafcfEXAMPLE",
        "requested-date-time": "2024-07-10T21:51:30.049Z",
        "status": "Success"
    }
}
```

## AWS Systems Manager State Manager のイベント
<a name="SSM-State-Manager-event-types"></a>

**State Manager 関連付け状態の変更**

```
{
   "version":"0",
   "id":"db839caf-6f6c-40af-9a48-25b2ae2b7774",
   "detail-type":"EC2 State Manager Association State Change",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2024-05-16T23:01:10Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ssm:us-east-2::document/AWS-RunPowerShellScript"
   ],
   "detail":{
      "association-id":"6e37940a-23ba-4ab0-9b96-5d0a1a05464f",
      "document-name":"AWS-RunPowerShellScript",
      "association-version":"1",
      "document-version":"Optional.empty",
      "targets":"[{\"key\":\"InstanceIds\",\"values\":[\"i-12345678\"]}]",
      "creation-date":"2024-02-13T17:22:54.458Z",
      "last-successful-execution-date":"2024-05-16T23:00:01Z",
      "last-execution-date":"2024-05-16T23:00:01Z",
      "last-updated-date":"2024-02-13T17:22:54.458Z",
      "status":"Success",
      "association-status-aggregated-count":"{\"Success\":1}",
      "schedule-expression":"cron(0 */30 * * * ? *)",
      "association-cwe-version":"1.0"
   }
}
```

**State Manager インスタンス関連付け状態の変更**

```
{
   "version":"0",
   "id":"6a7e8feb-b491-4cf7-a9f1-bf3703467718",
   "detail-type":"EC2 State Manager Instance Association State Change",
   "source":"aws.ssm",
   "account":"123456789012",
   "time":"2024-02-23T15:23:48Z",
   "region":"us-east-2",
   "resources":[
      "arn:aws:ec2:us-east-2:123456789012:instance/i-12345678",
      "arn:aws:ssm:us-east-2:123456789012:document/my-custom-document"
   ],
   "detail":{
      "association-id":"34fcb7e0-9a14-4984-9989-0e04e3f60bd8",
      "instance-id":"i-02573cafcfEXAMPLE",
      "document-name":"my-custom-document",
      "document-version":"1",
      "targets":"[{\"key\":\"instanceids\",\"values\":[\"i-02573cafcfEXAMPLE\"]}]",
      "creation-date":"2024-02-23T15:23:48Z",
      "last-successful-execution-date":"2024-02-23T16:23:48Z",
      "last-execution-date":"2024-02-23T16:23:48Z",
      "status":"Success",
      "detailed-status":"",
      "error-code":"testErrorCode",
      "execution-summary":"testExecutionSummary",
      "output-url":"sampleurl",
      "instance-association-cwe-version":"1"
   }
}
```

# サンプルシナリオ: Amazon EventBridge ルールのSystems Manager ターゲット
<a name="monitoring-systems-manager-targets"></a>

Amazon EventBridge ルールで呼び出すターゲットを指定する場合、20 を超えるターゲットタイプから選択し、各ルールに最大 5 つのターゲットを追加できます。

さまざまなターゲットのうち、EventBridge イベントが発生したときのターゲットアクションとして、Automation、OpsCenter、Run Command (いずれも AWS Systems Manager のツール) から選択できます。

次に、これらのツールを EventBridge ルールのターゲットとして使用する方法の例をいくつか示します。

**自動化の例**  
次のようなイベントが発生したときに、オートメーションワークフローを開始するように EventBridge ルールを設定できます。
+ マネージドノードがステータスチェック (`StatusCheckFailed_Instance=1`) に失敗したことが Amazon CloudWatch アラームによってレポートされた場合、ノードで `AWSSupport-ExecuteEC2Rescue` Automation ランブックを実行します。
+ 新しい Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが実行されているために `EC2 Instance State-change Notification` イベントが発生した場合は、インスタンスで `AWS-AttachEBSVolume` Automation ランブックを実行します。
+ Amazon Elastic Block Store (Amazon EBS) ボリュームが作成され、利用可能になったら、そのボリュームで `AWS-CreateSnapshot` Automation ランブックを実行します。

**OpsCenter の例**  
次のようなインシデントが発生した場合に、新しい OpsItem を作成するように EventBridge ルールを設定できます。
+ Amazon DynamoDB のスロットリングイベントが発生するか、Amazon EBS ボリュームのパフォーマンスが低下しています。
+ Amazon EC2 Auto Scaling グループがノードの起動に失敗したか、Systems Manager Automation ワークフローが失敗しました。
+ EC2 インスタンスの状態が `Running` から `Stopped` に変わります。

**Run Command の例**  
次のようなイベントが発生したときに、Run Command で Systems Manager コマンドドキュメントを実行するように EventBridge ルールを設定できます。
+ Auto Scaling グループが間もなく終了するとき、Run Command スクリプトは終了する前にノードからログファイルをキャプチャできます。
+ 新しいノードが Auto Scaling グループ内に作成されると、Run Command ターゲットアクションによってウェブサーバーロールが有効になるか、ノードにソフトウェアがインストールされる可能性があります。
+ マネージドノードがコンプライアンス違反であることが判明した場合、Run Command ターゲットアクションは、`AWS-RunPatchBaseline` ドキュメントを実行してノード上のパッチを更新する可能性があります。

# Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング
<a name="monitoring-sns-notifications"></a>

Amazon Simple Notification Service (Amazon SNS) を設定し、AWS Systems Manager のツールである Run Command または Maintenance Windows を使用して送信したコマンドのステータスに関する通知を送信できます。Amazon SNS は、Amazon SNS トピックをサブスクライブしているクライアントまたはエンドポイントへの通知の送信および配信を管理します。コマンドが新しい状態に変更、または*失敗*や*タイムアウト*のような状態に変更されるたびに通知を受け取ることができます。複数のノードにコマンドを送信する場合、特定ノードに送信されたコマンドの各コピーに対して通知を受けることができます。各コピーは、その*呼び出し*と呼ばれます。

Amazon SNS は、HTTP または HTTPS POST、E メール (SMTP、プレーンテキストまたは JSON 形式のいずれか)、あるいは Amazon Simple Queue Service (Amazon SQS) キューに投稿されるメッセージとして通知を配信できます。詳細については、*Amazon Simple Notification Service デベロッパーガイド*の「[Amazon SNS とは](https://docs.aws.amazon.com/sns/latest/dg/)」を参照してください。Run Command と Maintenance Windows が提供する Amazon SNS 通知に含まれる JSON データの構造の例については、「[AWS Systems Manager の Amazon SNS 通知の例](monitoring-sns-examples.md)」を参照してください。

**重要**  
次の重要な情報に注意してください。  
Amazon Simple 通知サービスの FIFO トピックはサポートされていません。
チャットアプリケーションの Amazon Q Developer は、Amazon SNS を使用した Systems Manager のモニタリングではサポートされていません。チャットアプリケーションの Amazon Q Developer を使って Systems Manager をモニタリングする場合は、Amazon EventBridge を使用します。EventBridge を使用して Systems Manager をモニタリングする方法については、「[Amazon EventBridge を使用して Systems Manager イベントをモニタリングする](monitoring-eventbridge-events.md)」を参照してください。チャットアプリケーションの Amazon EventBridge と Amazon Q Developer の詳細については、Amazon Q Developer in chat applications Administrator Guide の「[Tutorial: Create an EventBridge rule that send notifications to Amazon Q Developer in chat applications](https://docs.aws.amazon.com/chatbot/latest/adminguide/create-eventbridge-rule.html)」を参照してください。**

## AWS Systems Manager の Amazon SNS 通知の設定
<a name="monitoring-sns-configure"></a>

メンテナンスウィンドウに登録されている Run Command および Maintenance Windows のタスクは、以下のステータスに入るコマンドタスクについて Amazon SNS 通知を送信できます。
+ 進行中
+ 成功
+ 失敗
+ タイムアウト
+ Cancelled (キャンセル)

これらのステータスのいずれかを入力するコマンドの条件については、「[コマンドのステータスについて](monitor-commands.md)」を参照してください。

**注記**  
Run Command を使用してコマンドを送信すると、キャンセル中および保留中のステータスも報告されます。これらのステータスは、Amazon SNS 通知ではキャプチャされません。

### Amazon SNS 通知のコマンド概要
<a name="monitoring-sns-configure-summary"></a>

Amazon SNS 通知のメンテナンスウィンドウにある Run Command または Run Command のタスクを設定する場合、Amazon SNS は次の情報を含む概要メッセージを送信します。


****  

| フィールド | タイプ | 説明 | 
| --- | --- | --- | 
|  eventTime  |  文字列  |  イベントが開始された時刻。Amazon SNS はメッセージの配信順序を保証しないため、タイムスタンプは重要です。例: 2016-04-26T13:15:30Z   | 
|  documentName  |  文字列  |  このコマンドの実行に使用された SSM ドキュメントの名前。  | 
|  commandId  |  String  |  コマンドが送信された後に Run Command によって生成された ID です。  | 
|  expiresAfter  |  日付  |  この時間が経過したときにコマンドの実行がまだ開始されていない場合、コマンドは実行されません。  | 
|  outputS3BucketName  |  文字列  |  コマンド実行に対する応答を保存する Amazon Simple Storage Service (Amazon S3) バケットです。  | 
|  outputS3KeyPrefix  |  文字列  |  コマンド実行に対する応答を保存するバケット内の Amazon S3 のディレクトリパスです。  | 
|  requestedDateTime  |  String  |  リクエストがこの特定のノードに送信された日時です。  | 
|  instanceIds  |  StringList  |  コマンドの対象となるノードです。  インスタンス ID が概要メッセージに含まれるのは、Run Command タスクがインスタンス ID を直接ターゲットにしている場合のみです。Run Command タスクがタグベースのターゲティングを使用して発行された場合、インスタンス ID は概要メッセージに含まれません。   | 
|  ステータス  |  文字列  |  コマンドのコマンドステータスです。  | 

### 呼び出しベースの Amazon SNS 通知
<a name="monitoring-sns-configure-invocation"></a>

コマンドを複数のノードに送信する場合、Amazon SNS はコマンドの各コピーまたは呼び出しに関するメッセージを送信できます。メッセージには次の情報が含まれます。


****  

| フィールド | タイプ | 説明 | 
| --- | --- | --- | 
|  eventTime  |  文字列  |  イベントが開始された時刻。Amazon SNS はメッセージの配信順序を保証しないため、タイムスタンプは重要です。例: 2016-04-26T13:15:30Z   | 
|  documentName  |  文字列  |  このコマンドの実行に使用された Systems Manager ドキュメント (SSM ドキュメント) の名前。  | 
|  requestedDateTime  |  String  |  リクエストがこの特定のノードに送信された日時です。  | 
|  commandId  |  String  |  コマンドが送信された後に Run Command によって生成された ID です。  | 
|  instanceId  |  文字列  |  コマンドの対象となるインスタンスを選択します。  | 
|  status  |  文字列  |  この呼び出しのコマンドステータス。  | 

コマンドがステータスを変更したときに Amazon SNS 通知をセットアップするには、次のタスクを完了する必要があります。

**注記**  
メンテナンスウィンドウの Amazon SNS 通知を設定していない場合は、このトピックの「タスク 5」をスキップできます。

**Topics**
+ [Amazon SNS 通知のコマンド概要](#monitoring-sns-configure-summary)
+ [呼び出しベースの Amazon SNS 通知](#monitoring-sns-configure-invocation)
+ [タスク 1: Amazon SNS トピックを作成してサブスクライブする](#monitoring-configure-sns)
+ [タスク 2: Amazon SNS 通知用の IAM ポリシーを作成する](#monitoring-iam-policy)
+ [タスク 3: Amazon SNS 通知の IAM ロールを作成する](#monitoring-iam-notifications)
+ [タスク 4: ユーザーアクセスを設定する](#monitoring-sns-passpolicy)
+ [タスク 5: iam:PassRole ポリシーをメンテナンスウィンドウロールにアタッチする](#monitoring-sns-passpolicy-mw)

### タスク 1: Amazon SNS トピックを作成してサブスクライブする
<a name="monitoring-configure-sns"></a>

Amazon SNS *トピック*は、メンテナンスウィンドウに登録されている Run Command および Run Command タスクがコマンドのステータスに関する通知を送信するために使用する通信チャネルです。Amazon SNS では、HTTP/S、E メールに加え、Amazon Simple Queue Service (Amazon SQS) のような AWS のサービスをサポートしています。開始するには、E メールプロトコルを使用して開始することをお勧めします。トピックの作成方法の詳細については、*Amazon Simple Notification Service デベロッパーガイド*の「[Amazon SNS トピックの作成](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)」を参照してください。

**注記**  
トピックを作成した後に [**Topic ARN (トピック ARN)**] をコピー、または書き留めます。ステータスの通知を返すように設定されたコマンドを送信するときに、この ARN を指定します。

トピックを作成したら、[**エンドポイント**] を指定してサブスクライブします。E メールプロトコルを選択した場合、エンドポイントは、通知を受け取る E メールアドレスです。トピックにサブスクライブする方法の詳細については、*Amazon Simple Notification Service デベロッパーガイド*の「[Amazon SNS トピックへのサブスクライブ](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)」を参照してください。

Amazon SNS は、*AWS通知*の確認メールをお客様が指定した E メールアドレスに送信します。E メールを開き、[**サブスクリプションを確認**] へのリンクを選択します。

AWS からの確認メッセージが届きます。Amazon SNS は、通知を受信し、通知を E メールとして指定された E メールアドレスに送信するように設定されました。

### タスク 2: Amazon SNS 通知用の IAM ポリシーを作成する
<a name="monitoring-iam-policy"></a>

以下の手順を使用して、Amazon SNS 通知を開始するためのアクセス許可を提供するカスタム AWS Identity and Access Management (IAM) ポリシーを作成します。

**Amazon SNS 通知用のカスタム IAM ポリシーを作成するには**

1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソール を開きます。

1. ナビゲーションペインで、**Policies** を選択し、**Create Policy** を選択します。([**Get Started**] ボタンが表示された場合は、そのボタンを選択してから、[**Create Policy**] を選択します)。

1. [**JSON**] タブを選択します。

1. Amazon SNS トピックが AWS KMS 暗号化を使用しているかどうかに応じて、デフォルトの内容を次のいずれかに置き換えます。

------
#### [ SNS topic not encrypted ]

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sns:Publish"
               ],
               "Resource": "arn:aws:sns:us-east-1:111122223333:sns-topic-name"
           }
       ]
   }
   ```

------

   *region* は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている*リージョン*値のリストについては、「*Amazon Web Services 全般のリファレンス*」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある**リージョン**列を参照してください。

   **account-id** は、AWS アカウントの 12 桁の識別子を `123456789012` 形式で表します。

   *sns-topic-name* は、通知の発行に使用する Amazon SNS トピックの名前を表します。

------
#### [ SNS topic encrypted ]

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sns:Publish"
               ],
               "Resource": "arn:aws:sns:us-east-1:111122223333:sns-topic-name"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
           }
       ]
   }
   ```

------

   *region* は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている*リージョン*値のリストについては、「*Amazon Web Services 全般のリファレンス*」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある**リージョン**列を参照してください。

   **account-id** は、AWS アカウントの 12 桁の識別子を `123456789012` 形式で表します。

   *sns-topic-name* は、通知の発行に使用する Amazon SNS トピックの名前を表します。

   *kms-key-id* は、トピックの暗号化と復号に使用する AWS KMS の対称暗号化 KMS キーの ID を、`1234abcd-12ab-34cd-56ef-12345EXAMPLE` という形式で表しています。

**注記**  
AWS KMS 暗号化の使用には料金がかかります。詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[Managing Amazon SNS encryption keys and costs](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html)」を参照してください。

------

1. **[Next: Tags]** (次へ: タグ) を選択します。

1. (オプション) 1 つ以上のタグキーと値のペアを追加して、このポリシーのアクセスを整理、追跡、または制御します。

1. **[次へ: レビュー]** を選択します。

1. [**Review policy (ポリシーの確認)**] ページで、[**Name (名前)**] にインラインポリシーの名前を入力します。例: **my-sns-publish-permissions**。

1. (オプション) [**Description (説明)**] に、ポリシーの説明を入力します。

1. [**Create policy**] を選択します。

### タスク 3: Amazon SNS 通知の IAM ロールを作成する
<a name="monitoring-iam-notifications"></a>

Amazon SNS 通知の IAM ロールを作成するには、次の手順を使用します。このサービスロールは、Systems Manager で Amazon SNS 通知を開始するために使用されます。以降の手順では、このロールは Amazon SNS IAM ロールと呼ばれます。

**Amazon SNS 通知の IAM サービスロールを作成するには**

1. AWS マネジメントコンソール にサインインして、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開きます。

1. IAM コンソールのナビゲーションペインで、**[ロール]**、**[ロールを作成]** を選択します。

1. **[AWS のサービス]**、[Systems Manager] の順にクリックします。

1. [Systems Manager のユースケース] を選択します。その後、**[Next]** を選択します。

1. [**Attach permissions policies (アクセス許可ポリシーのアタッチ)**] ページで、タスク 2 で作成したカスタムポリシーの名前の左側にあるチェックボックスをオンにします。例: **my-sns-publish-permissions**。

1. (オプション) [アクセス許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

   **[Permissions boundary]** (アクセス許可の境界) セクションを展開し、**[Use a permissions boundary to control the maximum role permissions]** (アクセス許可の境界を使用して、ロールのアクセス許可の上限を設定する) を選択します。IAM には、あなたのアカウント内の AWS 管理ポリシーとカスタマー管理ポリシーのリストがあります。アクセス許可の境界に使用するポリシーを選択するか、[**ポリシーを作成**] を選択して新しいブラウザタブを開き、新しいポリシーをゼロから作成します。詳細については、『*IAM ユーザーガイド*』の「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)」を参照してください。ポリシーを作成したら、そのタブを閉じて元のタブに戻り、アクセス許可の境界として使用するポリシーを選択します。

1. [**次へ**] を選択します。

1. 可能な場合は、このロールの目的を識別するのに役立つロール名またはロール名サフィックスを入力します。ロール名は AWS アカウント アカウント内で一意である必要があります。大文字と小文字は区別されません。例えば、**PRODROLE** と **prodrole** というロール名を両方作成することはできません。多くのエンティティによりロールが参照されるため、作成後にロール名を変更することはできません。

1. (オプション) [**Description (説明)**] には、新しいロールの説明を入力します。

1. **[Step 1: Select trusted entities]** (ステップ 1: 信頼済みエンティティの選択) または **[Step 2: Select permissions]** (ステップ 2: 権限の選択) のセクションで **[Edit]** (編集) を選択し、ロールのユースケースと権限を変更します。

1. (オプション) タグをキーバリューペアとしてアタッチして、メタデータをユーザーに追加します。IAM でのタグの使用に関する詳細については、「IAM ユーザーガイド」の「[IAM リソースにタグを付ける](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)」を参照してください。

1. ロール情報を確認し、**ロールの作成** を選択します。

1. ロールの名前を選択してから、**[Role ARN]** (ロール ARN) 値をコピーまたはメモします。Amazon SNS 通知を返すように設定されたコマンドを送信するときに、ロールのこの Amazon リソースネーム (ARN) が使用されます。

1. [**Summary (概要)**] ページは開いたままにします。

### タスク 4: ユーザーアクセスを設定する
<a name="monitoring-sns-passpolicy"></a>

IAM エンティティ (ユーザー、ロール、またはグループ) に管理者許可が割り当てられている場合、ユーザーまたはロールには Run Command と Maintenance Windows へのアクセスと AWS Systems Manager ツールが付与されます。

管理者許可のないエンティティの場合、管理者は IAM エンティティに次のアクセス許可を付与する必要があります。
+ `AmazonSSMFullAccess` マネージドポリシー、または同等のアクセス許可を付与するポリシー。
+ `iam:PassRole` で作成されたロールの [タスク 3: Amazon SNS 通知の IAM ロールを作成する](#monitoring-iam-notifications) アクセス許可。例えば、次のようになります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/sns-role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ssm.amazonaws.com"
                }
            }
        }
    ]
}
```

------

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
+ AWS IAM アイデンティティセンター のユーザーとグループ:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

**ユーザーアクセスを設定し、`iam:PassRole` ポリシーをユーザーアカウントにアタッチするには**

1. IAM のナビゲーションペインで、[**ユーザー**] を選択し、設定するユーザーアカウントを選択します。

1. [**Permissions (アクセス許可)**] タブのポリシーリストで、**AmazonSSMFullAccess** ポリシーがリストにあるか、またはアカウントに Systems Manager へのアクセス許可を与える同等のポリシーがあるかどうかを確認します。

1. [**Add inline policy** (インラインポリシーの追加)] を選択します。

1. [**Create policy** (ポリシーの作成)] ページの [**Visual editor** (ビジュアルエディタ)] タブを選択します。

1. [**Choose a service** (サービスの選択)] を選んでから、[**IAM**] を選択します。

1. **[Actions]** (アクション) の場合は、**[Filter actions]** (フィルタアクション) テキストボックスに「**PassRole**」を入力し、**[PassRole]** の横にあるチェックボックスを選択します。

1. [**Resources** (リソース)] の場合は、[**Specific** (固有)] が選択されていることを確認し、[**Add ARN** (ARN の追加)] を選択します。

1. [**Specify ARN for role (ロールの ARN の指定)**] フィールドに、タスク 3 の終わりでコピーした Amazon SNS IAM ロールの ARN を貼り付けます。システムによって、[**アカウント**] と [**Role name with path (ロール名とパス)**] フィールドが自動的に入力されます。

1. [**Add**] (追加) をクリックします。

1. [**Review policy** (ポリシーの確認)] を選択します。

1. **[Review Policy]** (ポリシーの確認) ページに名前を入力し、**[Create Policy]** (ポリシーの作成) を選択します。

### タスク 5: iam:PassRole ポリシーをメンテナンスウィンドウロールにアタッチする
<a name="monitoring-sns-passpolicy-mw"></a>

Run Command タスクをメンテナンスウィンドウに登録する場合、サービスロール Amazon リソースネーム (ARN) を指定します。このサービスロールは、メンテナンスウィンドウに登録されているタスクを実行するために Systems Manager によって使用されます。登録された Run Command タスクの Amazon SNS 通知を設定するには、指定されたメンテナンスウィンドウサービスロールに `iam:PassRole` ポリシーをアタッチします。登録されたタスクを Amazon SNS 通知に設定しない場合、このタスクはスキップしてください。

`iam:PassRole` ポリシーを使用すると、Maintenance Windows サービスロールは、タスク 3 で作成した Amazon SNS IAM ロールを Amazon SNS サービスに渡すことができます。次の手順は、`iam:PassRole` ポリシーを Maintenance Windows サービスロールにアタッチする方法を示しています。

**注記**  
登録された Run Command タスクに関連する通知を送信するには、メンテナンスウィンドウのカスタムサービスロールを使用します。詳細については、「[Maintenance Windows を設定する](setting-up-maintenance-windows.md)」を参照してください。  
メンテナンスウィンドウのタスク用にカスタムサービスロールを作成する必要がある場合は、「[Maintenance Windows を設定する](setting-up-maintenance-windows.md)」を参照してください。

**`iam:PassRole` ポリシーを Maintenance Windows ロールにアタッチするには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで [**Roles (ロール)**] を選択し、タスク 3 で作成した Amazon SNS IAM ロールを選択します。

1. [**Role ARN** (ロールの ARN)] をコピー、または書き留めて、IAM コンソールの[**Roles** (ロール)] セクションに戻ります。

1. **[Role name]** (ロール名) リストから、作成したカスタム Maintenance Windows のサービスロールを選択します。

1. **[Permissions]** (許可) タブで、`AmazonSSMMaintenanceWindowRole` ポリシーが一覧に表示されていること、または Systems Manager API に対するメンテナンスウィンドウの許可を与える同等のポリシーがあることを確認します。付与されていない場合は、**[アクセス許可をアタッチ、ポリシーをアタッチ]** をクリックして、アタッチします。

1. **[Add permissions, Create inline policy]** (アクセス許可の追加、インラインポリシーの作成) を選択します。

1. [**Visual Editor** (ビジュアルエディタ)] タブを選択します。

1. [**Service** (サービス)] で、[**IAM**] を選択します。

1. **[Actions]** (アクション) の場合は、**[Filter actions]** (フィルタアクション) テキストボックスに「**PassRole**」を入力し、**[PassRole]** の横にあるチェックボックスを選択します。

1. [**Resources (リソース)**] で、[**Specific (特定)**]、[**Add ARN (ARN の追加)**] の順に選択します。

1. [**Specify ARN for role (ロールの ARN を指定)**] ボックスで、タスク 3 で作成した Amazon SNS IAM ロールの ARN を貼り付けて、[**Add (追加)**] を選択します。

1. [**ポリシーの確認**] を選択します。

1. **[ポリシーの確認]** ページで `PassRole` ポリシーの名前を入力し、**[ポリシーの作成]** をクリックします。

# AWS Systems Manager の Amazon SNS 通知の例
<a name="monitoring-sns-examples"></a>

Amazon Simple Notification Service (Amazon SNS) を設定し、AWS Systems Manager のツールである Run Command または Maintenance Windows を使用して送信したコマンドのステータスに関する通知を送信できます。

**注記**  
このガイドでは、Run Command または Maintenance Windows の通知を設定する方法は説明していません。Run Command または Maintenance Windows を設定してコマンドのステータスに関する Amazon SNS 通知を送信する方法については、「[AWS Systems Manager の Amazon SNS 通知の設定](monitoring-sns-notifications.md#monitoring-sns-configure)」を参照してください。

次の例は、Run Command または Maintenance Windows に設定されている場合に Amazon SNS 通知によって返される JSON 出力の構造を示しています。

**インスタンス ID ターゲティングを使用したコマンド概要メッセージの JSON 出力例**

```
{
    "commandId": "a8c7e76f-15f1-4c33-9052-0123456789ab",
    "documentName": "AWS-RunPowerShellScript",
    "instanceIds": [
        "i-1234567890abcdef0",
        "i-9876543210abcdef0"
    ],
    "requestedDateTime": "2019-04-25T17:57:09.17Z",
    "expiresAfter": "2019-04-25T19:07:09.17Z",
    "outputS3BucketName": "amzn-s3-demo-bucket",
    "outputS3KeyPrefix": "runcommand",
    "status": "InProgress",
    "eventTime": "2019-04-25T17:57:09.236Z"
}
```

**タグベースのターゲティングを使用したコマンド概要メッセージの JSON 出力例**

```
{
    "commandId": "9e92c686-ddc7-4827-b040-0123456789ab",
    "documentName": "AWS-RunPowerShellScript",
    "instanceIds": [],
    "requestedDateTime": "2019-04-25T18:01:03.888Z",
    "expiresAfter": "2019-04-25T19:11:03.888Z",
    "outputS3BucketName": "",
    "outputS3KeyPrefix": "",
    "status": "InProgress",
    "eventTime": "2019-04-25T18:01:05.825Z"
}
```

**呼び出しメッセージの JSON 出力例**

```
{
    "commandId": "ceb96b84-16aa-4540-91e3-925a9a278b8c",
    "documentName": "AWS-RunPowerShellScript",
    "instanceId": "i-1234567890abcdef0",
    "requestedDateTime": "2019-04-25T18:06:05.032Z",
    "status": "InProgress",
    "eventTime": "2019-04-25T18:06:05.099Z"
}
```

# Run Command を使用してステータス通知を返すコマンドを送信する
<a name="monitoring-sns-rc-send"></a>

以下の手順は、AWS Command Line Interface (AWS CLI) または AWS Systems Manager コンソールを使用し、ステータス通知を返すように設定されている Run Command (AWS Systems Manager のツール) 経由でコマンドを送信する方法を示しています。

## 通知を返す Run Command の送信 (コンソール)
<a name="monitoring-sns-rc-send-console"></a>

Systems Manager コンソールを使用してステータス通知を返すように設定されているコマンドを Run Command 経由で送信するには、以下の手順を使用します。

**通知を返すコマンドを送信するには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Run Command]** を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. [**Command document**] リストで、Systems Manager ドキュメントを選択します。

1. [**Command parameters**] セクションで、必須パラメータの値を指定します。

1. **[Targets]** (ターゲット) セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[その他のパラメータ]** で、以下の操作を行います。
   + **[コメント]** に、このコマンドに関する情報を入力します。
   + **[タイムアウト (秒)]** に、コマンドの実行全体が失敗するまでにシステムが待機する秒数を指定します。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications** (SNS 通知)] セクションで、[**Enable SNS notifications** (SNS 通知の有効化)] を選択します。

1. **[IAM role]** (IAM ロール) で、[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md) のタスク 3 で作成した Amazon SNS IAM ロール ARN を選択します。

1. [**SNS topic** (SNS トピック)] では、使用する Amazon SNS トピック ARN を入力します。

1. [**Event notifications** (イベント通知)] の場合は、通知を受け取るイベントを選択します。

1. **[Change notifications]** (変更通知) で、コマンドの概要のみ (**[Command status changes]** (コマンドステータスの変更)) または複数のノードに送信されたコマンドの各コピー (**[Command status on each instance changes]** (各インスタンスのコマンドステータスの変更)) の通知を受信するように選択します。

1. [**Run (実行)**] を選択します。

1. Amazon SNS からのメッセージが E メールされていることを確認し、E メールを開きます。Amazon SNS では、E メールメッセージの送信に数分かかる場合があります。

## 通知を返す Run Command の送信 (CLI)
<a name="monitoring-sns-rc-send-cli"></a>

次の手順を使用して、AWS CLI を使用してステータス通知を返すように設定されたコマンドを Run Command 経由で送信します。

**通知を返すコマンドを送信するには (CLI)**

1. AWS CLI を開きます。

1. 以下のコマンドで、マネージドインスタンス ID に基づいてターゲットとなるパラメータを指定します。

   ```
   aws ssm send-command --instance-ids "ID-1, ID-2" --document-name "Name" --parameters '{"commands":["input"]}' --service-role "SNSRoleARN" --notification-config '{"NotificationArn":"SNSTopicName","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

   次に例を示します。

   ```
   aws ssm send-command --instance-ids "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

**代替コマンド**  
タグを使用してマネージドインスタンスをターゲットにするには、以下のコマンドでパラメータを指定します。

   ```
   aws ssm send-command --targets "Key=tag:TagName,Values=TagKey" --document-name "Name" --parameters '{"commands":["input"]}' --service-role "SNSRoleARN" --notification-config '{"NotificationArn":"SNSTopicName","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

   次に例を示します。

   ```
   aws ssm send-command --targets "Key=tag:Environment,Values=Dev" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

1. **[Enter]** キーを押します。

1. Amazon SNS からのメッセージが E メールされていることを確認し、E メールを開きます。Amazon SNS では、E メールメッセージの送信に数分かかる場合があります。

詳細については、*AWS CLI コマンドリファレンス*の [https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html) を参照してください。

# メンテナンスウィンドウを使用して、ステータス通知を返すコマンドを送信する
<a name="monitoring-sns-mw-register"></a>

以下の手順は、AWS Systems Manager コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、メンテナンスウィンドウで Run Command タスクを登録する方法を示しています。Run Command は AWS Systems Manager のツールです。この手順では、ステータス通知を返すように Run Command タスクを設定する方法についても説明します。

**[開始する前に]**  
メンテナンスウィンドウを作成していない、またはターゲットを登録していない場合は、メンテナンスウィンドウを作成してターゲットを登録する方法の手順について、「[コンソールを使用してメンテナンスウィンドウを作成および管理する](sysman-maintenance-working.md)」を参照してください。

Amazon Simple Notification Service (Amazon SNS) サービスから通知を受け取るには、登録されたタスクで指定された Maintenance Windows サービスロールに `iam:PassRole` ポリシーをアタッチします。Maintenance Windows サービスローに `iam:PassRole` アクセス許可を追加していない場合は、「[タスク 5: iam:PassRole ポリシーをメンテナンスウィンドウロールにアタッチする](monitoring-sns-notifications.md#monitoring-sns-passpolicy-mw)」を参照してください。

## 通知を返す Run Command タスクをメンテナンスウィンドウに登録する (コンソール)
<a name="monitoring-sns-mw-register-console"></a>

以下の手順で、Systems Manager コンソールを使用してステータス通知をメンテナンスウィンドウに返すように設定されている Run Command タスクを登録します。

**通知を返す Run Command タスクをメンテナンスウィンドウに登録するには (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Maintenance Windows]** を選択します。

1. Amazon Simple Notification Service (Amazon SNS) 通知を送信するように設定された Run Command タスクを登録するメンテナンスウィンドウを選択します。

1. [**Actions** (アクション)] を選択し、[**Register Run command task** (Run command タスクの登録)] を選択します。

1. (オプション) [**Name** (名前)] フィールドにタスクの名前を入力します。

1. (オプション) [**Description** (説明)] にリポジトリの説明を入力します。

1. **[Command document]** (コマンドドキュメント) で、コマンドドキュメントを選択します。

1. [**タスクの優先順位**] で、このタスクの優先度を指定します。ゼロ (`0`) が最高の優先度になります。メンテナンスウィンドウのタスクは、優先順位に従ってスケジュールされます。優先度が同じタスクは並行してスケジュールされます。

1. [**Targets** (ターゲット)] セクションで登録済みのターゲット グループを選択するか、未登録のターゲットを選択します。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. [**IAM service role** (IAM サービスロール)] 領域で、SNS ロールへの `iam:PassRole` アクセス許可を持つ Maintenance Windows サービスを選択します。
**注記**  
`iam:PassRole` アクセス許可を Maintenance Windows ロールに追加すると、Systems Manager は SNS ロールを Amazon SNS に渡せるようになります。`iam:PassRole` アクセス許可を追加していない場合は、トピック [Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md) の「タスク 5」を参照してください。

1. (オプション) [**出力オプション**] で、コマンド出力をファイルに保存するには、[**S3 への出力の書き込みを有効にします**] ボックスをオンにします。ボックスにバケット名とプレフィックス (フォルダ) 名を入力してください。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 アクセス許可は、このタスクを実行する IAM ユーザーのものではなく、マネージドノードに割り当てられたインスタンスプロファイルのものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールに、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS notifications** (SNS 通知)] セクションで、以下を実行します。
   + [**Enable SNS Notifications** (SNS 通知を有効にする)] を選択します。
   + [**IAM role** (IAM ロール)] では、[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md) のタスク 3 で作成した Amazon SNS IAM ロール Amazon リソースネーム (ARN) を選択して、Amazon SNS を開始します。
   + [**SNS topic** (SNS トピック)] では、使用する Amazon SNS トピック ARN を入力します。
   + [**Event type** (イベントのタイプ)] では、通知を受け取るイベントを選択します。
   + [**Notification type**] (通知のタイプ) の場合は、複数のインスタンス (呼び出し) またはコマンドの概要に送信されたコマンドの各コピーの通知を受け取るよう選択します。

1. [**Parameters** (パラメータ)] セクションで、選択したコマンドドキュメントに基づいて必要なパラメータを入力します。

1. [**Register Run command task** (Run command タスクの登録)] を選択します。

1. メンテナンスウィンドウを次回実行した後、E メールで Amazon SNS からのメッセージを確認し、Eメールを開いてください。Amazon SNS では、E メールメッセージの送信に数分かかる場合があります。

## 通知を返す Run Command タスクをメンテナンスウィンドウに登録 (CLI)
<a name="monitoring-sns-mw-register-cli"></a>

AWS CLI を使用してステータス通知をメンテナンスウィンドウに返すように設定されている Run Command タスクを登録するには、次の手順を使用します。

**通知を返す Run Command タスクをメンテナンスウィンドウに登録するには (CLI)**
**注記**  
タスクオプションをより効率的に管理するために、この手順ではコマンドオプション `--cli-input-json` を使用します。オプション値は、JSON ファイルに保存されています。

1. ローカルマシンで、`RunCommandTask.json` という名前のファイルを作成します。

1.  ファイルに次の内容を貼り付けます。

   ```
   {
       "Name": "Name",
       "Description": "Description",
       "WindowId": "mw-0c50858d01EXAMPLE",
       "ServiceRoleArn": "arn:aws:iam::account-id:role/MaintenanceWindowIAMRole",
       "MaxConcurrency": "1",
       "MaxErrors": "1",
       "Priority": 3,
       "Targets": [
           {
               "Key": "WindowTargetIds",
               "Values": [
                   "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
               ]
           }
       ],
       "TaskType": "RUN_COMMAND",
       "TaskArn": "CommandDocumentName",
       "TaskInvocationParameters": {
           "RunCommand": {
               "Comment": "Comment",
               "TimeoutSeconds": 3600,
               "NotificationConfig": {
                   "NotificationArn": "arn:aws:sns:region:account-id:SNSTopicName",
                   "NotificationEvents": [
                       "All"
                   ],
                   "NotificationType": "Command"
               },
               "ServiceRoleArn": "arn:aws:iam::account-id:role/SNSIAMRole"
           }
       }
   }
   ```

1. サンプル値を自分のリソースの情報に置き換えます。

   この例で省略されているオプションを使用する場合は、復元することもできます。たとえば、コマンドの出力を S3 バケットに保存することができます。

   詳細については、AWS CLI コマンドリファレンスの「[https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html)」を参照してください。

1. ファイルを保存します。

1. ファイルを保存したローカルマシン上のディレクトリで、次のコマンドを実行します。

   ```
   aws ssm register-task-with-maintenance-window --cli-input-json file://RunCommandTask.json
   ```
**重要**  
ファイル名の前に必ず `file://` を含めてください。このコマンドでは必須です。

   成功した場合、このコマンドは次のような情報を返します。

   ```
   {
       "WindowTaskId": "j2l8d5b5c-mw66-tk4d-r3g9-1d4d1EXAMPLE"
   }
   ```

1. メンテナンスウィンドウを次に実行した後、E メールで Amazon SNS からのメッセージを確認し、Eメールを開いてください。Amazon SNS では、E メールメッセージの送信に数分かかる場合があります。

コマンドラインからメンテナンスウィンドウのタスクを登録する方法の詳細については、「[メンテナンスウィンドウにタスクを登録する](mw-cli-tutorial-tasks.md)」を参照してください。