AWS

AzureとAWSを接続してみようと思うけどどうやるの?

はじめに

くどうです。2015年初投稿です。

クラウド間で接続して相互に接続し、データのやり取り、移行を行う機会が増えてくるでしょう。
そこで、AzureとAWSをセキュアに、そして簡単に相互接続する方法を紹介します。

VPNを利用するには

クラウド間を結ぶ場合、Vyatta、OpenVPNなど利用して接続する場合があります。
しかし、Azureは便利なもので、Azure仮想ネットーワークとWindowsServerの「ルーティングとリモートアクセスサービス(RRAS)」を利用して簡単に接続することができます。接続形式はIPSec(IKEv2)になります。では、接続方法を紹介していきます。

参考:http://msdn.microsoft.com/ja-jp/library/azure/jj156007.aspx

今回の構成する環境はAzure側を192.168.2.0/24のセグメントとし、AWS側を192.168.1.0/24としています。

AWSの準備

Windows Serverのインスタンスを立ち上げる

Azure仮想ネットワークに接続を行うため、AWS側にWindowsServerを準備します。
仮想ネットワークで利用できるOSはWindows Server 2012/2012R2になります。
そのため用意するインスタンス立ち上げる際には、以下のAMIを利用します。

  • Windows_Server-2012-R2_RTM-Japanese-64Bit-Base-201x.xx.xx
  • Windows_Server-2012_RTM-Japanese-64Bit-Base-201x.xx.xx

特に問題がなければWindow Server 2012R2を利用します。
セキュリティグループは、この時点ではRDPのみ設定します。
インスタンスを立ち上げ後は、ログインできることは確認しておきましょう。

また、構成図のようにEIPを割り当てます。今回の振り当てるEIP:54.64.124.53となっています。

Azureの準備

仮想ネットワークを設定する

仮想ネットワークの設定方法を順番に見ていきます。
[新規]→[仮想ネットワーク]→[カスタム作成]

[名前]には適当に仮想ネットーワークに名前をつけます。
場所は[日本(東)]を選択します。仮想ネットーワークが作成される場所であり、基本的にはどこでも問題ないです。

(fomってなんだよw)

DNSの設定を行いますが、自前で持っていないのでGoogleのパブリックDNSを利用します。
[サイト間VPNの構成]にチェックを入れます。
[ローカルエリアネットワーク]は[新しいローカルネットワークを指定する]にを選択します。

新しいローカルエリアを作成します。
今回は[名前]にはAWSと名前を付けます。
AWS側の192.168.1.0/24を指定し、[VPNデバイスのIPアドレス]にはWindowsインスタンスのEIP:54.64.124.53を指定します。

Azure仮想ネットワーク側のIPアドレスを指定します。
今回は192.168.2.0/24を指定します。またsubnetには192.168.2.0/26とし、ゲートウェイを192.168.2.64/29としました。
以上で仮想ネットーワークの作成は完了です。

仮想ネットワーク作成完了後、ゲートウェイの作成を行う必要があります。AWSと接続が行うためです。

[ゲートウェイの作成]をクリックし、[動的ルーティング]を選択します。

作成中は下記のように表示されます。
20分程度かかります。

ゲートウェイが作成が完了すると[ゲートウェイIPアドレス]が表示されます。
ゲートウェイIPアドレスは、後でAWS側のセキュリティグループを設定に利用します。

AWS側にWindows Serverで利用するデバイス構成スクリプトをダウンロードします。
ダッシュボードの概要から、[VPNデバイススクリプトのダウンロード]をクリックします。

ダウンロードするスクリプトを選択します。
[ベンダー]で[Microsoft Corporation]を選択します。
[プラットフォーム]で[RRAS]を選択します。
[オペレーティングシステム]で[Windows Server 2012 R2]を選択します。
VpnDeviceScript.cfgがダウンロードされます。

これで、Azure側の準備は完了です。

AWS側でRRASを構築する

次にAWS側でRRASの構築を行います。
接続するためにセキュリティグループのポリシーを設定します。
Azure側へポートを解放します。

もっと参考:https://forums.aws.amazon.com/thread.jspa?messageID=487251

