Redes secundárias
Redes secundárias são redes virtuais criadas especificamente para casos de uso de redes especializadas. Essas redes são isoladas logicamente dentro das partições da Nuvem AWS. Você pode criar recursos como sub-redes secundárias em sua rede secundária. As redes secundárias são fortemente acopladas às Amazon VPCs, de forma que instâncias selecionadas são hospedadas em várias hospedagens e lançadas em uma VPC e em uma rede secundária.
Atualmente, as redes secundárias estão disponíveis para tipos de instância selecionados e por meio de reservas de capacidade com compromissos de longo prazo. Entre em contato com sua equipe de contas para obter mais informações se achar que redes secundárias podem ser benéficas para sua workload.
Conteúdo
O que são redes secundárias?
As redes secundárias fornecem uma rede lógica e isolada, usada em combinação com uma rede VPC, de forma que as instâncias sejam hospedadas em várias redes independentes. Os benefícios das redes secundárias incluem:
-
Redes de alto desempenho para casos de uso e protocolos especializados, como conectividade leste-oeste para workloads de ML
-
Suporte multilocatário com isolamento lógico
-
As instâncias se integram perfeitamente a VPCs e serviços da AWS
Principais conceitos
- Rede secundária
-
Um constructo de rede regional que fornece uma rede lógica de camada 3 com um bloco CIDR IPv4 (variando de /28 a /12). As redes secundárias operam independentemente das VPCs em uma infraestrutura de rede particionada fisicamente.
- Sub-rede secundária
-
Um constructo específico da zona de disponibilidade em uma rede secundária, semelhante às sub-redes VPC. As sub-redes secundárias suportam blocos CIDR que variam de /28 a /12.
- Interface secundária
-
Interfaces de rede conectadas a placas de rede secundárias, fornecendo conectividade leste-oeste em sub-redes secundárias. Essas interfaces são física e logicamente separadas das Interfaces de Rede Elástica (ENIs).
Arquitetura
As instâncias do EC2 que oferecem suporte a redes secundárias têm vários hospedeiros, o que significa que podem se comunicar simultaneamente em uma VPC e em uma rede secundária:
-
VPC: fornece conectividade TCP/IP norte-sul a serviços da AWS, armazenamento, bancos de dados, serviços de rede e Internet
-
Rede secundária: fornece conectividade leste-oeste entre instâncias especializadas compatíveis
Considerações adicionais
-
As interfaces secundárias são gerenciadas por meio de RunInstances e não podem ser criadas ou excluídas de forma independente.
-
As interfaces secundárias não podem ser anexadas/desanexadas depois que a instância é iniciada.
-
Os endereços IP das interfaces secundárias não podem ser alterados depois de iniciados.
-
Atributos da VPC, como grupos de segurança, NACLs e logs de fluxo, não são compatíveis com redes secundárias.
Introdução
Pré-requisitos
Antes de iniciar instâncias com redes secundárias, verifique se você também configurou sua VPC na região de destino e uma sub-rede na zona de disponibilidade desejada de sua capacidade do EC2.
Etapa 1: criar uma rede secundária
Crie uma rede secundária na mesma região da sua VPC. Esse é um recurso regional que fornece isolamento lógico para seu tráfego RDMA.
aws ec2 create-secondary-network \ --type rdma \ --ipv4-cidr-block 172.31.0.0/16 \ --region us-east-2
Parâmetros:
-
--type: tipo de rede (atualmente somente rdma é compatível) -
--ipv4-cidr-block: bloco CIDR IPv4 entre /28 e /12 -
--region: região da AWS (US-East-2)
nota
Prática recomendada: escolha um bloco CIDR que não se sobreponha ao CIDR da VPC para simplificar o roteamento no nível da instância.
Etapa 2: criar uma sub-rede secundária
Crie uma sub-rede secundária na mesma zona de disponibilidade da sua sub-rede VPC. Esse é um recurso específico do AZ.
aws ec2 create-secondary-subnet \ --secondary-network-id sn-1234567890abcdef0 \ --ipv4-cidr-block 172.31.24.0/24 \ --availability-zone us-east-2a
nota
Reserva de endereços IP: como sub-redes da VPC, a Amazon reserva os primeiros 4 endereços IP e o último endereço IP em cada sub-rede secundária para uso interno.
Etapa 3: iniciar uma instância
Inicie uma instância na sub-rede VPC e na sub-rede secundária. A instância terá vários hospedeiros com conectividade com as duas redes.
aws ec2 run-instances \ --image-id ami-12345678 \ --count 1 \ --instance-type <instance> \ --key-name MyKeyPair \ --instance-market-options '{"MarketType": "capacity-block"}' \ --capacity-reservation-specification '{"CapacityReservationTarget": \ {"CapacityReservationId": "cr-1234567890abcdef0"}}' \ --network-interfaces \ "NetworkCardIndex=0,DeviceIndex=0,Groups=sg-12345678,\ SubnetId=subnet-0987654321fedcba0,InterfaceType=interface" \ --secondary-interfaces \ "NetworkCardIndex=1,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=2,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=3,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=4,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=5,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=6,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=7,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=8,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true"
Principais parâmetros:
-
--network-interfaces: especifica o Nitro ENI primário para conectividade VPC (índice de placa de rede 0) -
--secondary-interfaces: especifica 8 interfaces secundárias para conectividade leste-oeste em sub-redes secundárias (índices de placa de rede de 1 a 8) -
InterfaceType=secondary: indica uma interface secundária
Gerenciar recursos de rede secundária
Noções básicas sobre redes secundárias
Visualizar detalhes sobre suas redes secundárias:
aws ec2 describe-secondary-networks \ --secondary-network-id sn-1234567890abcdef0
Noções básicas sobre as sub-redes secundárias
Visualizar detalhes sobre suas sub-redes secundárias:
aws ec2 describe-secondary-subnets \ --secondary-subnet-id ss-98765421yxz
Noções básicas sobre interfaces secundárias
Visualize os detalhes sobre as interfaces de rede secundárias conectadas às suas instâncias:
aws ec2 describe-secondary-interfaces \ --filters "Name=attachment.instance-id,Values=i-1234567890abcdef0"
Excluir recursos
Excluir uma sub-rede secundária:
aws ec2 delete-secondary-subnet \ --secondary-subnet-id ss-98765421yxz
Excluir uma rede secundária:
aws ec2 delete-secondary-network \ --secondary-network-id sn-1234567890abcdef0
Importante
Você deve encerrar todas as instâncias e excluir todas as sub-redes secundárias antes de excluir uma rede secundária.
Práticas recomendadas de projeto de rede
Planejamento CIDR
Evite a sobreposição de CIDRs: embora as redes secundárias estejam fisicamente isoladas das VPCs, o uso de blocos CIDR não sobrepostos simplifica a configuração de roteamento no nível do sistema operacional da instância.
nota
A Amazon reserva 5 endereços IP por sub-rede.
Segmentação de tráfego
Segregar por rede secundária: crie redes secundárias separadas para diferentes projetos, equipes ou limites de segurança. As redes secundárias fornecem isolamento lógico entre instâncias. As instâncias não podem se comunicar em diferentes redes secundárias.
Use várias sub-redes: em uma rede secundária, use várias sub-redes secundárias para segmentar o tráfego por índice de GPU, zona de disponibilidade ou tipo de workload. Como exemplo, um padrão de arquitetura comum é implantar uma única rede secundária com 4 ou 8 sub-redes secundárias, onde cada sub-rede secundária está alinhada a um grupo de GPUs de índices comuns.
Solução de problemas
Falhas ao iniciar a instância
Problema: falhas na inicialização da instância com interfaces de rede secundária.
Soluções:
-
Verifique se sua AMI inclui suporte adequado ao driver
-
Verifique se sua sub-rede secundária tem endereços IP disponíveis suficientes
-
Confirme se sua reserva de capacidade está no estado “ativo”
-
Verifique se sua sub-rede secundária está na mesma zona de disponibilidade que sua sub-rede VPC
Problemas de conectividade
Problema: não foi possível estabelecer conectividade RDMA entre instâncias.
Soluções:
-
Verifique se todas as instâncias estão na mesma rede secundária e sub-rede secundária
-
Verifique se os drivers da interface secundária estão carregados corretamente na instância
-
Verifique se sua aplicação está vinculada às interfaces de rede corretas
-
As instâncias dentro da mesma sub-rede secundária podem ser acessadas por meio de rotas diretas. A comunicação entre sub-redes está disponível por meio de uma rota estática fornecida via DHCP.
Erros de API
Problema: as chamadas de API para operações de rede secundária e sub-rede secundária falham.
Soluções:
-
Verifique as permissões do IAM para ec2:CreateSecondaryNetwork, ec2:CreateSecondarySubnet etc.
-
Verifique se os blocos CIDR estão dentro do intervalo suportado (/28 a /12)
-
Verifique se você está usando a região e zona de disponibilidade corretas
Cotas e limites
Para solicitar um aumento de cota, use o AWSService Quotas ou entre em contato com o AWS Support.
| Recurso | Limite | Ajustável |
|---|---|---|
| Redes secundárias por região | 5 | Sim |
| Sub-redes secundárias por rede secundária | 200 | Sim |
| Tamanho do bloco CIDR | /28 a /12 | Não |