[5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Windows編 –

アイキャッチ AWS EC2

[5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する - Windows編 -

コンニチハ、千葉です。

以前に[5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する - Linux編 -を公開しましたが、今回はWindows編となります。

Windowsの場合は、EC2を立ててRDゲートウェイを構築します。RDゲートウェイを利用することで、VPN接続を設定しなくても、WindowsへのリモートデスクトップはHTTPS経由で接続され、暗号化されるためセキュアな接続になります。

ここでやること

ベストプラクティスについては、Linux側と同じなのでこちらから御覧ください。またRDゲートウェイのCFnテンプレートが用意されているのでそれを元に踏み台サーバを構築し、踏み台経由でサーバーにアクセスしてみます。

やってみた

前提:このCFnでRDゲートウェイを利用するには、RDゲートウェイへのFQDNでの接続が必要です(つまりドメインが必要)

RDゲートウェイの構築

CFnで構築します。CFnは3種類提供されています。

  • 新規でVPCも構築したい方はこちら)
  • 既存VPCに展開したい方はこちら
  • 既存VPCに展開したい、かつ、ドメイン参加もさせたい方はこちら

今回は既存のVPCに展開してみます。まず、展開したいAWSアカウントにログインします。次にこちら下部の、 launch the Quick Start をクリックします。リージョンがオレゴンになるので、適宜リージョンを変更します。

20160930-bastion-1

RDゲートウェイインスタンスがマルチAZで作成されています。2台あがっていますが、コストを減らしたい場合は1台のみ起動でもいいかもしれません。(AZ障害が発生した場合に、もう一台を起動する)

20160930-bastion-2

RDゲートウェイには443ポートへのアクセス許可が必要なため、セキュリティグループを追加します。

20160930-bastion-9

RDゲートウェイにFQDNを設定します。CFnで指定したドメインとEIPを指定したAレコードを登録します。例:RDGW1.chiba42.net

接続元から名前解決ができることを確認します。

local$ nslookup rdgw1.chiba42.net
Server:		xx.xx.xx.xx
Address:	xx.xx.xx.xx#53

Non-authoritative answer:
Name:	rdgw1.chiba42.net
Address: xx.xx.xx.xx

プライベートサブネットにインスタンスを作成する

接続するWindowsインスタンスをプライベートサブネットに構築して接続してみます。セキュリティグループには、VPCセグメントからのRDP接続を許可します。(IPではなくセキュリティグループを指定してもok)

20160930-bastion-3

証明書のインストール

RDゲートウェイサーバに設定されている証明書を、接続元サーバーにインストールします。証明書をダウンロードするために、リモートデスクトップを起動しRD接続の設定をします。

それでは、RDゲートウェイ経由で先程作成したWindowsサーバーへログインしてみます。リモートデスクトップのオプションより詳細設定 > 設定をクリックします。サーバー名に、RDゲートウェイのFQDNを入力します。

20160930-bastion-4

全般より、コンピューター名に接続先のEC2インスタンスのプライベートIPアドレスを入力します。

20160930-bastion-5

CFnで指定した「FQDN¥ユーザー名」と「パスワード」を入力します。

20160930-bastion-6

証明書をダウンロードします。証明書の表示をクリック。

20160930-bastion-7

ファイルコピーします。

20160930-bastion-8

ダウンロードしたファイルをクリックし、証明書をインストールします。

20160930-bastion-10

RDゲートウェイを指定してEC2インスタンスに接続する

設定が完了したので接続します。

リモートデスクトップを起動し接続をクリックします。CFnで指定した「FQDN¥ユーザー名」と「パスワード」を入力します。

20160930-bastion-6

ログイン対象のEC2のパスワードを入力します。

20160930-bastion-11

ログインできました!

20160930-bastion-12

まとめ

手動で構築しようとすると、RDゲートウェイのインストールや証明書を設定する必要があるのですがCFnで一発構築できるので便利だと思います。

参考

https://d0.awsstatic.com/webinars/jp/pdf/misc/RDGateway_Windows.pdf

http://docs.aws.amazon.com/ja_jp/quickstart/latest/rd-gateway/welcome.html