9月頭から筋トレ4か月目に突入した多田です。マックとかラーメンとか唐突に食べたくなって結果ダーティバルク気味になってます。
はじめに
ここではLoad Balancer、Azure Firewall、NAT GatewayのSNATポートについて簡単に記載していきます。
Load Blancer
Load Blancerで第一に見る箇所として SNAT Connection Count
というメトリックがあります。
このメトリックは使用されたSNATポートの数を見ることができるのですが、フィルターの設定を少し弄ると失敗したSNAT接続の数を確認することが可能です。FailedのカウントがもしあればSNATポート枯渇が起きている可能性があります。
次に見るメトリックとして Allocated SNAT Ports
と Used SNAT Ports
があります。Allocated SNAT Ports
はバックエンドインスタンスに割り当たっているSNATポートの数で、 Used SNAT Ports
はバックエンドインスタンスが実際に使用しているSNATポートの数を示しています。Used SNAT Ports
の数が Allocated SNAT Ports
の数に対して少なければ大丈夫ですが、これが同等の値になってくるとポートの枯渇が発生する可能性があります。
Azure Firewall
Azure Firewall では Firewall health state
と SNAT port utilization
の2つのメトリックを確認します。Firewall health state
は正常性が100%であれば正常を示しています。正常性が99%以下の場合はSNATポートの枯渇が起きている可能性を示しています。SNAT port utilization
はファイアウォールによって使用されているSNATポートの割合です。Azure FirewallにパブリックIPを割り当てるほど使用可能なSNATポートの数も増える形となります。
資料: https://docs.microsoft.com/ja-jp/azure/firewall/logs-and-metrics#metrics
NAT Gateway
NAT Gateway は Dropped packets
と Total SNAT connection count
と SNAT Connection Count
の3つのメトリックを確認します。
NAT Gateway は最大16個までパブリックIPを割り当てることが可能で、パブリックIP1つにつき64,512 個のSNATポートが提供され、最大 1,032,192 個のSNATポートをNAT Gateway は持つことが可能となります。したがって、Total SNAT connection count
の値と割り当たっているパブリックIPの数から、後どのくらいのSNATポートが使用可能か確認できます。
Dropped packets
は SNAT Connection Count
とお互いのメトリックを比較し、パケットがドロップした期間と失敗したSNAT接続の期間が一致するかどうかを確認します。一致した場合はポート枯渇が起きている可能性があるらしいです。
資料: https://docs.microsoft.com/ja-jp/azure/virtual-network/nat-gateway/nat-metrics
最後に
まだまだ分からない点が多いので善処します。