PaaSもIaaSもオンプレミスもいいとこ取り!!Windows Azure Virtual Networksで合わせワザ一本!!
OSSのインストールを競う技術者向けコンテスト「インストールマニアックス」の入賞者の面々が、Windows Azureのコンピューティング、データ管理、ネットワークの新機能を中心に、リレー形式で詳しく説明していく本連載。5回目となる今回はWindows Azure Virtual Networksをテーマにご説明します。
→ Windows Azure サブスクリプション申し込み Step by Step
Windows Azure Virtual Networksについて
6月のSpring ReleaseによってWindows Azureは大幅な機能強化をしました。全体の概要は6月のSpring Releaseの紹介記事「オープンで柔軟性があるクラウドサービスに進化したWindows Azure」に譲り、ここでは仮想ネットワークに絞ってご紹介します。
Cross-premiseを実現する2種類のVPN
6月のSpring Releaseを紹介したWindows Azureの国内イベント「Go Azure」でも、Azureに用意したActive Directoryを使ってオンプレミスの端末の認証を行う事例が発表されています。このようなハイブリッド運用をクロスプレミスという用語で紹介しています。
これらの機能を実現するキーファクターがAzureで提供されているVPNです。
→ Go Azure
これまでの間にWindows Azure では、CTP(Community Technology Preview)ではありましたが、VPN機能として、Windows Azure Connectという仮想ネットワークに相当する機能が提供されていました。
Windows Azure Connect
Windows Azure ConnectはWindows Azureを中継拠点として、各マシン同士がConnector(VPNクライアント)をインストールして、Machine to Machineで同一サブネットを構成して接続するVPNです。
類似の技術としてSSTP、PPTP、Open VPNやSoft Ether、UTVPNなどをイメージしてもらえると良いでしょう。
オンプレミスとクラウドを接続するだけでなく、Machine to Machineでつながる事から、Windows Azureを起点にして、出先から自宅のPCにアクセスするなどして使うなどのケースも考えられます。
なお、現在(2012.09)Azure Connectは新しいマネジメントポータルでは提供されておらず、旧ポータルで提供されています。今後、どのような形で提供されるかはわかりませんが、利用シーンも異なり、比較的楽にVPNを構築できる事情もあるため、個人的には継続して欲しいと思っています。
Windows Virtual Networks
Windows Azure Virtual Networksは、いわゆる対向接続型VPNで標準であるIPsecを用いたSite-to-Site型のVPNです。Windows Azureに用意したインスタンスを任意のサブネットに所属させて、オンプレミスネットワークと接続します。
これによって、例えば
- オンプレミスのDNSで名前解決
- オンプレミスのSQL ServerとAzureのSQL Serverの相互同期
- オンプレミスにあるSharePoint ServerをAzureで運用
- オンプレミスからAzureインスタンスをダイレクトに監視
など、オンプレミスネットワークの従来の運用を活かしながら、クラウドへ移行できるようになります。
現在、検証され接続できる事が確認されているオフィシャルIPsecコンセントレーターは以下のものになります。
ASA5500シリーズなどは、モデルによっては実売5万円程度で販売されており、比較的入手しやすいと思われますが、国内で利用例の多いIPsecコンセントレーターとは言い難く、今後の対応リストの拡充を期待したい所です。
現時点(2012.09)では、まだPreviewリリースであるため、version1では以下に挙げる制限があります。今後開発が進むにつれ、制限解除や機器接続性の向上など、徐々に変わってくるであろうと期待しています。
- Subscription毎の制限
- Subscription毎にネットワーク構成は1つ
Subscriptionあたり5つVirtual Networkと5サイトまで
Affinity groupあたりVirtual Networkは1つまで
Subscriptionあたり最大 9 個のDNS Server Address - 仮想ネットワーク サイトの制限
- RFC1918(いわゆるプライベートアドレス空間)のみ定義可能
インスタンスが割り振られるサイトは1つ - ローカルネットワークサイト
- 1サイトあたりゲートウェイIPは1つ
- ゲートウェイ
- 1つのVirtual Networkにゲートウェイは1つまで
複数拠点からのIPsecセッションの非対応(アクティブな接続が1つまで) - Virtual Networkの制限
- IPv4のみ
Multicast/Broadcastの非対応
任意のMac Address設定の非対応
BGPルーティングの非対応
トンネリングの強制の非対応
Virtual network addressの動的変更の非対応 - IPsec接続に関する制限
- IKEv2の非対応
証明書ベース接続の非対応
Shared key + IDなどの複数要素認証の非対応
ソフトウェアベースでのVPNソリューションの非提供
Virtual Networkの構築
ケース1 Virtual MachinesとCloud Servicesを同じサブネットで運用
Virtual network機能はオンプレミス環境とのIPsec接続に目が行きがちですが、Windows Azureの各インスタンスを同じサブネットで構成する事が可能になります。
Windows Azureのみで一番シンプルな1つのサブネットを用意し、Windows Azure Cloud Services (PaaS)のPHPを実行可能なWeb RoleインスタンスとMySQLをインストールしたWindows Azure Virtual Machines(IaaS)インスタンスを起動し、同じサブネットに所属させます。
すべての作業の解説に紙面も割けませんので、ここでは主にネットワークの構築方法に絞って解説します。
作業は以下の手順で行います。
- Virtual NetworkとAffinity groupの作成
- Virtual Machineのインスタンスを構築する
- Cloud Serviceのインスタンスを構築する