Amazon Virtual Private Cloud (Amazon VPC) のネットワークアドレス変換 (NAT) ゲートウェイの「ErrorPortAllocation」エラーを解決したいと考えています。
簡単な説明
NAT ゲートウェイは、宛先ごとに 1 分あたり最大 55,000 件の同時接続をサポートしています。このしきい値を超えると、その宛先への新しい接続は失敗し、NAT ゲートウェイの ErrorPortAllocation メトリクスが Amazon CloudWatch 上で増加します。
ErrorPortAllocation エラーの解決を開始する前に、次のタスクを完了してください。
- VPC フローログが Amazon VPC レベルで、または NAT ゲートウェイが使用されているサブネットに対してアクティブ化されているかを確認します。
- VPC フローログが CloudWatch に配信するように設定されているかを確認します。
ErrorPortAllocation エラーを解決するには、次の手順を実行します。
- ソースクライアントと接続先を見つけます。
- ベストプラクティスを活用してポート割り当てエラーを解決する
解決策
ソースクライアントとその接続先を見つける
1. CloudWatch コンソールを開きます。
2. ナビゲーションペインで [Insights] を選択します。
3. **[ロググループ]**で、フローログを記録するロググループを選択します。
4. ポート割り当てエラーを受信した時間枠内で応答数が最も多いトラフィックの宛先 IP アドレスを特定します。
**注:**Example-NAT-Gateway-Private-IP をトラフィックの宛先を特定する NAT ゲートウェイのプライベート IP アドレスに置き換えます。example-y.y を Amazon VPC CIDR 範囲の最初の 2 オクテットに置き換えます。
filter (srcAddr like example-NAT-gateway-private-IP and dstAddr not like example-y.y)
| stats count(*) as numaccept by dstAddr
| sort numaccept desc
| limit 10
5. 宛先 IP アドレスにトラフィックを送信する送信元クライアントを特定します。
**注:**Example-destination-IP は、ステップ 4 で前述した宛先 IP アドレスに置き換えてください。example-y.y を Amazon VPC CIDR 範囲の最初の 2 オクテットに置き換えます。
filter (dstAddr like example-destination-IP and srcAddr like example-y.y)
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10
ベストプラクティスを活用してポート割り当てエラーを解決する
ポート割り当てエラーを解決するには、次のベストプラクティスを使用してください。
- secondary IPv4 addresses を関連付けて、使用可能なポートの数を増やし、ワークロードが確立できる同時接続の制限を増やします。NAT ゲートウェイには最大 8 つの IPv4 アドレス (1 つのプライマリ IPv4 アドレスと 7 つのセカンダリ IPv4 アドレス) を関連付けることができます。
- それぞれのアベイラビリティーゾーンに NAT ゲートウェイを作成し、クライアントを複数のアベイラビリティーゾーンに分散させます。NAT ゲートウェイを使用して、クライアントと同じアベイラビリティーゾーン内のトラフィックをルーティングします。これにより、アベイラビリティーゾーンをまたいだデータ課金を抑えることできます。
- CloudWatch の IdleTimeoutCount メトリクスが増加した場合は、アイドル状態の接続を閉じるようにアプリケーションまたはプライベートインスタンスを設定します。これにより、NAT ゲートウェイは送信元ポートを新しい接続に割り当てることができます。
- クライアントが作成できる接続数を 1 つの宛先に制限します。
- 同じ AWS リージョン内の Amazon Simple Storage Service (Amazon S3) または Amazon DynamoDB パブリック IP アドレスに向かうトラフィックには、ゲートウェイエンドポイントを使用します。ゲートウェイ VPC エンドポイントを使用しても、データ料金は発生しません。
関連情報
サンプルクエリ
Amazon CloudWatch による NAT ゲートウェイのモニタリング
セカンダリ IP アドレスの関連付けを編集する