🕌

パブリックIPプレフィックスについて(静的PIPについて余談あり)

2022/11/29に公開

はじめに

AzureでNat Gatewayを作成するときに、PIPプレフィックスを指定する項目があり、普通のPIPと何が違うのかが分からなかったため。

結論

パブリックIPの広域のアドレス範囲を、事前に予約しておくこと。
/28であれば、16のIPアドレスを事前に予約しておくことで、SNATポートの枯渇か、接続制限をする際にも比較的柔軟に制限がしやすくなる。(要は、複数の仮想マシンが存在するときに、FirewallのNSGへの穴あけを1つ1つ実施しなくて済むようになる。)
また、事前に範囲を確保しておくので、仮にパブリックIPを削除してしまった場合に、再度同じIPを設定できる。本来であれば、グローバルな範囲から割り当てられるので、再度同じIPに設定するのは運ゲーになる。

SNATポートとは

1つのPIPが持つエフェメラルポートのこと。
プライベートIPしか持たないリソースが、PIPに変換するときに利用されるポートである。
65,535 個のポートがあるため、よっぽどじゃなければ気にすることはないと思う。

参考資料

送信接続での送信元ネットワーク アドレス変換 (SNAT)を使用する
パブリック IP アドレス プレフィックス

余談

色々調査する過程で、Azure のPIPって動的なのか静的なのか気になった。
普段利用している限りだと、サーバの割当て解除(停止)すると、PIPが変わることもないので、デフォルトで静的なのだと思っていた。

実機で確認したところ、BasicかStandardかによって選択が可能らしい。Basicの場合は、動的にも変更できるが、Standardの場合は静的で固定である。
ただ、Microsoftとしては、Standardを推奨しているため、普段使いでもあまり動的IPを見ることが無かったのだろう。

BasicでのVM起動(1回目)

(2回目)

やっぱり変わっていますね。
ちなみに、割り当て解除するときに、パブリックIPを予約しますか?というメッセージにYESを選択すると、PIP側が動的→静的に変更になる。Basicプランは変更されない。

パブリックIPのBasicとStandardプランの違い

Basic Standard
IPの割り当て 静的または動的 静的のみ
可用性(ゾーン冗長) 無し 有り(規定で有効)
通信 送受信オープン 受信は既定でブロック

Discussion