クラウド エンジニアブログ

EC2 Instanse Connectを使ってEC2(Windows Server)にリモートデスクトップ接続してみる。

2025年12月4日掲載

ソニービズネットワークス 開発本部の栗岡です。
プライベートサブネット内にある EC2(Windows Server)へリモートデスクトップ接続する際、皆さまはどのような方法を利用されていますか。
今回は、私が個人的に最も利用している EC2 Instance Connect をご紹介します。

EC2 Instance Connectとは

概要

EC2 Instance Connect は、踏み台サーバーや VPN、専用線などで VPC とオンプレミス環境を接続していない場合でも、
プライベートサブネット内の EC2 インスタンスへ安全にアクセスできる仕組みです。
インターネットゲートウェイ経由のルートが存在しないサブネットであっても、
EC2 Instance Connect エンドポイントを経由することでインターネットからインスタンスへ接続できます。
そのため、外出先などからも安全なリモートデスクトップ接続が可能です。
EC2 Instance Connect 概要

料金

EC2 Instance Connect の利用に追加料金は発生しません。
ただし、エンドポイントを配置するAZ(アベイラビリティーゾーン)と接続先EC2インスタンスのAZが異なる場合、AZ間のデータ転送料金が発生します。

EC2 Instance Connect を使ってEC2(Windows Server)にリモートデスクトップ接続する手順

・IAMポリシー、ユーザーの作成
最小権限の原則に基づき、EC2 Instance Connectでリモートデスクトップ接続する専用のIAMユーザーを作成します。
以下のIAMポリシーを作成し、新たに作成したIAMユーザーにポリシーを付与します。

{

    "Version":"2012-10-17",		 	 	 

    "Statement": \[{

            "Sid": "EC2InstanceConnect",

            "Action": "ec2-instance-connect:OpenTunnel",

            "Effect": "Allow",

            "Resource": "arn:aws:ec2:リージョン:アカウントID:instance-connect-endpoint/\*,

            "Condition": {

                "NumericEquals": {

                    "ec2-instance-connect:remotePort": "3389"

                },

                "IpAddress": {

                    "ec2-instance-connect:privateIpAddress": "接続するサーバがあるサブネットのCIDR"

                },

                "NumericLessThanEquals": {

                    "ec2-instance-connect:maxTunnelDuration": "3600"

                }

            }

        },

        {

            "Sid": "Describe",

            "Action": \[

                "ec2:DescribeInstances",

                "ec2:DescribeInstanceConnectEndpoints"

            ],

            "Effect": "Allow",

            "Resource": "\*"

        }

    ]

}

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

EC2 Instance Connectエンドポイントから接続するEC2へのアウトバウンド通信を許可する必要があります。
そのためエンドポイント用のセキュリティグループのアウトバウンドルールに、
接続するEC2に関連付けられているセキュリティグループを送信先として指定します。
セキュリティグループを送信先として指定
接続するEC2のセキュリティグループには、
EC2 Instance Connect エンドポイントからのインバウンド通信を許可するルールを追加します。
インバウンド通信を許可するルールを追加

EC2 Instance Connect エンドポイントの作成

AWSマネージメントコンソールでVPCコンソールを開きます。
左ペインの「エンドポイント」を選択し、「エンドポイントの作成」を選択して以下の設定を行います。
エンドポイントの作成

AWS CLI のインストール

以下のAWS公式ドキュメントを参考にAWS CLIをインストールします。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

AWS CLIのインストール後、作成したIAMユーザーのAK/SK(AccessKey・Secret AccessKey)を有効化して、
以下のコマンド(aws configure)をターミナル等で入力してプロファイルを設定します。

$ aws configure

AWS Access Key ID \[None]: 作成したユーザーのアクセスキー

AWS Secret Access Key \[None]: 作成したユーザーのシークレットアクセスキー

Default region name \[None]: リージョン

Default output format \[None]: json
  • ※定期的にアクセスキーのローテーションをすることを推奨いたします。
  • ※可能であればIDプロバイダーとのフェデレーションを使用するとより安全に利用できます。
  • ※不要になったアクセスキーは削除してください。

リモートデスクトップ接続

ターミナル等で以下のコマンドを入力し、リモートデスクトップ接続をします。

aws ec2-instance-connect open-tunnel --instance-id 接続するEC2のインスタンスID --remote-port 3389 --local-port any port(13389など)

LocalポートはPCの空きポートを利用します。
また注意事項として、最大のセッション時間は1時間(3600秒)となります。
1時間を過ぎると1度切断され再度接続されます。
リモートデスクトップ接続1
リモートデスクトップ接続2

まとめ

EC2 Instance Connectを使用したリモートデスクトップ接続について紹介しました。
本ブログのIAMポリシーやコマンドを修正することで、Linuxサーバに対してSSH接続することも可能です。
またリモートデスクトップ接続の方法は今回紹介させていただいたEC2 Instance Connect以外にもあります。
フリートマネージャーを使用した接続の方法については、
弊社のCS課コラムで紹介しておりますので併せて参考にしていただければと思います。

https://biz.nuro.jp/column/cs-section-011/

本ブログは以下のAWS公式ドキュメントを参考にしております。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/connect-with-ec2-instance-connect-endpoint.html

このコラムに関連する製品

  • AWS運用支援サービス

    手軽に運用できるツールから
    24時間365日有人監視まで3つのサービスで
    AWSの運用を支援

    詳細はこちら

  • AWS運用管理・自動化ツール「クラウドポータル」

    「はじめてでも運用できる」
    「もっと使いこなせる」
    独自開発ツール

    詳細はこちら

  • 運用内製化支援~セキュリティ改善サービス

    ベストプラクティスに沿った改善案を提案し、運用の内製化を支援します。


    詳細はこちら

関連コラム

このコラムに関連する
導入事例

このコラムに関連する
セミナーアーカイブ動画

AWSコスト最適化 ~実例からその手法を学ぼう!~

SHARE
シェアシェア ポストポスト
AWSコスト最適化 ~実例からその手法を学ぼう!~
SHARE
ポスト シェア