Comment résoudre l'erreur ErrorPortAllocation sur ma passerelle NAT ?

Date de la dernière mise à jour : 23/07/2019

Je continue d'obtenir l'erreur ErrorPortAllocation sur ma passerelle NAT et plusieurs connexions simultanées à mon port de destination ont échoué. Comment résoudre cette erreur d'allocation de port ?

Brève description

Les passerelles NAT prennent en charge jusqu'à 55 000 connexions simultanées pour chaque destination par minute. Si ce seuil est dépassé, les nouvelles connexions à cette destination échouent et la métrique ErrorPortAllocation pour la passerelle NAT augmente dans Amazon CloudWatch. Suivez les instructions suivantes pour trouver les destinations et clients source qui sont à l'origine de ces erreurs. Ensuite, suivez les étapes pour les résoudre.

Résolution

Trouver les clients source et leurs destinations de connexion

1. Ouvrez la console CloudWatch.

2. Dans le volet de navigation, sélectionnez Insights (Analyse).

3. Dans la liste déroulante, sélectionnez votre groupe de journaux.

4. Pour déterminer la destination du trafic, utilisez le filtre ci-dessous. Remarque : assurez-vous de remplacer xxx.xxx. par les deux premiers octets de votre CIDR VPC. En outre, remplacez l'IP privée de la passerelle NAT par l'IP privée de votre passerelle NAT.

filter (srcAddr like 'NAT gateway Private IP' and dstAddr not like 'xxx.xxx.')
| stats count(*) as numaccept by dstAddr
| sort numaccept desc
| limit 10

Les résultats montrent l'IP de destination présentant le plus grand nombre de réponses Accept (Accepter) pendant la période où vous avez reçu les erreurs d'allocation de port.

5. Pour identifier quels clients source envoient du trafic vers cette destination, utilisez le filtre ci-dessous. Remarque : assurez-vous de remplacer xxx.xxx. par les deux premiers octets de votre CIDR VPC. Remplacez également l'IP publique du filtre ci-dessus par l'IP de destination que vous avez reçue de la requête précédente.

filter (dstAddr like 'Public IP from above filter' and srcAddr like 'xxx.xxx.') 
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10

Prendre des mesures pour résoudre les erreurs d'allocation de port

  • Créez une passerelle NAT dans chaque zone de disponibilité, puis répartissez vos clients sur plusieurs zones de disponibilité. Acheminez le trafic vers Internet à l'aide d'une passerelle NAT dans la même zone de disponibilité que votre client afin de réduire les frais liés aux données entre plusieurs zones de disponibilité.
  • Si vous remarquez une augmentation de la métrique IdleTimeoutCount dans CloudWatch, configurez votre application ou votre instance privée de manière à fermer les connexions inactives afin de la passerelle NAT puisse allouer le port source à de nouvelles connexions.
  • Limitez le nombre de connexions que vos clients peuvent établir vers une même destination.
  • Si le trafic est dirigé vers une IP publique Amazon Simple Storage Service (Amazon S3) ou Amazon DynamoDB dans la même région, utilisez un point de terminaison de VPC de passerelle au lieu d'une passerelle NAT. Aucuns frais horaires ou de traitement de données ne s'appliquent pour l'utilisation de points de terminaison de VPC de passerelle.
  • Si le trafic est dirigé vers une IP publique pour un service AWS prenant en charge les points de terminaison de VPC d'interface, utilisez un point de terminaison de VPC d'interface au lieu d'une passerelle NAT.

Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?