[5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Windows編 –
[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に展開してみます。まず、展開したいAWSアカウントにログインします。次にこちら下部の、 launch the Quick Start をクリックします。リージョンがオレゴンになるので、適宜リージョンを変更します。
RDゲートウェイインスタンスがマルチAZで作成されています。2台あがっていますが、コストを減らしたい場合は1台のみ起動でもいいかもしれません。(AZ障害が発生した場合に、もう一台を起動する)
RDゲートウェイには443ポートへのアクセス許可が必要なため、セキュリティグループを追加します。
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)
証明書のインストール
RDゲートウェイサーバに設定されている証明書を、接続元サーバーにインストールします。証明書をダウンロードするために、リモートデスクトップを起動しRD接続の設定をします。
それでは、RDゲートウェイ経由で先程作成したWindowsサーバーへログインしてみます。リモートデスクトップのオプションより詳細設定 > 設定をクリックします。サーバー名に、RDゲートウェイのFQDNを入力します。
全般より、コンピューター名に接続先のEC2インスタンスのプライベートIPアドレスを入力します。
CFnで指定した「FQDN¥ユーザー名」と「パスワード」を入力します。
証明書をダウンロードします。証明書の表示をクリック。
ファイルコピーします。
ダウンロードしたファイルをクリックし、証明書をインストールします。
RDゲートウェイを指定してEC2インスタンスに接続する
設定が完了したので接続します。
リモートデスクトップを起動し接続をクリックします。CFnで指定した「FQDN¥ユーザー名」と「パスワード」を入力します。
ログイン対象のEC2のパスワードを入力します。
ログインできました!
まとめ
手動で構築しようとすると、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