Crie uma arquitetura IPAM hierárquica e multirregional usando o Terraform AWS - Recomendações da AWS

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á.

Crie uma arquitetura IPAM hierárquica e multirregional usando o Terraform AWS

Donny Schreiber, Amazon Web Services

Resumo

O Gerenciamento de endereços IP (IPAM) é um componente essencial do gerenciamento de rede e se torna cada vez mais complexo à medida que as organizações escalam sua infraestrutura de nuvem. Sem o IPAM adequado, as organizações correm o risco de conflitos de endereço IP, desperdício de espaço de endereço e solução complexa de problemas que podem levar a interrupções e tempo de inatividade das aplicações. Esse padrão demonstra como implementar uma solução IPAM abrangente para ambientes AWS corporativos usando HashiCorp o Terraform. Ele ajuda as organizações a criar uma arquitetura IPAM hierárquica e multirregional que facilita o gerenciamento centralizado de endereços IP em toda a organização. Contas da AWSAWS

Este padrão ajuda você a implementar o Gerenciador de endereços IP da Amazon VPC com uma sofisticada hierarquia de quatro camadas: pool de nível superior, pools regionais, pools de unidades de negócios e pools específicos do ambiente. Essa estrutura oferece suporte à governança adequada de endereços IP e, ao mesmo tempo, permite a delegação do gerenciamento de IP às equipes apropriadas da organização. A solução usa AWS Resource Access Manager (AWS RAM) para compartilhar facilmente os pools do IP Address Manager em toda a organização. AWS RAM centraliza e padroniza as especificações do IPAM, que as equipes podem usar em todas as contas gerenciadas.

Com este padrão você pode fazer o seguinte:

  • Automatize a alocação de endereços IP entre Regiões da AWS unidades de negócios e ambientes.

  • Impor as políticas de rede organizacional por meio da validação programática.

  • Dimensionar a infraestrutura de rede com eficiência à medida que os requisitos de negócios evoluem.

  • Reduzir a sobrecarga operacional por meio do gerenciamento centralizado de espaços de endereço IP.

  • Acelerar as implantações de workloads nativas da nuvem com alocação de faixa CIDR de autoatendimento.

  • Evitar conflitos de endereço por meio de controles e validação baseados em políticas.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • O Gerenciador de Endereços IP está sujeito às cotas de serviço. A cota de serviço padrão para pools é de 50 por escopo. Executar essa implantação em seis regiões, duas unidades de negócios e quatro ambientes criaria 67 pools. Portanto, um aumento de cota pode ser necessário.

  • Modificar ou excluir os pools do Gerenciador de Endereços IP após a alocação dos recursos pode causar problemas de dependência. É necessário liberar as alocações antes para que o grupo possa ser excluído.

  • No Gerenciador de Endereços IP, o monitoramento de recursos pode sofrer um pequeno atraso ao refletir as alterações nos recursos. Esse atraso pode ser de aproximadamente 20 minutos.

  • O Gerenciador de Endereços IP não pode impor automaticamente a exclusividade do endereço IP em diferentes escopos.

  • As marcações personalizadas devem seguir as Práticas recomendadas de marcação da AWS. Por exemplo, cada chave deve ser única e não pode começar com aws:.

  • Existem considerações e limitações ao integrar o Gerenciador de endeçoes IP a contas fora da sua organização.

Arquitetura

Arquitetura de destino

Configuração do Gerenciador de endereços IP e hierarquia do pool

O diagrama abaixo mostra os constructos lógicos da arquitetura de destino. Um escopo é o contêiner de nível mais alto no Gerenciador de endereços IP. Cada escopo representa o espaço de endereços IP de uma única rede. Os pools são coleções de intervalos de endereços IP contíguos (ou intervalos CIDR) dentro do escopo. Os grupos ajudam você a organizar os endereços IP de acordo com suas necessidades de roteamento e segurança. Este diagrama mostra quatro níveis hierárquicos de pools: um pool de nível superior, pools regionais, pools de unidades de negócios e pools de ambientes.

