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

所要時間2分
0

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 のエラーメッセージを確認して、問題の種類を特定します。その後、以下のトラブルシューティング手順に従って問題を解決します。

エラー: 「Encountered error while initiating handshake.Handshake timed out.Please ensure that you have the latest version of the session manager plugin」

上記のエラーは、Session Manager の設定で AWS Key Management Service (AWS KMS) の暗号化が有効になっていて、インスタンスが AWS KMS エンドポイントにアクセスできないことを意味します。

次のコマンドを実行して、AWS KMS エンドポイントへの接続を確認します:

注: RegionID を自分の AWS リージョンに置き換えます。

$ telnet kms.RegionID.amazonaws.com 443

詳細と AWS KMS エンドポイントへの接続手順については、「VPC エンドポイントを介した AWS KMS への接続」を参照してください。

エラー: 「Encountered error while initiating handshake.Fetching data key failed: Unable to retrieve data key, Error when decrypting data key AccessDeniedException」

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

エラー: 「Invalid Keyname:Your session has been terminated for the following reasons: NotFoundException: Invalid keyId xxxx」

AWS KMS 暗号化キーの ARN が有効であることを確認します。使用可能なキーの ARN を確認して、Session Manager の設定で指定されている ARN が使用可能な ARN のいずれかと一致することを確認します。詳細については、「キー ID とキー ARN の検索」を参照してください。

RunAs のユーザー名が有効であることを確認する

エラー: 「Invalid RunAs username」

-または-

エラー: 「Unable to start shell: failed to start pty since RunAs user xyz does not exist」

[Linux インスタンスの Run As サポートを有効にする] で無効なオペレーティングシステム (OS) のユーザー名が指定されていると、このエラーが発生して Session Manager は失敗します。

この問題を解決するには、有効な OS のユーザー名 (ubuntu、ec2-user、centos など) を入力してください。OS は次の方法で指定できます:

  • Session Manager を設定する。
  • セッションを開始する IAM のユーザーまたはロールに、SSMSessionRunAs というタグキーと os-user-account-name という値でタグ付けする。
  • [Linux インスタンスの Run As サポートを有効にする] をクリアする。

詳細については、「Linux と macOS のマネージドノードで Run As サポートを有効にする」を参照してください。

セッション開始後に表示される空白画面のトラブルシューティング

Session Manager のセッションを開始したときに画面が空白の場合は、「セッションの開始後に空白の画面が表示される」を参照してください。

他のトラブルシューティングの手順を確認する

詳細とその他のトラブルシューティングのシナリオについては、「AWS Systems Manager Session Manager の問題をトラブルシューティングする方法」を参照してください?

関連情報

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

AWS Systems Manager 経由で SSH トンネルを使用してプライベート VPC リソースにアクセスするにはどうすればよいですか?

Session Manager を使用した SSH 接続の許可と権限の制御

セッションアクティビティのロギング

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません