Azureの同一仮想ネットワーク上に複数のVirtual Machinesインスタンス(仮想マシン)を作成する場合、インスタンス間のアクセスができなくなる場合がある。

 例えば図1のように、3台のVirtual Machinesインスタンスを作成したとする。このとき、3台のインスタンスを全て停止状態にしたうえで、ほぼ同時に起動状態にすると、インスタンス間のアクセスが不可能になる。

図1●同一仮想ネットワークに作成した3台のVirtual Machinesインスタンス
図1●同一仮想ネットワークに作成した3台のVirtual Machinesインスタンス
[画像のクリックで拡大表示]

 Azure内部では、Virtual Machinesインスタンスの起動時に、そのプライベートIPアドレスに対して、仮想ネットワーク内の他のVirtual Machinesインスタンスが持つIPアドレスへの経路設定を行う。図1の構成で3 台のインスタンスがほぼ同時に起動すると、各インスタンスはIPアドレスの割り当て前で有効になっておらず、それぞれのプライベートIPアドレスに対する他のVirtual Machinesインスタンスへの経路が設定されない。

 プライベートIPアドレスに対する経路設定はVirtual Machinesインスタンスの起動時に行われ、停止するまで解放されない。Virtual Machinesインスタンスの再起動では経路設定が解放されないので、アクセスできない状態は復旧しない。

つまずき対策

 同一仮想ネットワーク上のVirtual Machinesインスタンス間の通信ができない状態になったらどうしたらよいか。対策としては、Virtual Machinesインスタンスを停止させたうえで、各インスタンスを時間をおいて起動することによって復旧できる。

寺田 孝宏
ミラクル・リナックス 営業本部 テクニカルアライアンス部
某パブリッククラウド基盤のデプロイサービス開発経験と、ネットワーク通信機器や音声・映像再生機器の開発経験のある組み込み技術者。2015年12月よりAzureに携わる。MCP70-533保持。