Session Manager のトラブルシューティング - AWS Systems Manager

Session Manager のトラブルシューティング

以下の情報を参考にして、AWS Systems Manager Session Manager に関する問題のトラブルシューティングを行います。

セッションを開始するアクセス許可がありません

問題: セッションを開始しようとしましたが、システムから必要なアクセス権限がないと通知されました。

セッション設定を変更するためのアクセス許可がありません

問題: 組織のグローバルなセッション設定を更新しようとしましたが、システムから必要なアクセス権限がないと通知されました。

インスタンスが使用できないか、Session Manager に対して設定されていません

問題 1: [Start a session (セッションの開始)] コンソールページでセッションを開始したいのですが、インスタンスがリストにありません。

  • 解決策 A: 接続するインスタンスが、AWS Systems Manager サービスで使用するように構成されていない可能性があります。Systems Manager でインスタンスを使用するには、IAM インスタンスプロファイルをインスタンスにアタッチする必要があります。これにより、インスタンスに対してアクションを実行するためのアクセス許可が Systems Manager に付与されます。詳細については「Systems Manager の IAM インスタンスプロファイルを作成する」を参照してください。

    注記

    IAM インスタンスプロファイルをアタッチするときに AWS Systems Manager SSM Agent がインスタンスですでに実行されている場合、[Start a session (セッションの開始)] コンソールページにインスタンスが表示される前に、エージェントを再起動する必要がある場合があります。

  • 解決策 B : インスタンスで SSM Agent に適用したプロキシ設定が正しくない可能性があります。プロキシ設定が適切でない場合、インスタンスは必要なサービスエンドポイントに到達できないか、インスタンスがに異なるオペレーティングシステムとして Systems Manager にレポートされることがあります。詳細については、「プロキシを使用するように SSM Agent を設定する (Linux)」および「SSM Agent が Windows Server インスタンス用にプロキシを使用するように設定する」を参照してください。

問題 2: 接続しようとするインスタンスは [Start a session (セッションの開始)] コンソールページのリストにありますが、「選択したインスタンスが Session Manager を使用するように構成されていません」というページが表示されます。

Session Manager プラグインが見つからない

AWS CLI を使用してセッションコマンドを実行するには、ローカルマシンにも Session Manager プラグインがインストールされている必要があります。詳細については、「(オプション) AWS CLI 用の Session Manager プラグインをインストールする」を参照してください。

Session Manager プラグインがコマンドラインパスに自動的に追加されませんでした (Windows)

Session Manager プラグインを Windows にインストールする場合、オペレーティングシステムの PATH 環境変数に session-manager-plugin 実行可能ファイルが自動的に追加されます。Session Manager プラグインが正しくインストールされているか (aws ssm start-session --target instance-id) 確認して、コマンド実行後に失敗した場合は、次の手順を使用して手動で設定する必要があります。

PATH 変数を変更するには (Windows)

  1. Windows キーを押し、「environment variables」と入力します。

  2. [Edit environment variables for your account] を選択します。

  3. [PATH] を選択して、[Edit] を選択します。

  4. 次の例に示すように、セミコロンで区切って [Variable value (変数値)] フィールドにパスを追加します: C:\existing\path;C:\new\path

    次の例に示すように、C:\existing\path は既にフィールドにある値を表します。C:\new\path は追加するパスを表します。

    • 64 ビットコンピュータ: C:\Program Files\Amazon\SessionManagerPlugin\bin\

    • 32 ビットコンピュータ: C:\Program Files (x86)\Amazon\SessionManagerPlugin\bin\

  5. [OK] を 2 回選択して、新しい設定を適用します。

  6. 実行中のコマンドプロンプトを閉じ、もう一度開きます。

Session Manager プラグインが応答しなくなる

ローカルマシンにウイルス対策ソフトウェアがインストールされている場合、ポート転送セッション中にトラフィックの転送が停止することがあります。場合によっては、ウイルス対策ソフトウェアが Session Manager プラグインがプロセスのデッドロックを引き起こします。この問題を解決するには、ウィルス対策ソフトウェアから Session Manager プラグインを許可するか除外します。Session Manager プラグインのデフォルトのインストールパスの詳細については、「(オプション) AWS CLI 用の Session Manager プラグインをインストールする」を参照してください。

TargetNotConnected

問題: セッションを開始しようとしましたが、システムは「StartSession オペレーションの呼び出し時にエラー (TargetNotConnected) が発生しました。InstanceID が接続されていません」というエラーメッセージを返します。

  • 解決策: このエラーは、セッションに対して指定されたターゲットインスタンスがSession Managerで使用するように完全に設定されていない場合に返されます。詳細については、 のセットアップSession Manager を参照してください。

セッション開始後に空白の画面が表示される

問題: セッションを開始すると、Session Manager に空白の画面が表示される。

  • 解決策 A: この問題は、インスタンスのルートボリュームがいっぱいになったときに発生する可能性があります。ディスク容量不足のため、インスタンスの SSM Agent が動作を停止します。この問題を解決するには、Amazon CloudWatch を使用して、オペレーティングシステムからメトリクスとログを収集します。詳細については、「Amazon EC2 Linux インスタンスのメモリとディスクのメトリクスのモニタリング」または「Amazon EC2 Windows インスタンスのメモリとディスクのメトリクスのモニタリング」を参照してください。

  • 解決策 B: エンドポイントとリージョンのペアが一致しないリンクを使用してコンソールにアクセスした場合、空白の画面が表示されることがあります。例えば、次のコンソール URL では、us-west-2 は指定されたエンドポイントですが、us-west-1 は指定された AWS リージョン です。

    https://us-west-2.https://console.aws.amazon.com//systems-manager/session-manager/sessions?region=us-west-1
  • 解決策 C: VPC エンドポイントを使用してインスタンスが Systems Manager に接続され、Session Manager の設定に基づいてセッション出力が Amazon S3 バケットまたは Amazon CloudWatch Logs ロググループに書き込まれますが、s3 ゲートウェイエンドポイントまたは logs インターフェイスエンドポイントは VPC に存在しません。インスタンスが VPC エンドポイントを使用して Systems Manager に接続し、Session Manager の設定に基づいてセッション出力が Amazon S3 バケットに書き込まれる場合は、com.amazonaws.region.s3 形式の s3 エンドポイントが必要です。または、インスタンスが VPC エンドポイントを使用して Systems Manager に接続し、Session Manager の設定に基づいてセッション出力が CloudWatch Logs ロググループに書き込まれる場合は、com.amazonaws.region.logs 形式の logs エンドポイントが必要です。詳細については、「Systems Manager 用の VPC エンドポイントを作成する」を参照してください。

  • 解決策 D: セッション設定で指定したロググループまたは Amazon S3 バケットが削除されました。この問題を解決するには、有効なロググループまたは S3 バケットを使用してセッション設定を更新します。

  • 解決策 E: セッション設定で指定したロググループまたは Amazon S3 バケットは暗号化されませんが、 cloudWatchEncryptionEnabled または s3EncryptionEnabled の入力を true に設定しています。この問題を解決するには、暗号化されたロググループまたは Amazon S3 バケットを使用してセッション設定を更新するか、cloudWatchEncryptionEnabled または s3EncryptionEnabled 入力を false に設定します。このシナリオは、コマンドラインツールを使用してセッション設定を作成する顧客にのみ適用されます。

長時間実行しているセッション中にインスタンスが応答しなくなる

問題: 長時間実行しているセッション中にインスタンスが応答しなくなるか、クラッシュします。

解決策: Session Manager の SSM Agent ログ保持期間を減らします。

セッションの SSM Agent ログの保持期間を短縮するには

  1. Linux 向けの amazon-ssm-agent.json.template ディレクトリ、または Windows 向けの /etc/amazon/ssm/ 内で C:\Program Files\Amazon\SSM を検索します。

  2. amazon-ssm-agent.json.template の内容を、amazon-ssm-agent.json という名前の同じディレクトリ内の新しいファイルにコピーします。

  3. SessionLogsRetentionDurationHours プロパティの SSM 値のデフォルト値を小さくして、ファイルを保存します。

  4. [] を再起動するSSM Agent