PR:Windows Azureデータセンター内部構造と仮想ネットワークの便利さ ~ Windows AzureのIaaS機能とは何か?(後編)
Windows Azureに期待の新機能「Windows Azure仮想マシン」が登場した。Platform as a Service(PaaS)として登場したWindows Azureで、仮想マシンのレベルからカスタマイズ可能なIaaS機能が利用可能になる。
Windows Azure仮想マシンを利用すれば、自社のWindows Server環境を今以上に容易にクラウドへ移行でき、必要であればLinux環境でさえ移行することができる。ハイブリッドクラウドの構築も含めたクラウド活用の可能性が一層広がるのだ。
(本記事は「新機能「Windows Azure仮想マシン」、論理コアはそのまま物理コアに、ストレージは六多重もの冗長性を持つ性能 ~ Windows AzureのIaaS機能とは何か?(前編)」の続きです )
4ステップで仮想マシンを簡単に生成
セミナーでは、実際にWindows Azure仮想マシンを起動するデモも行われた。
まず、仮想マシンにインストールするゲストOSを選択。Linuxも選択できるが、ここではWindows Server 2012を選択してみる。
次に、仮想マシンの名前、Administratorのパスワード、そして仮想マシンのサイズを選ぶ。
そして仮想マシンのモードを選択。スタンドアロンのサーバとして起動するか、既存の仮想マシンと接続するか。DNS名、仮想マシンを格納するストレージアカウント、配置するリージョンなどを指定する。
最後に可用性セットに含めるかどうかを指定する。これで、しばらく待つとWindows Azure仮想マシン上が立ち上がってくる。
Windows Azure仮想マシンにおける各設定の意味
Windows Azure仮想マシンを起動するときに、「マシン名」と「DNS名」の2つを設定した。なぜこの2つが必要なのか、佐々木氏の説明はこうだ。
「Windows Azure仮想マシンを作ると、裸の仮想マシンができるだけではなく、それを包むホステッドサービスが作られます。これはインターネット越しにWindows Azure仮想マシンにアクセスするための受け皿です。ここにグローバルのIPアドレスが与えられ、DNS名がつきます。
このホステッドサービスの中に複数のインスタンスを配置できるようになっていて、インスタンスごとにコンピュータ名が使われます。インスタンスごとに付くIPアドレスはWindows Azure内部のIPアドレスです。つまり仮想マシンに直接グローバルなIPアドレスが付いているわけではありません」
また、配置するリージョンを選ぶところには「アフィニティグループ」に関する設定もあったが、アフィニティグループとは何だろうか。それを理解するためにまず、Windows Azureデータセンターの構造が説明された。
データセンターは複数のラックをファブリックコントローラで束ねた「クラスター」から構成されている。1クラスターあたりおおむね1000ノード。Fabric Controller(FC)がクラスを管理し、どのラックのどのサーバが空いているか、といった情報を管理している。
クラスターはラックの集まりで、ラックのいちばん上にはルータがある。Fabric Controllerはラックに分散配置されていて可用性が高くなっている。
Windows Azure仮想マシンを起動すると、この膨大なクラスターを構成するラックのどこかでインスタンスが立ち上がるのだが、複数の仮想マシンを利用する場合、通信の効率を考えると物理的に近い場所にあった方が効率が良い。それを設定するのが「アフィニティグループ」だ。
佐々木氏はアフィニティグループの例をこう説明した。「2台のWindows Azure仮想マシンは連携するので同じアフィニティグループに設定すると、それをFabric Controllerが察知して同じクラスター内に作るようにします」
同一クラスター内にすることでネットワーク的な距離が近くなり、高速な通信が維持できる。しかし同一クラスターに配置されると、こんどはクラスターが障害で落ちたときにシステムごと落ちてしまう心配がある。そのための設定が「可用性セット」だ。
「Windows Azureではラックごとに電源やルータが二重化されていて、何らかの物理的障害が発生しても、そのラックの外には影響を及ぼさないように設計されています。これを『障害ドメイン』と呼びます。Windows Azure仮想マシンの設定で最後に出てきた『可用性セット』では、複数の仮想マシンを同じ可用性セットにいれることで、仮想マシンが別々の障害ドメインに配置されるよう、Fabric Controllerが調整を行います」(佐々木氏)
Windows Azure仮想マシンにLinuxを利用して大量のWebサーバによるシステムを構築するときなど、この可用性セットを使うことで、データセンター内で物理障害が発生してもシステム全体が落ちることを防げるだろうと、佐々木氏は可用性セットの利用例を説明した。
Windows Azure仮想ネットワークはオンプレミスとクラウドがつながる
今回の新機能にはWindows Azure仮想マシンだけでなく、Windows Azure仮想ネットワーク機能も含まれている。これは、Windows Azure内に独立したネットワーク空間を作り出し、独自のサブネットを切ったり、自社のIPアドレスなどをそのまま振るといったことができる機能だ。と同時に、その仮想ネットワーク空間に対してクラウドの外からVPNで接続する機能も提供される。
下記の画面は、Windows Azureの管理ポータル画面で、クラウド内の仮想ネットワークとオンプレミスをVPNで接続しているところだ。
仮想ネットワーク機能を用いると、社内のマシンで稼働しているソフトウェアをIPアドレスはそのままでクラウドへ移行することが可能になる。また、オンプレミスとクラウドの接続によるハイブリッドクラウドの構築も容易になる。
VPN接続に必要なルータとして現在のところシスコもしくはジュニパーの機器がサポートされており、今後サポート機種は増える予定だ。すでにコミュニティによってヤマハのルータなどでも動作したことが報告されている。
仮想ネットワーク機能には、もう1つ便利な使い方がある。それは、ホステッドサービス同士を接続することだ。
「Windows Azure仮想マシンにおける各設定の意味」の項で、ホステッドサービスについて説明した。ホステッドサービスとは、仮想マシンを包んでいるサービスで、インターネット越しにWindows Azure仮想マシンにアクセスするための受け皿だ。ここにグローバルのIPアドレスが与えられる。
下記の図では、2つのWebロールを包むホステッドサービス、2つの仮想マシンを包むホステッドサービス、2つのSQL Serverを包むホステッドサービスがある。これらを1つの仮想ネットワーク内に配置するとそれぞれの仮想ネットワーク内のローカルアドレスが与えられ、内部的なネットワークのみでより効率よく安全に通信しあうことができるようになる。
このように、仮想ネットワークを使うことで複数のホステッドサービスをより便利で効率的につなぐことができる。
また仮想ネットワーク内で割り当てられたIPアドレスは、その仮想マシンが削除されない限り変わらない。そのためDHCPよりも寿命の長いIPアドレスを取得することができる。Active Directoryのドメインサービスなど、IPアドレスが変更されては困るサーバなどをWindows Azureにデプロイする場合、この方法が有効だ。
より柔軟なクラウド展開が可能に
Windows Azureに加わった新機能の仮想マシンと仮想ネットワークを見てきた。これらの新機能によってWindowsのみならずLinuxも混在させたシステムの構築も可能になり、冗長性を必要に応じて設定でき、オンプレミスとの連携が容易になるなど、インフラのレベルで柔軟にWindows Azureを使いこなすことができるようになった。
こうしたWindows Azureの進化によって、技術者が付加価値を発揮できる余地はこれまで以上に広がったことは間違いない。より柔軟な展開が可能になったWindows Azureをシステム構築の中でぜひ活用していただきたい。
Windows Azureでは無料評価版を提供しています。ぜひお試しください。
(本記事は、日本マイクロソフト提供のタイアップ記事です)