PaaSもIaaSもオンプレミスもいいとこ取り!!Windows Azure Virtual Networksで合わせワザ一本!!

2012年10月3日(水)
廣瀬 一海

Virtual NetworkとAffinity groupの作成

早速、Virtual Networkを作成してみましょう。新しい管理ポータル(https://manage.windowsazure.com/)のコマンドバーにある[+NEW]をクリックして[NETWORKS]を選択し、 [VIRTUAL NETWORK]、[CUSTOM CREATE]を選択してください。

Virtual Networkの作成(クリックで拡大)

Virtual Network Detailsでは、今回は以下のように入力しました。

  • NAME MyVNET
  • REGION East Asia
  • AFFINITY GROUP Create a new affinity group
  • AFFINITY GROUP NAME myag

従来AFFINITY GROUPは、データセンター内での配置グループとして提供されており、同じグループに属するサービス同士はデータセンターの中でもより近いネットワーク上に配置する事ができます。Virtual Networkでも、同一のAFFINITY GROUPに各インスタンスが所属している事が前提になっています。

Virtual Network Detailsの入力内容(クリックで拡大)

Address Space and Subnetsでは、今回は以下のように入力しました。

  • ADDRESS SPACE 192.168.0.0/16
  • SUBNETS AppSubnet 192.168.1.0/24

ADDRESS SPACEは今回定義するVIRTUAL NETWORK全体のアドレス空間の定義をしています。ADDRESS SPACEから切り出した、複数のサブネットを持つ事ができます。今回はAppSubnetという名称でPrefix24の(255.255.255.0)のネットワークをサブネットとして追加しました。

Address Space and Subnets(クリックで拡大)

DNS Servers and Local Networkでは、オンプレミスのネットワークと定義したVirtual Networkに所属する各インスタンスの名前解決を行うDNS Serverの定義ができますが、今回は何も入力せず進めてください。これで、Azureの内部で使う事ができるVirtual Networkの定義ができました。

DNS Servers and Local Network(クリックで拡大)

Virtual Machine(IaaS)のインスタンスを構築する

次に定義したMyVNETに所属するVirtual Machine(IaaS)のインスタンスを作成します。

Windows AzureのVirtual MachineにLinuxも利用できるようになった事をご紹介しましたが、Linux稼働インスタンスは、現在(2012.10時点)Virtual Networkに対応していません。

今後対応される事を期待して、今回はWindows Server2008 R2で構築します。以下の記事を参照してください。
→ Windows Azure仮想マシンでLinuxサーバーを構築しよう

[+NEW]をクリックして[VIRTUAL MACHINE]を選択し、 [FROM GALLERY]を選択してください。

VM OS Selectionから[Windows 2008 R2 SP1]を選択して、右下の矢印ボタンをクリックして、VM作成を進めてください。その際に、VM ModeからREGION/AFFINITY GROUP/VIRTUAL NETWORKから作成したMyVNETが表示されますので、選択してください。

VM OS Selectionから[Windows 2008 R2 SP1]を選択してVM作成を進める(クリックで拡大)

次に進めると、VM Optionsに所属するサブネットが表示されています。APPSUBNETに所属させますので、チェックを入れて、次へ進めてVM作成を完了させてください。

APPSUBNETにチェックを入れてVM作成を完了(クリックで拡大)

インスタンスの作成が完了するとインスタンスの概要のINTERNAL IP ADDRESSはAppSubnetに所属する192.168.1.4が割り振られています。

INTERNAL IP ADDRESSに192.168.1.4が割り振られる

また、Virtual Networkの画面からも、AppSubnetにインスタンスが所属している事がわかります。

Virtual Networkの画面からもAppSubnetにインスタンスが所属している事がわかる(クリックで拡大)

Cloud Service(PaaS)のインスタンスを構築する

Cloud Serviceも同じAffinity groupを指定する必要があります。[+NEW]をクリックして[CLOUD SERVICE]を選択し、 [CUSTOM CREATE]を選択してください。

[CLOUD SERVICE]から [CUSTOM CREATE]を選択(クリックで拡大)

作成が完了したらデプロイするパッケージのServiceConfiguration. cscfgにNetworkConfiguration要素を追加します。Role単位で所属するSubnetを指定する事ができます。

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="vnetsample" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*" schemaVersion="2012-05.1.7">
  <Role name="phpwebrole">
    <Instances count="2" />
    <ConfigurationSettings></ConfigurationSettings>
  </Role>
  <NetworkConfiguration>
    <VirtualNetworkSite name="MyVNET" />
    <AddressAssignments>
      <InstanceAddress roleName="phpwebrole">
        <Subnets>
          <Subnet name="AppSubnet" />
        </Subnets>
      </InstanceAddress>
    </AddressAssignments>
  </NetworkConfiguration>
</ServiceConfiguration>

後は、従来と同じようにデプロイする事で各ロールインスタンスにVirtual NetworkのIP Addressが割り振られます。

各ロールインスタンスにVirtual NetworkのIP Addressが割り振られる(クリックで拡大)

この時点で同じサブネットに所属し、相互に通信でき、PaaS/IaaSをハイブリッドで運用可能になります。

アイレット株式会社 cloudpack事業部 シニアソリューションアーキテクト

生業はインフラエンジニア。小規模から大規模なまで日々様々なインフラを構成しています。好きなクラウドはMicrosoft Azure、日頃の業務はAmazon Web Services、という感じにクラウド漬けの毎日を過ごしています。​
仕事の傍ら、勉強会やコミュニティ(日本Azureユーザー会)コアメンバとして活動しています、マイクロソフトのオープンソース戦略にとても共感し、Microsoft MVPとして情報発信や交流を行っています。
Microsoft MVP Microsoft Azure

cloudpack公式サイト:http://cloudpack.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています