Azure仮想マシンの配置場所
クラシックポータル (https://manage.windowsazure.com) で仮想マシンを作成する場合、その配置場所は以下の3種類から選択できます。
- リージョン
- アフィニティグループ
- 仮想ネットワーク
結論から言って、**「仮想ネットワーク」に配置すべきです。**他の二つは忘れてください。以上。
と、これだけで終わるのも何なので、少し解説します。
Azure仮想マシンの構成要素をおさらい
配置場所の解説の前に、少しAzure仮想マシンの構成要素についておさらいを。
まず、どこに配置しようとも現在のAzure仮想マシンは以下のような構造を持ちます。
- 受け皿としての「クラウドサービス」
- ここにDNS名(~.cloudapp.net) が付きます。
- 仮想マシン本体
- 仮想マシンのNICに内部IPアドレス (DIP) が付きます。インターネットからはDIPに到達できません。
- 負荷分散兼NATサービス
- ここにパブリック仮想IPアドレス (VIP) が付きます。前述のDNS名に対応するグローバルIPアドレスです。
そして配置方式の解説
さて、前述した3種の選択肢ですが、大別すると「仮想ネットワークとそれ以外」に分けられます。
こんな感じですね↓
仮想ネットワーク以外(リージョン・アフィニティグループ)への配置
この場合、いろいろ融通が利きません。
- 別クラウドサービスの仮想マシンとは内部ネットワークがつながっておらず、DIPを指定しての通信はできない。
- DIPはAzure側で適当にアサインされてしまう。(ユーザーによる指定不可)
- 仮想マシンを起動するたびにDIPは変化しうる。
「とりあえず試しに一台作ってみる」ぐらいならば良いのですが、複数のサーバーを配置してシステムを構築するような用途には向きません。
仮想ネットワーク
さて、今日の主役です。この「仮想ネットワーク」とは、簡単に言えば、「クラウド上のSDN」です。Azureデータセンターの物理的なネットワーク配置から独立した、仮想的なネットワーク環境をユーザーごとにいくつでも作成することができます。
つまり、
- ユーザー固有のIPv4アドレス空間を定義できて
- 例) "192.168.0.0/16"
- その中に任意の数のサブネットを作ることが可能
- 例) Subnet-1: 192.168.1.0/24
- 例) Subnet-2: 192.168.2.0/24
というわけです。
なお、アドレスはプライベートIPアドレスだけではなく、グローバルIPアドレスを付与することも可能です。クラスAやBのアドレスをどーんと持っているよ、社内のサーバーは全部グローバルIPだぜ、というアドレスリッチなお客様は、そのアドレスをAzureの仮想ネットワークにも割り当てることができます。
また、仮想ネットワーク(のサブネット)に仮想マシンを配置すると、そのサブネットのアドレスが仮想マシンのDIPになるわけですが、どのアドレスを仮想マシンに付与するか、というのも指定できますし、指定したアドレスは仮想マシンの再起動後も変わりません。
さらに、アドレス空間を定義する以外にも、仮想ネットワークには重要な機能があります。それが、
- VPN機能でオンプレミスネットワークと接続したり
- ExpressRouteによる閉域網接続も可能
というところです。これらを活用することで、Azureの仮想ネットワークが社内ネットワークの一部であるかのように扱えます。オンプレとクラウドが地続きになるわけですね。
というわけで、Azure仮想マシン(IaaS)で本格的にシステムを構築するならば「仮想ネットワーク」への配置は必須です。実際、新ポータル (https://portal.azure.com) では、仮想マシンを仮想ネットワーク以外に配置することができません!
そして、ここ重要なのですが、仮想マシンの仮想ネットワークへの配置は
「仮想マシンの作成時にのみ」
行えます。一旦仮想マシンを仮想ネットワーク外に作ってしまうと、クリック一つで仮想ネットワークへ移動というわけにはいきませんから、
「仮想マシンを作る前に、まずは仮想ネットワークを作っておく」
ことが重要です。
最後に、仮想ネットワーク上でのシステム構成イメージを載せておきますね。SharePoint ServerのようなWebシステムをAzureに構築した感じだと思ってください。
このあたりの内容は、SlideShareに載せてあるので、よろしければご覧ください。
Microsoft Azure仮想マシンと仮想ネットワーク
では!
@ksasakims