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

    Azureでは仮想マシンのパスワードをポータルからリセットできます。

    はじめにくどうです。Azureで、仮想マシンのパスワードを…

  2. Azure

    Azure Active Directory の削除方法。それ、ServicePrincipalの問…

    はじめにくどうです。みなさんAzure Active Direct…

  3. AWS

    Microsoft BizSpark がAWSで使えるらしい

    記事は古いですが、BizSparkのライセンスをAWSに持ち込むことが…

  4. Azure

    AzureにVulsをインストールしてみる。コピペでどーん。Docker編

    はじめにくどうです。Vulsです。前回と一緒。いろ…

  5. Azure

    Application Gateway web application firewall が公開され…

    はじめにくどうです。Igniteが盛り上がってますねh…

  1. 未分類

    drbdの起動方法
  2. AWS

    ひとつのEBSを分割してみますよ
  3. 未分類

    0X8024d007 Windows Updateができない
  4. 未分類

    LPIC Level3を受験しよう
  5. AWS

    Storage Gateway を Windows Server バックアップの…
PAGE TOP