Amazon EC2 Instance Connectを使用してEC2インスタンスに接続してみた

Amazon EC2 Instance Connectを使用してEC2インスタンスに接続してみた

2025.09.16

はじめに

Amazon EC2インスタンスへの接続方法はいくつかありますが、以下の接続方法をサービスコントロールポリシー(SCP)でIP制限したい場面がありました。

  • AWS Systems Manager Session Manager
  • EC2 Instance Connect Endpoint
  • EC2 Instance Connect

制限を実装するにあたり、各接続方法の動作確認が必要でした。EC2 Instance Connectについては未検証だったため、今回試してみることにしました。

過去にやってみた記事もありますが、EC2 Instance Connect用のAWSマネージドプレフィックスリストが用意されるなど、アップデートもあるため、改めて検証してみます。EC2 Instance Connectに関する概要は以下の記事をご参照ください。

https://dev.classmethod.jp/articles/ec2-instance-connect/

IAMポリシーの作成

EC2 Instance Connectを使用して接続するユーザー用のIAMポリシーを作成します。

EC2 Instance Connectを使用してEC2インスタンスに接続すると、EC2 Instance Connect APIによってSSHパブリックキーがインスタンスメタデータに送信され、60秒間保持されます。パブリックキーをインスタンスメタデータに送信するために、接続するユーザーに適切な権限を付与する必要があります。

AWSマネージドポリシー EC2InstanceConnect を使用するか、以下の権限を含む独自のIAMポリシーを作成します。

			
			{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EC2InstanceConnect",
            "Action": [
                "ec2:DescribeInstances",
                "ec2-instance-connect:SendSSHPublicKey"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

		

今回は権限を絞りませんが、特定のインスタンスや特定のOSユーザー名などで制限することも可能です。

詳細は以下のドキュメントをご参照ください。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-connect-configure-IAM-role.html

セキュリティグループの設定

EC2インスタンス用のセキュリティグループを作成します。

Amazon EC2コンソールでEC2 Instance Connectを使用してインスタンスに接続する場合、許可が必要なトラフィックはEC2 Instance Connectサービスからのトラフィックです。ローカルコンピューターからインスタンスへの直接接続ではありません。

そのため、EC2 Instance ConnectサービスのIPアドレス範囲からのインバウンドSSHトラフィックを許可するセキュリティグループを作成する必要があります。

EC2用のセキュリティグループでは、プレフィックスリスト名 com.amazonaws.ap-northeast-1.ec2-instance-connect に対してSSHタイプを許可します。

cm-hirai-screenshot 2025-09-11 11.13.08

EC2インスタンスの起動

以下の設定でEC2インスタンスを起動します。

  • OS: Amazon Linux 2023
    • Amazon Linux 2023には、EC2 Instance Connectがプリインストールされています
  • キーペア: キーペアなしで続行
  • サブネット: パブリックサブネット
  • パブリック IP の自動割り当て: 有効化
  • IAMロール: なし(EC2 Instance Connectでは不要)

cm-hirai-screenshot 2025-09-11 11.21.16

EC2 Instance Connectで接続

コンソールから接続タイプ パブリック IP を使用して接続 を選択して接続してみます。

cm-hirai-screenshot 2025-09-11 11.22.50

問題なく接続できました。

cm-hirai-screenshot 2025-09-11 11.23.17

まとめ

今回は、EC2 Instance Connectを使用してEC2インスタンスに接続する検証を行いました。

設定のポイントは以下のとおりです。

  • IAMポリシー: 接続するユーザーにAWSマネージドポリシー EC2InstanceConnect または同等の権限を付与
  • セキュリティグループ: AWSマネージドプレフィックスリスト com.amazonaws.ap-northeast-1.ec2-instance-connect からのSSH接続を許可
  • EC2インスタンス: Amazon Linux 2023を使用(EC2 Instance Connectがプリインストール済み)

ただし、EC2 Instance Connectには制約があります。EC2インスタンスをパブリックサブネット上に配置し、パブリックIPアドレスを割り当てる必要があります。

セキュリティの観点では、比較的プライベートサブネットに配置する方が望ましいとされています。プライベートサブネット上のインスタンスに接続する場合は、EC2 Instance Connect EndpointやAWS Systems Manager Session Managerの利用を検討すべきでしょう。

参考

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/connect-linux-inst-eic.html

この記事をシェアする

FacebookHatena blogX

関連記事