Lorsqu'il n'y a pas assez d'adresses IP pour le lancement d'instances ou le dimensionnement - AWS App Runner

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lorsqu'il n'y a pas assez d'adresses IP pour le lancement d'instances ou le dimensionnement

Note

Pour les services publics, App Runner ne crée pas d'interface réseau élastique (ENI) dans votre VPCs ordinateur. Vos services publics ne sont donc pas affectés par cette modification.

Ce guide vous aide à résoudre les erreurs d'épuisement des adresses IP que vous pouvez rencontrer sur les services App Runner lorsque VPC l'accès au trafic sortant est activé.

App Runner lancera des instances dans les sous-réseaux associés à votre VPC connecteur. App Runner en crée une ENI par instance dans le sous-réseau où votre instance est lancée. Chacun ENI utilise une adresse IP privée dans ce sous-réseau. Le nombre de sous-réseaux IPs disponibles est fixe, en fonction du CIDR bloc associé à ce sous-réseau. Si App Runner ne trouve pas de sous-réseau suffisant IPs pour en créer unENI, il ne pourra pas lancer de nouvelles instances pour votre service App Runner. Cela peut entraîner des problèmes lors de l'extension de vos services. Dans ce cas, vous verrez les journaux d'événements d'App Runner indiquant qu'App Runner est incapable de trouver les sous-réseaux disponiblesIPs. Vous pouvez mettre à jour vos services en suivant les instructions ci-dessous pour résoudre ces erreurs.

Comment mettre à jour vos services pour qu'ils soient plus disponibles IPs

Le nombre d'adresses IP disponibles dans un sous-réseau dépend du CIDR bloc associé à ce sous-réseau. CIDRles blocs associés à un sous-réseau ne peuvent pas être mis à jour après leur création. VPCLes connecteurs App Runner ne peuvent pas non plus être mis à jour une fois qu'ils ont été créés. Pour optimiser vos IPs services App Runner en activant VPC l'accès au trafic sortant :

  1. Créez de nouveaux sous-réseaux avec un CIDR bloc plus grand.

  2. Créez un nouveau VPC connecteur avec le ou les nouveaux sous-réseaux.

  3. Mettez à jour votre service App Runner pour utiliser le nouveau VPC connecteur.

Calcul des IPs besoins pour vos services

Avant d'essayer de créer de nouveaux sous-réseaux avec des CIDR blocs plus grands, déterminez le nombre dont IPs vous aurez besoin pour tous vos services App Runner. Nous vous recommandons de calculer le nombre de pièces IPs nécessaires dans votre connecteur comme suit :

  1. Pour chaque service dont VPC l'accès au trafic sortant est activé, notez la taille maximale (nombre maximum d'instances) dans la configuration de dimensionnement automatique.

  2. Additionnez les valeurs de tous les services.

  3. Doublez cette somme pour tenir compte des nouvelles instances lancées lors de déploiements bleu-vert.

Exemple

Supposons que deux services A et B utilisent le même VPC connecteur.

  1. La taille maximale du service A est fixée à 25.

  2. La taille maximale du service B est fixée à 15.

Obligatoire IPs = 2 × (25 + 15) = 80

Assurez-vous que vos sous-réseaux ont au moins 80 sous-réseaux disponibles IPs combinés.

Créer un ou plusieurs nouveaux sous-réseaux

  1. Déterminez la taille de CIDR bloc nécessaire pour IPv4 utiliser cette formule (notez que 5 IPs sont réservés par AWS : Dimensionnement du sous-réseau)

    Number of available IP addresses = 2^(32 - prefix length) - 5
    Example : For 192.168.1.0/24: Prefix length is 24 Number of available IP addresses = 2^(32 - 24) - 5 = 2^8-5 = 251 IP addresses For 10.0.0.0/16: Prefix length is 16 Number of available IP addresses = 2^(32 - 16) - 5 = 2^16-5 = 65,531 IP addresses Quick reference: /24 = 251 IP addresses /16 = 65,531 IP addresses
  2. Créez un nouveau sous-réseau à l'aide du AWS EC2CLI.

    aws ec2 create-subnet --vpc-id <my-vpc-id> --cidr-block <cidr-block>

    Exemple (crée un sous-réseau avec 4 096) : IPs

    aws ec2 create-subnet --vpc-id my-vpc-id --cidr-block 10.0.0.0/20
  3. Créez un nouveau VPC connecteur. Voir : Gérer VPC l'accès

  4. Mettez à jour vos services avec le trafic sortant pour VPC activer l'utilisation de ce nouveau VPC connecteur. App Runner commencera à utiliser les nouveaux sous-réseaux une fois votre service mis à jour.

