Session Manager を使用して Amazon EC2 インスタンスに接続できないのはなぜですか?

最終更新日: 2021 年 4 月 29 日

AWS Systems Manager Session Manager を使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにアクセスできません。この問題を解決するには、どうすればよいですか?

解決方法

Session Manager を使用したインスタンスへのアクセスは、次の理由により失敗することがあります。

  • セッションの詳細設定が誤っている
  • AWS Identity and Access Management (IAM) アクセス権限の問題
  • インスタンスのリソース使用率が高い

Session Manager に接続できない場合は、次の内容を確認して問題のトラブルシューティングを行います。

Systems Manager の前提条件を確認する

インスタンスがマネージドインスタンスとして表示されることを確認し、Session Manager のすべての前提条件が満たされていることを確認します。詳細については、Systems Manager コンソールの [マネージドインスタンス] に EC2 インスタンスが表示されないのはなぜですか? をご参照ください。

AWS KMS の設定の問題

Session Manager のエラーメッセージを確認して、問題のタイプを特定します。その後、関連するトラブルシューティングの手順に従って問題を解決します。

エラー:「ハンドシェイクの開始中にエラーが発生しました。ハンドシェイクがタイムアウトしました。Session Manager プラグインの最新バージョンがあることを確認してください」

AWS Key Management Service (AWS KMS) の暗号化は、Session Manager の詳細設定でアクティブ化され、インスタンスが AWS KMS エンドポイントに到達できません。

AWS KMS エンドポイントへの接続を検証するには、次のコマンドを実行します。RegionID を、使用している AWS リージョンに置き換えます。

$ telnet kms.RegionID.amazonaws.com 443

AWS KMS エンドポイントへの接続の詳細および手順については、VPC エンドポイント経由の AWS KMS への接続をご参照ください。

エラー:「ハンドシェイクの開始中にエラーが発生しました。データキーの取得に失敗しました: データキーを取得できません。データキー AccessDeniedException の復号中にエラーが発生しました」

インスタンスプロファイルまたはユーザーが、セッションの暗号化に使用される AWS KMS キーのために必要な kms:Decrypt アクセス権限を有していることを確認します。詳細については、既存のインスタンスプロファイルへの Session Manager アクセス権限の追加をご参照ください。

エラー:「無効な KeyName: セッションは次の理由で終了されました: NotFoundException: 無効な keyId xxxx」

セッションを暗号化するための Session Manager の詳細設定で指定された AWS KMS キー Amazon リソースネーム (ARN) が有効であることを確認します。使用可能なキー ARN を表示し、Session Manager の詳細設定で指定された ARN が、利用可能な ARN の 1 つと一致することを確認します。詳細については、キー ID と ARN の検索をご参照ください。

RunAs ユーザー名が無効

エラー:「RunAs ユーザー名が無効です」

- または -

エラー:「shell を開始できません: RunAs ユーザー xyz が存在しないため、pty を開始できませんでした」

[Enable Run As support for Linux instances] (Linux インスタンスの Run As サポートを有効にする) が空白の場合、または無効なオペレーティングシステムのユーザー名を指定した場合、Session Manager は失敗します。

この問題を解決するには、有効なオペレーティングシステムのユーザー名 (ubuntu、ec2-user、centos など) を指定できます。その後、セッションを開始する IAM ユーザーまたはロールに SSMSessionRunAs = os-user-account-name のタグが付けられていることを確認します。ユーザーアカウントは、オペレーティングシステムにも存在している必要があります。詳細については、Linux と macOS インスタンスの Run As サポートを有効にするをご参照ください。

または、[Enable Run As support for Linux instances] (Linux インスタンスの Run As サポートを有効にする) の選択をクリアすることもできます。

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

セッションを開始すると、Session Manager は空白の画面を表示します。トラブルシューティングの手順については、セッション開始後に空白の画面が表示されるをご参照ください。

その他のトラブルシューティング

詳細およびその他のトラブルシューティングシナリオについては、AWS Systems Manager Session Manager の問題をトラブルシューティングする方法を教えてくださいをご参照ください。