こんにちは。日本マイクロソフトの佐々木(@ksasakims)です。
前回の『Azure仮想マシンは「仮想ネットワークに配置」すべし』に続いて、Azure仮想マシンを使う上での基本事項を書いておこうかと思います。
※ 以降、Windowsを例に説明しますが、Linuxを使う場合にも同様に当てはまる話です。
自分のアドレス、DNSサーバーのアドレス
なぜ、静的に設定してはいけないのでしょうか。それはですね、
静的に設定しても、いつの間にかデフォルト設定(「自動的に取得」)に戻ってしまう
からです。「いつの間にか戻ってしまう」なんて無責任な話と思われるかもしれませんが、ちゃんと理由があります。
仮想マシンの再作成
Azure仮想マシンは、Azureのデータセンターに大量に配備されたHyper-Vホスト(=物理マシン)上で稼働しているわけですが、次のような場合に「仮想マシンの再作成」が行われます。
- ユーザーが仮想マシンのサイズを変更した場合(D1をD2にした等)
- 仮想マシンが別のHyper-Vホストへ移動された場合(物理マシンの障害が検知された場合のService Healing処理等)
このような場合、「既存の仮想マシンをそのまま別ホストへマイグレーション」する形ではなく、「既存の仮想マシンのVHDファイルだけを再利用して、新たな仮想マシンを作る」形で再構成が行われます。そのため、仮想マシンに接続される仮想NICも、新たなものが用意されるのです。
当然、ゲストOSでは「新しいNICが接続された」と認識されます。新しいNICはデフォルトの「アドレスを自動的に取得」の状態となり、古いNICに静的に設定されていた情報は役に立たなくなります。
古いNICの情報は…
「あれ、じゃぁ古いNICの情報ってもしかして残ってる?」と思ったあなたは鋭い。はい。残っています。試しに確認してみましょう。
- Azure仮想マシンにログオンし、デバイスマネージャ(devmgmt.msc)を起動します。
- 「表示」→「非表示のデバイスの表示(W)」をチェックします。
- 「ネットワーク アダプター」のところを確認します。
NICの墓場や!
これは、私が今この記事を書くのに使っている仮想マシンなのですが、頻繁にサイズを変更していることもあってこんな風になっています。アイコンの色が薄くなっているのが「実体のない過去のNIC」です。
でも「静的」に設定できますよね?
Azureの管理ポータルでは、仮想マシンのIPアドレス設定で、下図のように「動的」と「静的」が選べます。
大変紛らわしくて申し訳ありませんが、ここで「動的」「静的」のどちらを選んでも、IPアドレスは結局DHCPで配られます。その、DHCPで配られるIPアドレスの値が、「サブネット内で空いているアドレスから小さい順に割り当てられるか」それとも「この設定画面で指定したIPアドレスが毎回割り当てられるか」という意味での「動的」「静的」なのです。
DNSサーバーのアドレスは?
「NICのIPアドレスはわかった。しかし、DNSサーバーのアドレスは、どうやって別の仮想マシンに伝えれば良い?」
はい。仮想ネットワークのプロパティで設定できます。
ここで設定したIPアドレスが、この仮想ネットワークに参加してくる仮想マシンに対して、DNSサーバーのアドレスとして配られるわけです。
え、仮想マシンを仮想ネットワークに配置してない?
前回の記事を読んで出直してください!
関連情報
障害からの自動回復処置としてのホスト間移動は、もうずいぶん前ですがブログに書いたことがあります。ご参考までに。
「Windows Azure の仮想マシンは HAVM」
それでは!