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 seu VPCs, portanto, seus serviços públicos não são afetados por essa alteração.
Este guia ajuda a resolver erros de exaustão de IP que você pode encontrar nos serviços do App Runner com acesso à VPC para 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 ENI usa um IP privado nessa sub-rede. As sub-redes têm um número fixo de IPs disponíveis, dependendo do bloco CIDR associado a essa sub-rede. Se o App Runner não conseguir encontrar sub-redes suficientes IPs para criar uma ENI, 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 bloco CIDR associado a essa sub-rede. Os blocos CIDR associados a uma sub-rede não podem ser atualizados após a criação. Os conectores VPC 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 acesso à VPC para tráfego de saída ativado:
-
Crie novas sub-redes com um bloco CIDR maior.
-
Crie um novo conector VPC com a (s) nova (s) sub-rede (s).
-
Atualize seu serviço App Runner para usar o novo conector VPC.
Cálculo IPs necessário para seus serviços
Antes de tentar criar novas sub-redes com blocos CIDR 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:
-
Para cada serviço com acesso à VPC para tráfego de saída ativado, observe o tamanho máximo (máximo de instâncias) na configuração de auto scaling.
-
Some os valores em todos os serviços.
-
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 conector VPC.
-
O serviço A tem o tamanho máximo configurado como 25.
-
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)
-
Determine o tamanho do bloco CIDR necessário para IPv4 usar essa fórmula (observe que 5 IPs são reservados pela AWS: 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
-
Crie uma nova sub-rede usando a 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
-
Crie um novo conector VPC. Consulte: Gerenciar o acesso à VPC
-
Atualize seus serviços com tráfego de saída para a VPC habilitado para usar esse novo conector VPC. O App Runner começará a usar as novas sub-redes assim que seu serviço for atualizado.
nota
VPCs també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 blocos CIDR maiores, talvez seja necessário atualizar sua VPC com blocos CIDR secundários antes de criar as novas sub-redes.
Anexando blocos CIDR secundários à sua VPC
Associe o bloco CIDR secundário a essa VPC.
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
-
Monitore registros de eventos: monitore os registros de eventos do serviço App Runner para validar que nenhum novo erro de indisponibilidade de IP ou ENI apareça
-
Verifique o escalonamento do serviço:
-
Amplie totalmente o serviço alterando a contagem mínima de instâncias em sua configuração de escalonamento automático
-
Verifique se todas as novas instâncias foram iniciadas sem erros relacionados ao IP
-
Monitore vários eventos de escalabilidade para garantir um desempenho consistente
-
-
Banner do console: se você estiver usando o AWS Management Console, confirme se o App Runner não exibe mais um banner alertando sobre insuficiente IPs.
-
Utilização de VPC e IP de sub-rede:
-
Use o painel do VPC ou os comandos da CLI para verificar a utilização do endereço IP em suas novas sub-redes.
-
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:
-
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.
-
Ignorando o uso de IP em toda a VPC: lembre-se de que outros serviços da AWS dentro da mesma VPC também consomem endereços IP. Considere os requisitos de IP de todos os serviços ao planejar suas configurações de VPC e sub-rede.
-
Negligenciar a atualização de serviços: depois de criar novas sub-redes ou conectores VPC, certifique-se de atualizar seus 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.
-
Entendendo mal as sobreposições de blocos CIDR: ao adicionar blocos CIDR secundários a uma VPC, certifique-se de que eles não se sobreponham aos blocos existentes. A sobreposição de blocos CIDR pode causar conflitos de roteamento e ambiguidade no endereço IP.
-
Excedendo os limites da VPC: lembre-se de que uma VPC pode ter no máximo 5 blocos CIDR (1 primário e 4 secundário). Planeje a expansão do seu espaço de endereço IP dentro dessas restrições.
-
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.
-
Ignorando os limites de ENI: lembre-se de que há limites para o número ENIs que pode ser anexado às instâncias. Verifique se os limites da sua conta da AWS estão alinhados com o uso planejado da interface de rede.
Ao estar ciente dessas armadilhas, você pode gerenciar com mais eficiência seus recursos de VPC e evitar problemas de exaustão de IP nos serviços do App Runner.
Recursos adicionais
Glossário
-
ENI: Elastic Network Interface, uma interface de rede virtual na AWS.
-
CIDR: Roteamento entre domínios sem classe, um método para alocar endereços IP.
-
Conector VPC: um recurso que permite que o App Runner se conecte à sua VPC.