normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

Eclipse を利用して Worker ロールの Java アプリを仮想ネットワークに参加させる

Azure Eclipse Plugin を利用した Worker ロールで稼働する Java アプリは単独で動かしている例が多いので、仮想ネットワークにも参加させる方法を記載する。事前準備としては以下が実施済みなことを前提とする。

  • 仮想ネットワークが作成済み
  • Azure Deployment Project を Eclipse 上で作成済み

以下の仮想ネットワークを例として扱う。

f:id:waritohutsu:20150716150110p:plain

設定ファイルの編集

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 ロールのインスタンスが配置されていることが確認できる。
f:id:waritohutsu:20150716150131p:plain