IT・ビジネススキル・人材育成の情報を掲載 | 人材育成のトレノケート【公式ブログ】

Azure仮想マシンのIPアドレスが勝手に変わる? ~その原因と対策を図解~

Microsoft Azureの仮想マシンをWeb管理ポータルから作成すると、パブリックIPアドレスとプライベートIPアドレスがそれぞれ1つずつ割り当てられます。ところが、いずれのアドレスも勝手に変わる可能性があります。さあどうしましょう。

目次[非表示]

  1. 1.Azure仮想マシンのIPアドレス
  2. 2.【参考】プライベートIPアドレスの利用
  3. 3.パブリックIPアドレスの固定化
  4. 4.パブリックIPアドレスの削除と課金の停止
  5. 5.プライベートIPアドレスの固定化
  6. 6.TCP/IPパラメーターの更新 ※2019/3/5追記
  7. 7.終わりに

 

Azure仮想マシンのIPアドレス

Microsoft Azureの仮想マシンは、

  • パブリックIPアドレス(グローバルIPアドレス)…インターネットからアクセスするときに使う仮想的なIPアドレスで、Azureの管理ツールから確認できます。

  • プライベートIPアドレス…仮想マシンに割り当てられるIPアドレスで、Azure内の仮想マシン間通信はこれを使います。

いずれのアドレスも、仮想マシン起動時に割り当てられ、既定では事前に設定することはできません(JSON形式で記述したテンプレートを作成すれば可能です)。

パブリックIPアドレスは、マイクロソフトが所有しているIPアドレスから適当に割り当てられます。このアドレスは、仮想マシンを停止して「割り当て解除」状態にすると完全に開放され、次回起動時はほとんどの場合別のアドレスが使われます。

プライベートIPアドレスは、通常、仮想ネットワークに割り当てたサブネットの4番目から順に使われますが、利用順序は保証されてはいませんし、再利用される可能性もあります。

IPアドレスが固定されていないのは何かと不自由です。たとえば、アクセスログなどは多くの場合IPアドレスのみが記録されます。その時の使っていたIPアドレスが、どのサーバーのものか分からなければ困るでしょう。Azure仮想マシンを使っていて、最初に直面する問題です。

 

【参考】プライベートIPアドレスの利用

AzureのプライベートIPアドレスは、サブネットの最小値から以下の順に割り当てられます。

0…サブネットそのもの
1…デフォルトゲートウエイ
2…予約(使用されない)
3…予約(使用されない)
4…ここから仮想マシンへの割り当てが始まる

そのため、最小サブネットマスクは29ビットとなります。実際には、計算しやすいように24ビットを割り当てることが多いようです。

 

パブリックIPアドレスの固定化

仮想マシンのパブリックIPアドレス(グローバルIPアドレス)は、以下の手順で変更できます。

1.仮想マシンを選択し、[概要]にある[パブリックIPアドレス]のリンクをクリック

2.パブリックIPアドレスリソースの[構成]から[割り当て]を[静的]に変更し、[保存]をクリック

以上で、現在割り当てられているIPアドレスが固定されます。なお、パブリックIPアドレスには以下の料金がかかります(執筆時点での東西日本リージョン)。

  • 動的アドレス…1時間あたり0.45円(仮想マシンの割り当て解除により課金停止)
  • 静的アドレス…最初の5つ以下は1時間あたり0.45円、それを超えると1時間あたり0.90円(仮想マシンの割り当て有無によらず課金)

1時間0.45円は、31日で334.8円です。

 

パブリックIPアドレスの削除と課金の停止

仮想マシンのパブリックIPアドレスは、以下の手順で無効にできます。

1.仮想マシンを選択し、[設定]グループの[ネットワーク]から、ネットワークインターフェイスのリンクをクリック

2.ネットワークインターフェイスの[設定]グループから、[Ipconfig1]をクリック

3.[パブリックIPアドレスの設定]を[無効]に変更し、[保存]をクリック

以上で、パブリックIPアドレスの割り当てが解除され、動的IPアドレスの課金が停止します。また、パブリックIPアドレスリソースを削除することで、静的IPアドレスの課金が停止します。

 

プライベートIPアドレスの固定化

仮想マシンのプライベートIPアドレスは、以下の手順で変更できます。

1.パブリックIPアドレスを無効にしたのと同じ画面を表示

2. [プライベートIPアドレスの設定]で[割り当て]を[静的]に変更し、設定したい値を入力、[保存]をクリック

以上で、指定したIPアドレスに固定されます。もちろん、指定するIPアドレスは、仮想マシンが所属するサブネットに含まれていなければなりません。

仮想マシンのTCP/IP属性はDHCPクライアントのままなので注意してください。正確には、「静的IPアドレス」ではなく「DHCPクライアントのアドレス予約」に近い機能です。

決して仮想マシンにリモートログオンして直接編集してはいけません。OSのTCP/IP設定を直接変更してIPアドレスを固定した場合、二度と接続できなくなる可能性があります。

 

TCP/IPパラメーターの更新 ※2019/3/5追記

Azure上の仮想マシンのTCP/IP構成情報は以下のように割り当てられます(括弧内は172.16.0.0/24サブネットを指定した場合の例)。

  • IPアドレス…指定したサブネットの4番目から自動的に割り当て(172.16.0.4)
  • サブネットマスク…指定したサブネット(255.255.255.0)
  • デフォルトゲートウェイ…指定したサブネットの1番目のIPアドレス(172.16.0.1)
  • DNSサーバー…Azure内のサーバー(常に168.63.129.16)

このうち、DNSサーバーのアドレスだけは仮想ネットワークの構成を変更することで別のアドレスを設定できます。

 

 

各設定の変更は以下のルールに従います。

  • IPアドレスの静的割り当て…管理ツールからIPアドレスを指定すると仮想マシンは自動的に再起動します。
  • サブネット…仮想ネットワークに複数のサブネットがある場合、仮想マシンを移動できます。仮想マシンは自動的に再起動します。別の仮想ネットワークに移動することはできません。
  • デフォルトゲートウェイ…自動的に設定され、自由に変更することはできません。
  • DNSサーバー…仮想マシンを再起動するまで反映されません。仮想マシンが自動的に再起動することはありません。

以前は仮想マシン起動中にTCP/IP構成を更新する(Windowsの場合はipconfig /renewコマンドを実行する)ことはできませんでした(DHCPサーバーが応答せずエラーになっていました)。2018年冬頃から構成が変わったようで、現在は更新が可能になっています。
ただし、すべてのインフラが一斉に変更されたわけではないようで、たまに失敗することもあります。念のため、DNSサーバーアドレスを変更した場合は仮想マシンを再起動した方が良いでしょう。

なお、AzureのIPアドレスのリース期間は100年を超えるため、DNSサーバーの指定が仮想マシン起動中に自動更新されることはまずありません。

 

終わりに

ここで紹介した機能は、1日間の教育コース「Microsoft AzureによるITインフラの拡張 ~基本から学ぶサーバー構築~」で紹介しています。また、仮想マシンテンプレートの作り方や、ロードバランサーの構成について学びます。東京ではほぼ毎月実施していますし、大阪や名古屋でも開催しています。

 

Azure研修はこちらから