

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

# セッションロギングの有効化と無効化
<a name="session-manager-logging"></a>

セッションロギングは、Systems Manager コンソールでの現在のセッションと完了済みのセッションに関する情報を記録します。また、AWS アカウント でのセッション中に実行されるコマンドの詳細をログに記録することもできます。セッションロギングでは、以下を実行できます。
+ アーカイブの目的でセッションログを作成し、保存する。
+ 過去 30 日間に、Session Manager を使用してマネージドノードに実行されたすべての接続の詳細を示すレポートを生成する。
+ Amazon Simple Notification Service (Amazon SNS) 通知など、AWS アカウント でのセッションロギングに関する通知を生成する。
+ AWS Lambda 関数の実行、AWS CodePipeline パイプラインの開始、または AWS Systems Manager Run Command ドキュメントの実行など、セッション中に行われたアクションの結果として、AWS リソースで別のアクションを自動的に開始する。

**重要**  
Session Manager の次の要件と制限事項に注意してください。  
Session Manager は、セッション設定に応じて、セッション中に入力したコマンドとその出力を記録します。パスワードなどの機密データがセッションログに表示されないようにするには、セッション中に機密データを入力するときに次のコマンドを使用することをお勧めします。  

  ```
  stty -echo; read passwd; stty echo;
  ```

  ```
  $Passwd = Read-Host -AsSecureString
  ```
Windows Server 2012 またはそれ以前を使用している場合、ログ内のデータが最適にフォーマットされていない可能性があります。最適なログ形式のために、Windows Server 2012 R2 以降の使用をお勧めします。
Linux または macOS のマネージドノードを使用している場合は、スクリーンユーティリティがインストールされていることを確認します。インストールされていない場合、ログデータが切り捨てられることがあります。Amazon Linux 2、AL2023、および Ubuntu Server では、スクリーンユーティリティがデフォルトでインストールされています。スクリーンを手動でインストールするには、Linux のバージョンに応じて、`sudo yum install screen` または `sudo apt-get install screen` のいずれかを実行します。
ログ記録は、ポート転送または SSH を介して接続する Session Manager セッションでは使用できません。これは、SSH が AWS CLI と Session Manager エンドポイントの間で確立された安全な TLS 接続内のすべてのセッションデータを暗号化し、Session Manager が SSH 接続のトンネルとしてのみ機能するためです。

