0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

踏み台サーバー(Windows)経由でRDP接続環境を構築してみた!

Posted at

目的・背景

  • 現場環境で使用されている踏み台PC経由のRDP接続の仕組みを深く理解したい
  • AWSのセキュアなネットワーク設計パターンを実際に構築して学習する
  • インフラエンジニアとしてのスキル向上

今回作る構成

スクリーンショット 2025-09-23 8.33.10.png
ローカルPC → 踏み台Windows → プライベートサーバー2台への接続フローを再現

アーキテクチャ詳細

  • リージョン: ap-northeast-1(東京)
  • AZ: 1つ(ap-northeast-1a)
  • VPC: 10.0.0.0/16
  • サブネット:
    • Public: 10.0.0.0/24(踏み台用)
    • Private: 10.0.10.0/24(RDP先2台)
  • ルーティング:
    • Public → IGW(インターネット接続)
    • Private → NAT Gateway(踏み台サブネット上)

事前準備

  • RDPクライアント(Windows: mstsc、Mac: Microsoft Remote Desktop)
  • 自分のグローバルIP確認(例: 203.0.113.10/32)
  • AWS コンソールへのアクセス権限(EC2/VPC/EIP作成権限)

手順1: VPCとサブネットを一括作成

AWSの「VPC and more」機能を使って、必要なリソースを一括作成します。

  1. VPCコンソールVPCを作成VPC and moreを選択

  2. 以下の設定で作成:

    Name tag auto-generation: vpc-bastion-demo
    IPv4 CIDR: 10.0.0.0/16
    Number of Availability Zones: 1
    Number of public subnets: 1
    Number of private subnets: 1
    NAT gateways: 1 per AZ
    VPC endpoints: なし

  3. 生成されるリソース:

    • VPC、Public/Privateサブネット(各1つ)
    • Internet Gateway、ルートテーブル2つ
    • NAT Gateway(自動作成)

手順2: セキュリティグループ作成

セキュリティの要となるセキュリティグループを2つ作成します。

踏み台用セキュリティグループ(bastion-sg)

  1. VPCセキュリティセキュリティグループセキュリティグループを作成
  2. 設定:
    名前: bastion-sg
    説明: Bastion RDP inbound from my IP
    VPC: vpc-bastion-demo
  3. インバウンドルール
    • タイプ: RDP(TCP 3389)
    • 送信元: カスタム(あなたのグローバルIP/32)
    • 説明: Allow RDP from my IP

ターゲット用セキュリティグループ(target-sg)

  1. 同様に作成:
    名前: target-sg
    説明: RDP from bastion-sg
    VPC: vpc-bastion-demo
  2. インバウンドルール
    • タイプ: RDP(TCP 3389)
    • 送信元: セキュリティグループ → bastion-sg を選択
    • 説明: Allow RDP from bastion SG

ポイント: target-sgは踏み台からのみ接続を許可する設定です!

手順3: キーペア作成

WindowsのAdministratorパスワード復号に必要です。

  1. EC2キーペアキーペアを作成
  2. 設定:
    名前: kp-bastion-demo
    タイプ: RSA
    形式: .pem
    

手順4: Elastic IP の取得

踏み台サーバー用の固定IPを確保します。

  1. EC2Elastic IPElastic IP アドレスの割り当て
  2. 割り当てをクリック

手順5: 踏み台サーバー起動

いよいよ踏み台サーバーを立ち上げます!

  1. EC2インスタンスインスタンスを起動

  2. 設定:
    名前: bastion-win
    AMI: Microsoft Windows Server 2025 Base
    インスタンスタイプ: t3.micro
    キーペア: kp-bastion-demo
    ネットワーク: VPC = vpc-bastion-demo、サブネット = Public
    自動割り当てパブリック IP: 有効
    セキュリティグループ: bastion-sg
    ストレージ: 30GB gp3

  3. 起動後の設定

    • Elastic IP を関連付け(必要に応じて)
    • Administratorパスワード取得(4〜10分後)

手順6: 踏み台サーバーへ接続

Windows の場合

  1. Win + R → mstsc
  2. コンピューター: Elastic IP アドレス
  3. ユーザー: Administrator
  4. パスワード: 取得したパスワード

Mac の場合

  1. Microsoft Remote Desktop起動
  2. Add PC → PC name: Elastic IP
  3. User: Administrator で保存

接続できたら、Windows Updateを実行してインターネット接続を確認しましょう!

手順7: プライベートサブネットにアプリサーバー作成

プライベート側に2台のWindowsサーバーを立ち上げます。

app-win-01 の作成

名前: app-win-01
AMI: Windows Server 2022 Base
インスタンスタイプ: t3.micro
キーペア: kp-bastion-demo
ネットワーク: VPC = vpc-bastion-demo、サブネット = Private
自動割り当てパブリック IP: 無効
セキュリティグループ: target-sg

app-win-02 も同様に作成

各インスタンスのプライベートIPをメモしておきましょう。

手順8: 踏み台経由でプライベートサーバーへ接続

踏み台サーバー上からプライベートサーバーにRDP接続します。

  1. 踏み台サーバー上でmstsc起動
  2. コンピューター: プライベートIP(例: 10.0.10.23)
  3. ユーザー: Administrator
  4. パスワード: 各サーバーのパスワード

接続できたら:

  • パスワード変更

動作確認チェックリスト

以下の項目をチェックして構成が正しく動作していることを確認:

  • ✅ 管理端末 → 踏み台(EIP)にRDP接続できる
  • ✅ 踏み台 → app-win-01/02(プライベートIP)にRDP接続できる
  • ✅ app-win-01/02でWindows Updateが成功(NAT Gateway経由)
  • ✅ セキュリティグループの制限が意図通り
    • bastion-sg: 3389の送信元が自分のIP/32のみ
    • target-sg: 3389の送信元がbastion-sgのみ

運用上の注意点

コスト対策

  • 不使用時はインスタンス停止
  • 必要に応じてスケジュール化
  • 検証完了後は確実にリソース削除

コストの目安

主な課金項目:

  • EC2インスタンス(3台)
  • EBSストレージ
  • NAT Gateway(時間+データ処理料金)
  • Elastic IP(未関連付け時のみ)

単一AZ・NAT Gateway1台構成で大幅にコスト削減できています。

クリーンアップ

検証完了後は以下の手順で削除:

  1. EC2インスタンス終了(bastion-win, app-win-01/02)
  2. Elastic IPの関連付け解除 → 解放
  3. VPC削除(vpc-bastion-demo)
    • 依存関係のエラーが出た場合は指示に従って対応

まとめ

AWSの知識がある程度ある人であれば難しくない実装ではあると思います。現場ではよく使用される構成ですのでインフラエンジニアだけではなく、アプリケーションエンジニアもインフラの知識を蓄えるという意味でやっておいて損がないと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?