本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「SNATポート枯渇を見つけるメトリックの見方」を再編集したものです。
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ポートの数も増える形となります。
NAT Gateway
NAT GatewayはDropped packetsとTotal SNAT connection countとSNAT Connection Countの3つのメトリックを確認します。
NAT Gatewayは最大16個までパブリックIPを割り当てることが可能で、パブリックIPひとつにつき6万4512個のSNATポートが提供され、最大103万2192個のSNATポートをNAT Gatewayは持つことが可能となります。したがって、Total SNAT connection countの値と割り当たっているパブリックIPの数から、後どのくらいのSNATポートが使用可能か確認できます。
Dropped packetsはSNAT Connection Countとお互いのメトリックを比較し、パケットがドロップした期間と失敗したSNAT接続の期間が一致するかどうかを確認します。一致した場合はポート枯渇が起きている可能性があるらしいです。
最後に
まだまだ分からない点が多いので善処します。
多田 祐一朗/FIXER
名古屋事業所所属のエンジニア。基盤インフラ経験が少しある。
[転載元]
SNATポート枯渇を見つけるメトリックの見方