Note

VPCssont également limités par le nombre de fichiers disponibles IPs qui peuvent être alloués aux sous-réseaux par CIDR blocs. Si vous ne parvenez pas à créer des sous-réseaux avec des CIDR blocs plus grands, vous devrez peut-être les mettre à jour VPC avec des CIDR blocs secondaires avant de créer le ou les nouveaux sous-réseaux.

Fixer des CIDR blocs secondaires à votre VPC

Associez un CIDR bloc secondaire à celui-ciVPC.

aws ec2 associate-vpc-cidr-block --vpc-id <my-vpc-id> --cidr-block <cidr-block>

Exemple  :

aws ec2 associate-vpc-cidr-block --vpc-id my-vpc-id --cidr-block 10.1.0.0/16

Vérification

Une fois que vous avez mis à jour votre service. Vous pouvez utiliser les méthodes suivantes pour vérifier votre correctif

  1. Surveillez les journaux des événements : surveillez les journaux des événements de votre service App Runner pour vérifier qu'aucune nouvelle adresse IP ou erreur d'ENIindisponibilité ne s'affiche

  2. Vérifiez la mise à l'échelle du service :

    1. Augmentez complètement le service en modifiant le nombre minimum d'instances dans votre configuration de mise à l'échelle automatique

    2. Vérifiez que toutes les nouvelles instances sont lancées sans aucune erreur liée à l'adresse IP

    3. Surveillez plusieurs événements de dimensionnement pour garantir des performances constantes

  3. Bannière de console : si vous utilisez la console de AWS gestion, vérifiez qu'App Runner n'affiche plus de bannière signalant une insuffisanceIPs.

  4. VPCet utilisation de l'adresse IP du sous-réseau :

    1. Utilisez le VPC tableau de bord ou CLI les commandes pour vérifier l'utilisation des adresses IP dans vos nouveaux sous-réseaux.

    2. Vérifiez qu'il reste une bonne marge de disponibilité IPs après le déploiement de votre service

Pièges courants

Lorsque vous abordez le problème de l'épuisement des adresses IP dans les services App Runner, soyez conscient des problèmes potentiels suivants :

  1. Planification inadéquate des adresses IP : la sous-estimation des besoins futurs en matière de propriété intellectuelle peut entraîner des problèmes d'épuisement récurrents. Procédez à une planification approfondie des capacités, en tenant compte de la croissance potentielle des services et des scénarios d'utilisation maximale.

  2. VPCOublier l'utilisation d'une adresse IP étendue : n'oubliez pas que les autres AWS services du même VPC type consomment également des adresses IP. Tenez compte des exigences IP de tous les services lors de la planification de votre configuration VPC et de votre sous-réseau.

  3. Négliger de mettre à jour les services : après avoir créé de nouveaux sous-réseaux ou VPC connecteurs, assurez-vous de mettre à jour vos services App Runner pour utiliser les nouvelles configurations. Dans le cas contraire, l'utilisation de la plage IP épuisée se poursuivra.

  4. Mauvaise compréhension des chevauchements de CIDR blocs : lorsque vous ajoutez des CIDR blocs secondaires à unVPC, assurez-vous qu'ils ne se chevauchent pas avec les blocs existants. Le chevauchement CIDR des blocs peut entraîner des conflits de routage et une ambiguïté des adresses IP.

  5. Dépassement des VPC limites : sachez qu'un VPC peut comporter un maximum de 5 CIDR blocs (1 principal et 4 secondaires). Planifiez l'expansion de votre espace d'adressage IP en tenant compte de ces contraintes.

  6. Ignorer la distribution des sous-réseaux AZ : lors de la création de nouveaux sous-réseaux, assurez-vous qu'ils sont répartis sur plusieurs zones de disponibilité pour garantir une haute disponibilité et une tolérance aux pannes.

  7. ENIOublier les limites : n'oubliez pas que le nombre de personnes ENIs pouvant être associées aux instances est limité. Vérifiez que les limites de votre AWS compte correspondent à l'utilisation prévue de l'interface réseau.

En étant conscient de ces écueils, vous pouvez gérer plus efficacement vos VPC ressources et éviter les problèmes d'épuisement des adresses IP dans vos services App Runner.

Ressources supplémentaires

Glossaire

  1. ENI: Elastic Network Interface, une interface réseau virtuelle dansAWS.

  2. CIDR: routage interdomaine sans classe, méthode d'allocation d'adresses IP.

  3. VPCConnecteur : ressource qui permet à App Runner de se connecter à votreVPC.