Quando não há endereços IP suficientes para iniciar instâncias ou escalar - AWS App Runner

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Quando não há endereços IP suficientes para iniciar instâncias ou escalar

nota

Para serviços públicos, o App Runner não cria uma interface de rede elástica (ENI) no seuVPCs, portanto, seus serviços públicos não são afetados por essa alteração.

Este guia ajuda você a resolver erros de exaustão de IP que você pode encontrar nos serviços do App Runner com VPC acesso ao tráfego de saída ativado.

O App Runner iniciará instâncias nas sub-redes associadas ao seu conector. VPC O App Runner cria 1 ENI por instância na sub-rede em que sua instância é executada. Cada um ENI usa um IP privado nessa sub-rede. As sub-redes têm um número fixo de IPs disponíveis, dependendo do CIDR bloco associado a essa sub-rede. Se o App Runner não conseguir encontrar sub-redes suficientes IPs para criar umaENI, ele falhará ao iniciar novas instâncias para seu serviço App Runner. Isso pode levar a problemas com a expansão de seus serviços. Nesses casos, você verá os registros de eventos do App Runner indicando que o App Runner não consegue encontrar sub-redes disponíveis. IPs Você pode atualizar seus serviços com as instruções abaixo para resolver esses erros.

Como atualizar seus serviços para ter mais serviços disponíveis IPs

O número de endereços IP disponíveis em uma sub-rede é baseado no CIDR bloco associado a essa sub-rede. CIDRblocos associados a uma sub-rede não podem ser atualizados após a criação. VPCOs conectores do App Runner também não podem ser atualizados depois de criados. Para fornecer mais IPs aos seus serviços do App Runner com VPC acesso ao tráfego de saída ativado:

  1. Crie novas sub-redes com um CIDR bloco maior.

  2. Crie um novo VPC conector com a (s) nova (s) sub-rede (s).

  3. Atualize seu serviço App Runner para usar o novo VPC conector.

Cálculo IPs necessário para seus serviços

Antes de tentar criar novas sub-redes com CIDR blocos maiores, determine o número necessário em seus serviços do IPs App Runner. Recomendamos calcular o número IPs necessário em seu conector da seguinte forma:

  1. Para cada serviço com VPC acesso ao tráfego de saída ativado, observe o tamanho máximo (máximo de instâncias) na configuração de auto scaling.

  2. Some os valores em todos os serviços.

  3. Duplique essa soma para contabilizar as novas instâncias lançadas durante implantações azul-esverdeadas.

Exemplo

Considere dois serviços A e B usando o mesmo VPC conector.

  1. O serviço A tem o tamanho máximo configurado como 25.

  2. O serviço B tem tamanho máximo configurado como 15.

Obrigatório IPs = 2 × (25 + 15) = 80

Certifique-se de que suas sub-redes tenham pelo menos 80 disponíveis IPs combinadas.

Criar nova (s) sub-rede (s)

  1. Determine o tamanho do CIDR bloco necessário para IPv4 usar essa fórmula (observe que 5 IPs são reservados porAWS: Dimensionamento de sub-rede)

    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. Crie uma nova sub-rede usando o. AWS EC2 CLI

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

    Exemplo (cria uma sub-rede com 4.096): IPs

    aws ec2 create-subnet --vpc-id my-vpc-id --cidr-block 10.0.0.0/20
  3. Crie um novo VPC conector. Consulte: Gerenciar VPC acesso

  4. Atualize seus serviços com tráfego de saída para VPC habilitar o uso desse novo VPC conector. O App Runner começará a usar as novas sub-redes assim que seu serviço for atualizado.

nota

VPCstambém são limitados ao número de disponíveis IPs que podem ser alocados às sub-redes por blocos. CIDR Se você não conseguir criar sub-redes com CIDR blocos maiores, talvez seja necessário atualizá-las com CIDR blocos secundários antes de criar a (s) nova (s) sub-rede (s). VPC

Anexando CIDR blocos secundários ao seu VPC

Associe o CIDR bloco secundário a issoVPC.

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

Exemplo de :

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

Verificação

Depois de atualizar seu serviço. Você pode usar o seguinte para realizar a verificação de sua correção

  1. Monitore registros de eventos: monitore os registros de eventos do serviço App Runner para validar se nenhum novo IP ou erros de ENI indisponibilidade aparecem

  2. Verifique o escalonamento do serviço:

    1. Amplie totalmente o serviço alterando a contagem mínima de instâncias em sua configuração de escalonamento automático

    2. Verifique se todas as novas instâncias foram iniciadas sem erros relacionados ao IP

    3. Monitore vários eventos de escalabilidade para garantir um desempenho consistente

  3. Banner do console: se você estiver usando o AWS Management Console, confirme se o App Runner não exibe mais um banner avisando sobre insuficienteIPs.

  4. VPCe utilização do IP da sub-rede:

    1. Use o VPC painel ou CLI os comandos para verificar a utilização do endereço IP em suas novas sub-redes.

    2. Confirme se ainda há uma boa margem de disponibilidade IPs após a expansão do seu serviço

Armadilhas comuns

Ao abordar a exaustão de IP nos serviços do App Runner, esteja ciente desses possíveis problemas:

  1. Planejamento inadequado de endereços IP: subestimar as necessidades futuras de IP pode levar a problemas recorrentes de exaustão. Conduza um planejamento completo da capacidade, considerando o potencial crescimento do serviço e os cenários de pico de uso.

  2. Ignorando o uso de IP em VPC todo o mundo: lembre-se de que outros AWS serviços dentro do mesmo VPC também consomem endereços IP. Considere os requisitos de IP de todos os serviços ao planejar suas configurações VPC e de sub-rede.

  3. Negligenciar a atualização dos serviços: depois de criar novas sub-redes ou VPC conectores, certifique-se de atualizar os serviços do App Runner para usar as novas configurações. Não fazer isso resultará no uso contínuo do intervalo de IP esgotado.

  4. Entendendo mal CIDR as sobreposições de blocos: ao adicionar CIDR blocos secundários a umVPC, certifique-se de que eles não se sobreponham aos blocos existentes. CIDRBlocos sobrepostos podem causar conflitos de roteamento e ambiguidade no endereço IP.

  5. Excedendo VPC os limites: Esteja ciente de que a VPC pode ter no máximo 5 CIDR blocos (1 primário e 4 secundário). Planeje a expansão do seu espaço de endereço IP dentro dessas restrições.

  6. Ignorando a distribuição AZ da sub-rede: ao criar novas sub-redes, certifique-se de que elas sejam distribuídas em várias zonas de disponibilidade para obter alta disponibilidade e tolerância a falhas.

  7. ENIIgnorando os limites: lembre-se de que há limites para o número ENIs que pode ser anexado às instâncias. Verifique se os limites AWS da sua conta estão alinhados com o uso planejado da interface de rede.

Ao estar ciente dessas armadilhas, você pode gerenciar seus VPC recursos com mais eficiência e evitar problemas de exaustão de IP nos serviços do App Runner.

Recursos adicionais

Glossário

  1. ENI: Elastic Network Interface, uma interface de rede virtual emAWS.

  2. CIDR: Roteamento entre domínios sem classe, um método para alocar endereços IP.

  3. VPCConector: um recurso que permite que o App Runner se conecte ao seuVPC.