Azure Eclipse Plugin を利用した Worker ロールで稼働する Java アプリは単独で動かしている例が多いので、仮想ネットワークにも参加させる方法を記載する。事前準備としては以下が実施済みなことを前提とする。
- 仮想ネットワークが作成済み
- Azure Deployment Project を Eclipse 上で作成済み
以下の仮想ネットワークを例として扱う。
設定ファイルの編集
Worker ロール(はもちろん Web ロールを含むクラウドサービス)を仮想マシンに参加させる場合、ServiceConfiguration.cscfg に仮想マシンの構成情報を記載する。以下が記載例となるので、参考にして欲しい。
- ServiceConfiguration.cscfg
<?xml version="1.0" encoding="UTF-8"?><ServiceConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" serviceName="AzureDeploymentProject"> <Role name="WorkerRole1"> <Instances count="2"/> <ConfigurationSettings> </ConfigurationSettings> <Certificates> </Certificates> </Role> <NetworkConfiguration> <VirtualNetworkSite name="java-vnet"/> <AddressAssignments> <InstanceAddress roleName="WorkerRole1"> <Subnets> <Subnet name="Subnet-Tomcat"/> </Subnets> </InstanceAddress> </AddressAssignments> </NetworkConfiguration> </ServiceConfiguration>
上記で NetworkConfiguration タグ内に記載している内容が追記内容となる。NetworkConfiguration タグの name 属性に仮想ネットワーク名、Subnet タグの name 属性にサブネット名を記載することで構成可能だ。
デプロイと確認
ServiceConfiguration.cscfg 設定ファイルを作成後、右クリックから Azure > Deploy to Azure Cloud を選択してウィザードに従ってデプロイする。設定がうまくいっていれば、以下の様に仮想マシン内に Worker ロールのインスタンスが配置されていることが確認できる。
参考
- Connecting Web or Worker Roles to a Simple Virtual Network in Windows Azure | Michael Washam
- How to configure Azure Websites to communicate with Azure WebRole on Internal Load Balancer Endpoint - Farida - Site Home - MSDN Blogs
- Announcing release of Visual Studio 2013 Update 3 and Azure SDK 2.4 | Microsoft Azure Blog