Um escopo privado e quatro níveis de pools em uma única região da AWS em uma conta de rede.

Essa solução estabelece uma hierarquia clara dos pools do Gerenciador de Endereços IP:

  1. O pool de nível superior abrange todo o espaço de endereços IP organizacionais, como 10.176.0.0/12.

  2. Os pools regionais são para alocações específicas da região, como para 10.176.0.0/15 e us-east-1.

  3. Os pools de unidades de negócios são alocações específicas de domínio dentro de cada um. Região da AWS Por exemplo, a unidade de negócios financeiros da Região us-east-1 pode ter 10.176.0.0/16.

  4. Os pools de ambientes são alocações específicas para diferentes ambientes. Por exemplo, a unidade de negócios financeiros da Região us-east-1 pode ter 10.176.0.0/18 como um ambiente de produção.

Essa topologia de implantação distribui geograficamente os recursos do Gerenciador de endereços IP, mantendo o controle centralizado. Seguem abaixo seus recursos:

  • O IP Address Manager é implantado em um único sistema primário Região da AWS.

  • Regiões adicionais são registradas como regiões operacionais, nas quais o Gerenciador de endereços IP pode gerenciar recursos.

  • Cada região operacional recebe um pool de endereços dedicado do pool de nível superior.

  • Os recursos em todas as regiões operacionais são gerenciados centralmente por meio do Gerenciador de endereços IP na região principal.

  • Cada pool regional tem uma propriedade local vinculada à sua região para ajudá-lo a alocar recursos adequadamente.

Validação avançada do intervalo CIDR

Essa solução foi projetada para impedir a implantação de configurações inválidas. Quando você implanta os pools por meio do Terraform, o seguinte é validado durante a fase de planejamento do Terraform:

  • Valida se todos os intervalos CIDR do ambiente estão contidos nos intervalos CIDR da unidade de negócios principal

  • Confirma que todos os intervalos de CIDR da unidade de negócios estão contidos em seus intervalos de CIDR regionais principais

  • Verifica se todos os intervalos CIDR regionais estão contidos nos intervalos CIDR de nível superior

  • Verifica a sobreposição de intervalos CIDR dentro do mesmo nível hierárquico

  • Valida o mapeamento adequado dos ambientes para suas respectivas unidades de negócios

Alocação do intervalo CIDR

O diagrama a seguir mostra um exemplo de como desenvolvedores ou administradores podem criar novos endereços IP VPCs e alocá-los a partir dos níveis do pool.

Um escopo privado e quatro níveis de pools em uma única região da AWS em uma conta de rede.

O diagrama mostra o seguinte fluxo de trabalho:

  1. Por meio do Console de gerenciamento da AWS AWS CLI, ou por meio da infraestrutura como código (IaC), um desenvolvedor ou administrador solicita a próxima faixa de CIDR disponível no pool do AY3 ambiente.

  2. O Gerenciador de endereços IP aloca o próximo intervalo CIDR disponível nesse pool para a VPC AY3-4. Esse intervalo CIDR não pode mais ser usado.

Automação e escala

Essa solução foi projetada para ser escalável da seguinte forma:

  • Expansão regional: adicione novas regiões estendendo a configuração do Terraform com entradas adicionais do pool regional.

  • Crescimento da unidade de negócios: ofereça suporte para novas unidades de negócios adicionando-as ao mapa de configuração da BU.

  • Flexibilidade do ambiente: configure diferentes tipos de ambiente, como desenvolvimento ou produção, com base nas necessidades organizacionais.

  • Suporte para várias contas — compartilhe pools em todas as contas da sua organização por meio AWS RAM de.

  • Provisionamento automatizado de VPC: Integre-se aos fluxos de trabalho de provisionamento de VPC para automatizar a alocação de intervalos de CIDR.