事前に立ち上げたWindowsインスタンスにログインします。
ログイン後、WindowsUpdateおよび、ファイヤーウォールを無効にしておきます。
ダウンロードした[VpnDeviceScript.cfg]を実行することでRRASが構築されVPN接続可能な構成になります。

[VpnDeviceScript.cfg]はPowershellスクリプトです。
コピーした後に、拡張子cfgをps1に変更します。

PowerShellを起動します。
最初に実行セキュリティポリシーを変更します。

コピーした[VpnDeviceScript.cfg]を実行します。が最後にこけます。

こけても、問題はありません。最後にVPN接続を行う時に失敗しエラーになります。
スクリプト内の最後の行に[Connect-VpnS2SInterface]が発行されますが、[Restart-Service RemoteAccess]によるリスタートが終わらずこの問題が発生しています。[Restart-Service RemoteAccess]の後に[Start-Sleep -s 10]など10秒程度スリーブすると問題なく終了できます。

スクリプト発行後にルーティングとリモートアクセスを立ち上げます。
設定を確認してみます。
Azure側のIPアドレス104.41.184.35の名前が付いたインターフェースがあり状態が[有効]、接続状態[接続]になっていることが確認できます。

静的ルーティングが設定されていることも確認します。

Azure側のゲートウェイへPingを打ち疎通確認を行います。
ゲートウェイIPアドレスは192.168.2.64/29の範囲で設定されます。

また、Azure側でも接続も確認します。

以上でAzureとの接続設定は完了です。

Azureへのルーティングを設定

AWS VPC内(192.168.1.0/24)からAzure(192.168.2.0/24)への通信を行えるようルーティングの設定を行います。

また、Source/Destination CheckをDisabledにします。

AWS側でデモ用のインスタンスを立ち上げます。
セキュリティグループはRRASと通信できるようそれぞれをdefaultグループに所属させます。
AWS側デモ用インスタンスからゲートウェイIPアドレスへPingを打ち疎通できることを確認します。

Azure側でもデモ用仮想マシンを立ち上げ確認を行います。
それぞれのインスタンス同士が疎通できることを確認します。
Windowsファイヤーウォールは切っておきましょう。

以上で、ルーティングの設定は完了です。

スループットを計測する

仮想ネットーワークのスループットは100Mbpsと制限があります。ご注意ください。
http://blogs.msdn.com/b/windowsazurej/archive/2014/06/18/blog-expressroute-or-virtual-network-vpn-whats-right-for-me.aspx

そこで、AzureとAWS(RRAS)で最適なインスタンスサイズを検証した結果

  • Azure側→A2インスタンス以上
  • AWS(RRAS)側→t2.smallインスタンス以上

以上で安定したスループットを計測できました。

もし安定しない場合はAWS側のインスタンスサイズを上げましょう。

まとめ

今回はAzureとAWSを繋げ、スループットを確認しました。まぁまぁVPNでこれくらい出ればいいかな。
次は、さくらのクラウドなんかとマルチサイトで繋げてみよう・・・かな。

Related post

  1. Azure

    SQL Server で照合順序 Japanese_CI_AS どこ消えた?あった。

    はじめにくどうですSQLServerをインストールしていた…

  2. AWS

    CloudMonixをちょっとだけ試してみた。

    はじめにくどうです管理運用面倒ですね・・・そこで、楽に…

  3. Azure

    MCP70-532を受験してきた。

    はじめにくどうですAzureのMCP試験は3つあります。…

  4. Azure

    「バルス!」 Vuls祭り#1に行ってきた。

    しゃべってきたくどうですVuls祭り#1に行ってきました。…

  5. Azure

    Scale SetをAnsibleで構成管理してみる。でもHTTPで公開できない?

    はじめにくどうです。Scale Setはこれまでの、ロード…

  6. AWS

    Storage Gateway を Windows Server バックアップのバックアップ先に使っ…

    はじめにくどうですたまにはAWSネタも・・・さて、ファ…

  1. Azure

    Azure Load Balancerと Azure Application G…
  2. 未分類

    Windows Server “Longhorn” Beta 3 をインストール…
  3. 未分類

    CentOS で VMware をインストール後vmware-config.pl…
  4. Azure

    Microsoft Azure でDockerはじめちゃいますか?
  5. Azure

    Azure DNS をポータルから使ってみた。シンプルです。
PAGE TOP