【Azure】Azure NAT Gateway のすゝめ

こんにちは。SCSK橋本と申します。
早速でございますが、Azureサービスである「Azure NAT Gateway」について紹介したいと思います。

Azure仮想マシンを作成して、パブリックIPアドレスを付与していないにも関わらず
インターネット通信が必要である Windows Update が出来ていることに疑問を持ったことはないでしょうか。

実は、Azure仮想マシンを作成した際にAzure側で「azure-default-snat」と呼ばれるインターネットとの通信経路が作成されております。
「仮想マシン→azure-default-snat→インターネット」の経路が存在することにより Windows Update が実現出来ているのですが、
azure-default-snatに任意のパブリックIPアドレスが割り振りされています。

Azure仮想マシンとインターネットのやり取りが Windows Update やWeb閲覧などのグローバルIPアドレス制限のない内容であればデフォルトで実装されるazure-default-snatでも問題ないのですが、
azure-default-snatに実装されているグローバルIPアドレスは「仮想マシンの再起動」や「Azure側の任意のタイミング」で変更されてしまう仕様があるため、IPアドレスの固定はされずSaaSとの連携には向いていない状態となります。

今回は、SaaS側で特定のグローバルIPアドレスのみに通信を許可するケースを「Azure NAT Gateway」を用いた方法で解決する方法を記載いたします。

Azure NAT Gatewayとは

Azure NAT GatewayとはAzureで提供されているNAT機能です。
先ほど記述した「azure-default-snat」とは異なり、利用するグローバルIPを固定することが可能となります。
以下に簡易的なアーキテクチャ図を記載いたします。

<アーキテクチャ図>

AzureNATGateway構成図

サブネットとAzure NAT Gatewayを紐づけすることにより
サブネット内部に作成した仮想マシンのグローバルIPアドレスを関連付けが可能となります。

注意点

以下のケースに該当する場合は、Azure NAT Gatewayを利用できません。

・サブネット内にパブリックIPアドレスを付与している仮想マシンが存在する場合
・サブネット内にロードバランサを利用している場合

構築方法

①Azure Portal にて「NATゲートウェイ」と検索してサービス画面まで遷移し、NATゲートウェイの作成を押下する

AzureNATGateway画面①

②基本タブ内で、リソースグループやNATゲートウェイ名を決定する。

AzureNATGateway③

③送信IPタブ内でパブリックIPアドレスを追加する。
※既にテナント内でパブリックIPアドレスを用意している場合は、流用しても問題ございません

AzureNATGateway③

④サブネットタブ内で、Azure NAT Gateway と紐づけ可能なサブネットが出現するので紐づけしたいサブネットにチェックを入れる

 

AzureNATGateway④

⑤タグタブ内で、任意のタグを作成する

AzureNATGateway⑤

⑥確認

先ほど紐づけを実施しサブネットのプロパティを開き、「NATゲートウェイ」に作成した Azure NAT Gateway が紐づけされているか確認する。
また、Azure NAT Gateway にパブリックIPアドレスが紐づいているので、対象サブネット内のサーバからグローバルIPアドレスを調査して紐づけがされているか確認。

AzureNATGateway⑥

まとめ

いかがでしたでしょうか。手数もそんなに多くないので簡単に実現できたと思われる方もいらっしゃるのではないでしょうか。
注意点で記載した条件に引っかからなければ構築可能となりますので、是非グローバルIPアドレスを固定化したいとのことであればお試しいただけますと幸いです。

タイトルとURLをコピーしました