A estrutura hierárquica também permite diferentes escalas de delegação e controle, como as seguintes:

  • Os administradores de rede podem gerenciar os pools regionais e de nível superior.

  • As equipes de TI da unidade de negócios podem ter delegado o controle de seus respectivos pools.

  • As equipes de aplicações podem consumir endereços IP de seus pools de ambientes designados.

nota

Você também pode integrar essa solução ao AWS Control Tower Account Factory for Terraform (AFT). Para obter mais informações, consulte Integração com o AFT na seção Informações adicionais deste padrão.

Ferramentas

Serviços da AWS

  • CloudWatchA Amazon ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.

  • AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.

  • AWS Organizationsé um serviço de gerenciamento de contas que ajuda você a consolidar várias Contas da AWS em uma organização que você cria e gerencia centralmente.

  • AWS Resource Access Manager (AWS RAM) ajuda você a compartilhar seus recursos com segurança Contas da AWS para reduzir a sobrecarga operacional e fornecer visibilidade e auditabilidade.

  • A Amazon Virtual Private Cloud (Amazon VPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS. O Gerenciador de endereços IP é um recurso da Amazon VPC. Ele ajuda você a planejar, rastrear e monitorar endereços IP para suas AWS cargas de trabalho.

Outras ferramentas

  • O HashiCorp Terraform é uma ferramenta de infraestrutura como código (IaC) que ajuda a provisionar e gerenciar recursos e infraestrutura de nuvem por meio de código.

Repositório de código

O código desse padrão está disponível no Sample Terraform Implementation for Hierarchical IPAM no repositório em. AWS GitHub A estrutura do repositório inclui:

  • Módulo raiz: orquestração de implantação e variáveis de entrada.

  • Módulo IPAM: implementação principal da arquitetura descrita neste padrão.

  • Módulo de marcações: marcação padronizada para todos os recursos.

Práticas recomendadas

Considere as seguintes práticas recomendadas para o planejamento de rede:

  • Planeje primeiro: planeje minuciosamente seu espaço de endereço IP antes da implantação. Para obter mais informações, consulte Planejar o provisionamento de endereços IP.

  • Evite intervalos CIDR sobrepostos: certifique-se de que os intervalos CIDR em cada nível não se sobreponham.

  • Reserve espaço no buffer: sempre aloque intervalos de CIDR maiores do que os necessários imediatamente para acomodar o crescimento.

  • Documente a alocação de endereços IP: mantenha a documentação da sua estratégia de alocação de endereços IP.

Considere as seguintes práticas recomendadas de implantação:

  • Comece pela não produção: implante primeiro em ambientes que não sejam de produção.

  • Use o gerenciamento de estado do Terraform: implemente armazenamento e bloqueio de estados remotos. Para obter mais informações, consulte State storage and locking na documentação do Terraform.

  • Implemente o controle de versão: controle a versão de todo o código do Terraform.

  • Implemente a CI/CD integração — use pipelines de integração contínua e entrega contínua (CI/CD) para implantações reproduzíveis.

Considere as seguintes práticas recomendadas operacionais:

  • Habilite a importação automática: configure um pool do Gerenciador de Endereços IP para descobrir e importar automaticamente os recursos existentes. Siga as instruções em Editar um pool IPAM para ativar a importação automática.

  • Monitore a utilização de endereços IP: configure alarmes para os limites de utilização de endereços IP. Para obter mais informações, consulte Monitorar IPAM com a Amazon CloudWatch.

  • Audite regularmente: audite periodicamente o uso e a conformidade de endereços IP. Para obter mais informações, consulte Rastrear uso de endereços IP no IPAM.

  • Limpe as alocações não utilizadas: libere as alocações de endereços IP quando os recursos forem desativados. Para obter mais informações, consulte Desprovisionamento CIDRs de um pool.

Considere as seguintes práticas recomendadas de segurança:

Épicos

TarefaDescriptionHabilidades necessárias

Ative AWS Organizations os recursos.

Certifique-se de que AWS Organizations todos os recursos estejam ativados. Para obter instruções, consulte Habilitando todos os recursos de uma organização AWS Organizations na AWS Organizations documentação.

Administrador da AWS

Ative o compartilhamento de recursos em AWS RAM.

Usando o AWS CLI, digite o seguinte comando para habilitar o compartilhamento de AWS RAM recursos para sua organização:

aws ram enable-sharing-with-aws-organization

Para obter mais informações, consulte Habilitar o compartilhamento de recursos AWS Organizations na AWS RAM documentação.

Administrador da AWS

Designe um administrador para o Gerenciador de Endereços IP.

Na conta de gerenciamento da organização, usando o AWS CLI, digite o seguinte comando, onde 123456789012 está o ID da conta que administrará o IP Address Manager:

aws ec2 enable-ipam-organization-admin-account \ --delegated-admin-account-id 123456789012
nota

Normalmente, uma conta de rede ou hub de rede é usado como administrador delegado do Gerenciador de endereços IP.

Para obter mais informações, consulte Integrar IPAM com contas em uma AWS organização na documentação do IP Address Manager.

Administrador da AWS
TarefaDescriptionHabilidades necessárias

Defina a arquitetura da rede.

Defina e documente sua arquitetura de rede, incluindo os intervalos de CIDR para regiões, unidades de negócios e ambientes. Para obter mais informações, consulte Planejar o provisionamento de endereços IPna documentação do Gerenciador de endereços IP.

Engenheiro de rede

Clonar o repositório.

  1. Insira o seguinte comando para clonar o repositório na sua estação de trabalho local:

    git clone https://github.com/aws-samples/sample-amazon-vpc-ipam-terraform.git
  2. Insira o seguinte comando para navegar até o diretório terraform:

DevOps engenheiro

Configure as variáveis.

  1. Atualize o arquivo terraform.tfvars.

  2. Configure as variáveis para sua implantação do Gerenciador de endereços IP. Para ver um exemplo de um arquivo completo, consulte terraform.tfvars.example no repositório de código.

  3. Salve e feche o arquivo terraform.tfvars.

Engenheiro de rede, Terraform

Implante os recursos do Gerenciador de Endereços IP.

  1. Insira o seguinte comando para inicializar o Terraform:

    terraform init
  2. Insira o seguinte comando para gerar um plano de execução:

    terraform plan
  3. Revise o plano e valide os recursos e os componentes da infraestrutura que serão criados.

  4. Insira o seguinte comando para implantar a infraestrutura:

    terraform apply
  5. Quando solicitado, insira sim para confirmar a implantação.

  6. Espere até que a implantação seja concluída.

Terraform

Valide a implantação.

  1. Faça login no seu e Conta da AWS, em seguida, abra o console do Gerenciador de Endereços IP.

  2. No painel de navegação, selecione Pools (Grupos).

  3. Na lista de pools, verifique se os pools que você configurou foram criados.

  4. Abra o console do AWS RAM.

  5. Verifique se os recursos do Gerenciador de Endereços IP foram compartilhados. Siga as instruções em Visualização de compartilhamentos de recursos que você criou na AWS RAM documentação.

AWS geral, engenheiro de rede
TarefaDescriptionHabilidades necessárias

Crie uma VPC.

Siga as etapas em Criar uma VPC na documentação da Amazon VPC. Ao chegar à etapa de escolher um intervalo CIDR para a VPC, aloque o próximo disponível de um de seus grupos regionais, de unidades de negócios e ambientes.

AWS geral, administrador de rede, engenheiro de rede

Valide a alocação do intervalo CIDR.

  1. Abra o console do Gerenciador de Endereços IP.

  2. No painel de navegação, escolha Painel.

  3. No painel, verifique se o intervalo CIDR foi alocado para a VPC que você criou.

AWS geral, administrador de rede, engenheiro de rede

Monitore o Gerenciador de endereços IP.

Configure o monitoramento e os alarmes relacionados à alocação de recursos do Gerenciador de endereços IP. Para obter mais informações e instruções, consulte Monitorar o IPAM com a Amazon CloudWatch e monitorar o uso do CIDR por recurso na documentação do IP Address Manager.

AWS geral

Imponha o uso do Gerenciador de endereços IP.

Crie uma política de controle de serviço (SCP) AWS Organizations que exija que os membros da sua organização usem o IP Address Manager ao criar uma VPC. Para obter instruções, consulte Impor o uso do IPAM para criação de VPC SCPs na documentação do IP Address Manager.

AWS geral, administrador da AWS

Solução de problemas

ProblemaSolução

O Terraform falha com o recurso Gerenciador de endereços IP não encontrado

Certifique-se de que a conta do administrador do IP Address Manager esteja devidamente delegada e que seu AWS provedor esteja autenticado nessa conta.

A alocação do intervalo CIDR falha

Verifique se o intervalo CIDR solicitado se encaixa no intervalo disponível do pool do Gerenciador de endereços IP e não se sobrepõe às alocações existentes.

AWS RAM problemas de compartilhamento

Verifique se o compartilhamento de recursos está habilitado para sua AWS organização. Verifique se o principal correto, o Amazon Resource Name (ARN) da organização, é usado no AWS RAM compartilhamento.

Erros de validação de hierarquia de pools

Certifique-se de que os intervalos CIDR do pool secundário estejam adequadamente contidos nos intervalos CIDR do pool principal e não se sobreponham aos grupos irmãos.

Limite de cota do Gerenciador de endereços IP excedido

Solicite um aumento de cota para pools do Gerenciador de endereços IP. Para obter mais informações, consulte Solicitando um Aumento de Cota no Guia do Usuário do Service Quotas.

Recursos relacionados

AWS service (Serviço da AWS) documentação

AWS postagens no blog

Vídeos e tutoriais

Mais informações

Integração com o AFT

Você pode integrar essa solução ao AWS Control Tower Account Factory for Terraform (AFT) para garantir que as contas recém-provisionadas recebam automaticamente as configurações de rede adequadas. Ao implantar essa solução IPAM em sua conta do hub de rede, novas contas criadas por meio do AFT podem fazer referência aos pools compartilhados do Gerenciador de Endereços IP quando você cria. VPCs

O exemplo de código a seguir demonstra a integração do AFT em uma personalização de conta usando o AWS Systems Manager Parameter Store:

# Get the IP Address Manager pool ID from Parameter Store data "aws_ssm_parameter" "dev_ipam_pool_id" { name = "/org/network/ipam/finance/dev/pool-id" } # Create a VPC using the IP Address Manager pool resource "aws_vpc" "this" { ipv4_ipam_pool_id = data.aws_ssm_parameter.dev_ipam_pool_id.value ipv4_netmask_length = 24 tags = { Name = "aft-account-vpc" } }

Estratégia de marcação

A solução implementa uma estratégia abrangente de marcação para facilitar o gerenciamento de recursos. O exemplo de código a seguir demonstra como ele é usado:

# Example tag configuration module "tags" { source = "./modules/tags" # Required tags product_name = "enterprise-network" feature_name = "ipam" org_id = "finance" business_unit = "network-operations" owner = "network-team" environment = "prod" repo = "https://github.com/myorg/ipam-terraform" branch = "main" cost_center = "123456" dr_tier = "tier1" # Optional tags optional_tags = { "project" = "network-modernization" "stack_role" = "infrastructure" } }

Essas marcações são aplicadas automaticamente a todos os recursos do Gerenciador de endereços IP. Isso facilita a governança consistente, a alocação de custos e o gerenciamento de recursos.