セッションデータのログ記録に Amazon S3 または Amazon CloudWatch Logs を使用するために必要なアクセス許可の詳細については、「[Session Manager、Amazon S3、CloudWatch Logs (コンソール) の許可を持つIAM ロールの作成](getting-started-create-iam-instance-profile.md#create-iam-instance-profile-ssn-logging)」を参照してください。

Session Manager のログ記録のオプションの詳細については、次のトピックを参照してください。

**Topics**
+ [Amazon CloudWatch Logs を使用してセッションデータをストリーミングする (コンソール)](session-manager-logging-cwl-streaming.md)
+ [Amazon S3 を使用してセッションデータをログ記録する (コンソール)](session-manager-logging-s3.md)
+ [Amazon CloudWatch Logs を使用してセッションデータをログ記録する (コンソール)](session-manager-logging-cloudwatch-logs.md)
+ [ディスクへのセッションログ記録の設定](session-manager-logging-disk.md)
+ [Session Manager 一時ログファイルをディスクに保存する期間の調整](session-manager-logging-disk-retention.md)
+ [CloudWatch Logs と Amazon S3 での Session Manager ロギングの無効化](session-manager-enable-and-disable-logging.md)

# Amazon CloudWatch Logs を使用してセッションデータをストリーミングする (コンソール)
<a name="session-manager-logging-cwl-streaming"></a>

セッションデータログの連続ストリームを Amazon CloudWatch Logs に送信できます。セッションデータのストリーミングには、ユーザーがセッションで実行したコマンド、コマンドを実行したユーザーの ID、セッションデータが CloudWatch Logs にストリーミングされた時のタイムスタンプなど、重要な詳細情報が含まれます。セッションデータをストリーミングする場合、ログは JSON 形式で、既存のログソリューションとの統合に役立ちます。対話型コマンドでは、セッションデータのストリーミングはサポートされていません。

**注記**  
Windows Server のマネージドノードからセッションデータをストリーミングする場合、PowerShell 5.1 以降がインストールされている必要があります。デフォルトでは、Windows Server 2016 以降には必要な PowerShell バージョンがインストールされています。ただし、Windows Server 2012 と 2012 R2 には、デフォルトで必要な PowerShell バージョンがインストールされていません。Windows Server 2012 または 2012 R2 マネージドノードの PowerShell をまだ更新していない場合、Run Command を使用して更新できます。Run Command を使用した PowerShell の更新方法については、「[Run Command を使用して PowerShell を更新する](run-command-tutorial-update-software.md#rc-console-pwshexample)」を参照してください。

**重要**  
Windows Server のマネージドノードに **PowerShell トランスクリプション**ポリシー設定が構成されている場合、セッションデータをストリーミングができません。

**Amazon CloudWatch Logs を使用してセッションデータをストリーミングするには (コンソール)**

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

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

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

1. **CloudWatch のログ記録で ** [**有効にする**] の横にあるチェックボックスをオンにします。

1. [**Stream session logs (セッションログのストリーム)**] オプションを選択します。

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

1. [**CloudWatch Logs**] の場合、セッションログのアップロード先である AWS アカウント の既存の CloudWatch Logs ロググループを指定するには、次のいずれかを選択します。
   + セッションログデータを保存するためにアカウントにすでに作成されているテキストボックスにロググループの名前を入力します。
   + **ロググループを参照**: セッションログデータを保存するためにアカウントですでに作成されているロググループを選択します。

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

# Amazon S3 を使用してセッションデータをログ記録する (コンソール)
<a name="session-manager-logging-s3"></a>

デバッグおよびトラブルシューティングの目的で、指定した Amazon Simple Storage Service (Amazon S3) バケットにセッションログデータを保存することができます。デフォルトのオプションでは、ログは暗号化された Amazon S3 バケットに送信されます。暗号化は、AWS KMS key または Amazon S3 サーバー側暗号化 (SSE) キー (AES-256) のいずれかで、バケットに指定されたキーを使用して実行されます。

**重要**  
仮想ホスティング形式のバケットを Secure Sockets Layer (SSL) で使用する場合、SSL ワイルドカード証明書はピリオドを含まないバケットにのみ一致します。この問題を回避するには、HTTP を使用するか、または独自の証明書検証ロジックを記述します。仮想ホスティング形式のバケットを使用するときは、バケット名にピリオド (「.」) を使用しないことをお勧めします。

**Amazon S3 バケットの暗号化**  
暗号化を使用して Amazon S3 バケットにログを送信するには、バケット上で暗号化を有効にする必要があります。S3 バケットの暗号化の詳細については、「[Amazon S3 バケット用の Amazon S3 デフォルト暗号化](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)」を参照してください。

**カスタマー管理のキー**  
ユーザー自身が管理する KMS キーを使用してバケットを暗号化する場合、インスタンスにアタッチされた IAM インスタンスプロファイルには、キーを読み取るための明示的なアクセス許可が必要です。AWS マネージドキーを使用している場合は、インスタンスにこの明示的なアクセス許可は必要ありません。インスタンスプロファイルに CMK 使用のためのアクセスを提供する方法の詳細については、*AWS Key Management Service デベロッパーガイド*の[キーユーザーにキーの使用を許可する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users)を参照してください。

Amazon S3 バケットにセッションログを保存するように Session Manager を設定するには、次の手順に従います。

**注記**  
AWS CLI を使用して、セッションデータ送信先の Amazon S3 バケットを指定したり変更したりすることもできます。詳細については、[Session Manager 設定の更新 (コマンドライン)](getting-started-configure-preferences-cli.md) を参照してください。

**Amazon S3 を使用してセッションデータをログに記録するには (コンソール)**

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

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

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

1. [**S3 ロギング**] で [**有効にする**] チェックボックスをオンにします。

1. (推奨) [**Allow only encrypted S3 buckets (暗号化された S3 バケットのみを許可する)**] の横にあるチェックボックスをオンにします。このオプションが有効になっている場合、ログデータはバケットに指定されたサーバー側の暗号化キーを使用して暗号化されます。Amazon S3 に送信されるログデータを暗号化しない場合は、このチェックボックスをオフにします。S3 バケットで暗号化が有効になっていない場合も、このチェックボックスをオフにする必要があります。

1. [**S3 bucket name (S3 バケット名)**] には、次のいずれかを選択します。
**注記**  
仮想ホスティング形式のバケットを使用するときは、バケット名にピリオド (「.」) を使用しないことをお勧めします。Amazon S3 バケット命名規則の詳細については、*Amazon Simple Storage Service ユーザーガイド*の「[バケットの制約と制限](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules)」を参照してください。
   + [**Choose a bucket name from the list (リストからバケット名を選択)**]: アカウントに既に作成された Amazon S3 バケットを選択してセッションログデータを保存します。
   + [**Enter a bucket name in the text box (テキストボックスにバケット名を入力)**]: セッションログデータを保存するためにアカウントに既に作成されている Amazon S3 バケットの名前を入力します。

1. (オプション) [**S3 key prefix (S3 キープレフィックス)**] には、選択したバケットにログを保存する既存のフォルダまたは新しいフォルダの名前を入力します。

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

Amazon S3 および Amazon S3 バケットの使用の詳細については、*[Amazon Simple Storage Service ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)*および *[Amazon Simple Storage Service ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)*を参照してください。

# Amazon CloudWatch Logs を使用してセッションデータをログ記録する (コンソール)
<a name="session-manager-logging-cloudwatch-logs"></a>

Amazon CloudWatch Logs を使用すると、さまざまな AWS のサービス からのログファイルについて、モニタリング、保存、アクセスを行うことができます。デバッグおよびトラブルシューティングの目的で、セッションログデータを CloudWatch Logs ロググループに送信できます。デフォルトのオプションでは、KMS キーを使用してログデータを暗号化して送信するように設定されていますが、暗号化の有無にかかわらずデータをロググループに送信できます。

セッションの最後にセッションログデータを CloudWatch Logs ロググループに送信するように AWS Systems Manager Session Manager を設定するには、以下の手順を実行します。

**注記**  
AWS CLI を使用して、セッションデータの送信先の CloudWatch Logs ロググループを指定したり変更したりすることもできます。詳細については、[Session Manager 設定の更新 (コマンドライン)](getting-started-configure-preferences-cli.md) を参照してください。

**Amazon CloudWatch Logs を使用してセッションデータをログ記録するには (コンソール)**

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

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

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

1. **CloudWatch のログ記録で ** [**有効にする**] の横にあるチェックボックスをオンにします。

1. [**セッションログをアップロード**] オプションを選択します。

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

1. [**CloudWatch Logs**] の場合、セッションログのアップロード先である AWS アカウント の既存の CloudWatch Logs ロググループを指定するには、次のいずれかを選択します。
   + [**Choose a log group from the list (リストからロググループを選択する)**]: アカウントに既に作成されたロググループを選択してセッションログデータを保存します。
   + [**Enter a log group name in the text box (テキストボックスにロググループ名を入力)**]: セッションログデータを保存するためにアカウントにすでに作成されているロググループの名前を入力します。

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

CloudWatch Logs の使用の詳細については、*[Amazon CloudWatch Logs ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*を参照してください。

# ディスクへのセッションログ記録の設定
<a name="session-manager-logging-disk"></a>

CloudWatch または Amazon S3 への Session Manager ログ記録を有効にすると、セッション中に実行されたすべてのコマンド (およびそれらのコマンドの出力結果) が、ターゲットインスタンスのディスク上の一時ファイルにログ記録されます。一時ファイルの名前は `ipcTempFile.log` です。

`ipcTempFile.log` は、SSM Agent 設定ファイルの `SessionLogsDestination` パラメータによって制御されます。このパラメータには、次の値を指定できます。
+ **disk**: このパラメータを指定し、CloudWatch または Amazon S3 へのセッションログ記録が*有効*になっている場合、SSM Agent は `ipcTempFile.log` という一時ログファイルを作成し、セッションコマンドと出力をディスクにログ記録します。Session Manager は、ログ記録設定に応じて、セッション中またはセッション後にこのログを CloudWatch または S3 にアップロードします。その後、このログは、SSM Agent の `SessionLogsRetentionDurationHours` 設定パラメータに指定された期間に基づいて削除されます。

  このパラメータを指定し、CloudWatch と Amazon S3 へのセッションログ記録が*無効*になっている場合でも、SSM Agent はコマンド履歴と出力を `ipcTempFile.log` ファイルにログ記録します。ファイルは、SSM Agent の `SessionLogsRetentionDurationHours` 設定パラメータに指定された期間に基づいて削除されます。
+ **none**: このパラメータを指定し、CloudWatch または Amazon S3 へのセッションログ記録が*有効*になっている場合、ディスクへのログ記録は、`disk` パラメータを指定した場合とまったく同じように機能します。CloudWatch または Amazon S3 へのセッションログ記録が有効になっている場合、SSM Agent は一時ファイルを必要とします。

  このパラメータを指定し、CloudWatch または Amazon S3 へのセッションログ記録が*無効*になっている場合、SSM Agent は `ipcTempFile.log` ファイルを作成しません。

セッション開始時のディスクへの `ipcTempFile.log` 一時ログファイルの作成を有効または無効にするには、次の手順を使用します。

**ディスクへの Session Manager 一時ログファイルの作成を有効または無効にする手順**

1. インスタンスに SSM Agent をインストールするか、バージョン 3.2.2086 以降にアップグレードします。エージェントのバージョン番号を確認する方法については、「[SSM Agent バージョン番号の確認](ssm-agent-get-version.md)」を参照してください。エージェントを手動でインストールする方法については、以下のセクションでご使用のオペレーティングシステムに対応した手順を確認してください。
   + [Linux 用 EC2 インスタンスに SSM Agent を手動でインストールおよびアンインストールする](manually-install-ssm-agent-linux.md)
   + [macOS 用の EC2 インスタンスに SSM Agent を手動でインストールおよびアンインストールする](manually-install-ssm-agent-macos.md)
   + [Windows Server 用の EC2 インスタンスに SSM Agent を手動でインストールおよびアンインストールする](manually-install-ssm-agent-windows.md)

1. インスタンスに接続し、以下の場所で `amazon-ssm-agent.json` ファイルを見つけます。
   + **Linux**: /etc/amazon/ssm/
   + **macOS**: /opt/aws/ssm/
   + **Windows Server**: C:\$1Program Files\$1Amazon\$1SSM

   `amazon-ssm-agent.json` ファイルが存在しない場合は、`amazon-ssm-agent.json.template` のコンテンツを同じディレクトリ内の新しいファイルにコピーします。この新しいファイルに `amazon-ssm-agent.json` という名前を付けます。

1. `none` パラメータには、`disk` または `SessionLogsDestination` のいずれかを指定します。変更内容を保存します。

1. SSM Agent を[再起動](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-status-and-restart.html)します。

`SessionLogsDestination` パラメータに `disk` を指定した場合は、新しいセッションを開始して以下の場所で `ipcTempFile.log` を見つけることで、SSM Agent が一時ログファイルを作成することを確認できます。
+ **Linux**: /var/lib/amazon/ssm/*ターゲット ID*/session/orchestration/*セッション ID*/Standard\$1Stream/ipcTempFile.log
+ **macOS**: /opt/aws/ssm/data/*ターゲット ID*/session/orchestration/*セッション ID*/Standard\$1Stream/ipcTempFile.log
+ **Windows Server**: C:\$1ProgramData\$1Amazon\$1SSM\$1InstanceData\$1*ターゲット ID*\$1session\$1orchestration\$1*セッション ID*\$1Standard\$1Stream\$1ipcTempFile.log

**注記**  
デフォルトでは、一時ログファイルはインスタンスに 14 日間保存されます。

複数のインスタンスで `SessionLogsDestination` パラメータを更新する場合は、新しい設定を指定する SSM ドキュメントを作成することをお勧めします。その後、Systems Manager の Run Command を使用してインスタンスに変更を実装できます。詳細については、「[Writing your own AWS Systems Manager documents (ブログ)](https://aws.amazon.com/blogs/mt/writing-your-own-aws-systems-manager-documents/)」および「[マネージドノードでのコマンドの実行](running-commands.md)」を参照してください。

# Session Manager 一時ログファイルをディスクに保存する期間の調整
<a name="session-manager-logging-disk-retention"></a>

CloudWatch または Amazon S3 への Session Manager ログ記録を有効にすると、セッション中に実行されたすべてのコマンド (およびそれらのコマンドの出力結果) が、ターゲットインスタンスのディスク上の一時ファイルにログ記録されます。一時ファイルの名前は `ipcTempFile.log` です。セッション中、またはセッションの完了後に、Session Manager はこの一時ログを CloudWatch または S3 にアップロードします。その後、SSM Agent の `SessionLogsRetentionDurationHours` 設定パラメータで指定された期間に基づいて一時ログが削除されます。デフォルトでは、一時ログファイルはインスタンスの次の場所に 14 日間保存されます。
+ **Linux**: /var/lib/amazon/ssm/*ターゲット ID*/session/orchestration/*セッション ID*/Standard\$1Stream/ipcTempFile.log
+ **macOS**: /opt/aws/ssm/data/*ターゲット ID*/session/orchestration/*セッション ID*/Standard\$1Stream/ipcTempFile.log
+ **Windows Server**: C:\$1ProgramData\$1Amazon\$1SSM\$1InstanceData\$1*ターゲット ID*\$1session\$1orchestration\$1*セッション ID*\$1Standard\$1Stream\$1ipcTempFile.log

Session Manager 一時ログファイルがディスクに保存される期間を調整するには、次の手順を使用します。

**ディスクに `ipcTempFile.log` ファイルを保存する期間を調整する手順**

1. インスタンスに接続し、以下の場所で `amazon-ssm-agent.json` ファイルを見つけます。
   + **Linux**: /etc/amazon/ssm/
   + **macOS**: /opt/aws/ssm/
   + **Windows Server**: C:\$1Program Files\$1Amazon\$1SSM

   `amazon-ssm-agent.json` ファイルが存在しない場合は、`amazon-ssm-agent.json.template` のコンテンツを同じディレクトリ内の新しいファイルにコピーします。この新しいファイルに `amazon-ssm-agent.json` という名前を付けます。

1. `SessionLogsRetentionDurationHours` の値を目的の時間数に変更します。`SessionLogsRetentionDurationHours` を 0 に設定した場合、一時ログファイルはセッション中に作成され、セッションの完了時に削除されます。この設定により、セッション終了後にログファイルが保持されないようにすることができます。

1. 変更内容を保存します。

1. SSM Agent を[再起動](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-status-and-restart.html)します。

# CloudWatch Logs と Amazon S3 での Session Manager ロギングの無効化
<a name="session-manager-enable-and-disable-logging"></a>

アカウントでセッションロギングを無効にするには、Systems Manager コンソールまたは AWS CLI を使用できます。

**セッションロギングを無効にする (コンソール)**

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

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

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

1. CloudWatch ロギングを無効にするには、**[CloudWatch ロギング]** セクションで、**[有効化]** チェックボックスをオフにします。

1. S3 ロギングを無効にするには、**[S3 ロギング]** セクションで、**[有効化]** チェックボックスをオフにします。

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

**セッションロギングを無効にする (AWS CLI)**  
AWS CLI を使用してセッションロギングを無効にするには、「[Session Manager 設定の更新 (コマンドライン)](getting-started-configure-preferences-cli.md)」の手順を実行してください。

 JSON ファイルで、`s3BucketName` と `cloudWatchLogGroupName` の入力には値が含まれないようにしてください。例えば、次のようになります。

```
"inputs": {
        "s3BucketName": "",
        ...
        "cloudWatchLogGroupName": "",
        ...
    }
```

代わりに、`S3*` および `cloudWatch*` のすべての入力を JSON ファイルから削除することで、ロギングを無効にすることもできます。

**注記**  
設定によっては、CloudWatch または S3 を無効にした後も、SSM Agent によって一時ログファイルがディスクに生成される場合があります。ディスクへのロギングを無効にする方法については、「[ディスクへのセッションログ記録の設定](session-manager-logging-disk.md)」を参照してください。