Crea un'architettura IPAM gerarchica e multiregionale utilizzando Terraform AWS - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea un'architettura IPAM gerarchica e multiregionale utilizzando Terraform AWS

Donny Schreiber, Amazon Web Services

Riepilogo

La gestione degli indirizzi IP (IPAM) è un componente fondamentale della gestione della rete e diventa sempre più complessa man mano che le organizzazioni scalano la propria infrastruttura cloud. Senza un IPAM adeguato, le organizzazioni rischiano conflitti di indirizzi IP, spreco di spazio di indirizzamento e risoluzione di problemi complessi che possono portare a interruzioni e tempi di inattività delle applicazioni. Questo modello dimostra come implementare una soluzione IPAM completa per ambienti aziendali utilizzando Terraform. AWS HashiCorp Aiuta le organizzazioni a creare un'architettura IPAM gerarchica e multiregionale che facilita la gestione centralizzata degli indirizzi IP in tutta l'organizzazione. Account AWSAWS

Questo modello ti aiuta a implementare Amazon VPC IP Address Manager con una sofisticata gerarchia di pool a quattro livelli: pool di primo livello, pool regionali, pool di unità aziendali e pool specifici per ambiente. Questa struttura supporta una corretta governance degli indirizzi IP, consentendo al contempo la delega della gestione degli IP ai team appropriati all'interno dell'organizzazione. La soluzione utilizza AWS Resource Access Manager (AWS RAM) per condividere senza problemi i pool di IP Address Manager in tutta l'organizzazione. AWS RAM centralizza e standardizza le specifiche IPAM, su cui i team possono basarsi per tutti gli account gestiti.

Questo modello può aiutarti a raggiungere i seguenti obiettivi:

  • Automatizza l'allocazione degli indirizzi IP tra Regioni AWS unità aziendali e ambienti.

  • Applica le politiche di rete organizzative attraverso la convalida programmatica.

  • Scala l'infrastruttura di rete in modo efficiente man mano che i requisiti aziendali si evolvono.

  • Riduci il sovraccarico operativo attraverso la gestione centralizzata degli spazi degli indirizzi IP.

  • Accelera le implementazioni dei carichi di lavoro nativi sul cloud con l'allocazione self-service della gamma CIDR.

  • Previeni i conflitti di indirizzo attraverso controlli e convalide basati su policy.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • IP Address Manager è soggetto a quote di servizio. La quota di servizio predefinita per i pool è 50 per ambito. L'esecuzione di questa distribuzione per 6 regioni, 2 unità aziendali e 4 ambienti creerebbe 67 pool. Pertanto, potrebbe essere necessario aumentare la quota.

  • La modifica o l'eliminazione dei pool di IP Address Manager dopo l'allocazione delle risorse può causare problemi di dipendenza. È necessario rilasciare l'allocazione prima di poter eliminare il pool.

  • In IP Address Manager, il monitoraggio delle risorse può subire un leggero ritardo nel riflettere le modifiche alle risorse. Questo ritardo può essere di circa 20 minuti.

  • IP Address Manager non può applicare automaticamente l'unicità dell'indirizzo IP in diversi ambiti.

  • I tag personalizzati devono rispettare le migliori pratiche di etichettatura.AWS Ad esempio, ogni chiave deve essere unica e non può iniziare con. aws:

  • Esistono considerazioni e limitazioni quando si integra IP Address Manager con account esterni all'organizzazione.

Architecture

Architettura Target

Configurazione e gerarchia dei pool di IP Address Manager

Il diagramma seguente mostra i costrutti logici dell'architettura di destinazione. Un ambito è il contenitore di livello più alto in IP Address Manager. Ogni ambito rappresenta lo spazio degli indirizzi IP per una singola rete. I pool sono raccolte di intervalli di indirizzi IP contigui (o intervalli CIDR) all'interno dell'ambito. I pool consentono di organizzare gli indirizzi IP in base alle esigenze di routing e sicurezza. Questo diagramma mostra quattro livelli gerarchici di pool: un pool di primo livello, pool regionali, pool di unità aziendali e pool di ambienti.

Un ambito privato e quattro livelli di pool in una singola regione AWS in un account di rete.

Questa soluzione stabilisce una chiara gerarchia di pool di IP Address Manager:

  1. Il pool di primo livello comprende l'intero spazio di indirizzi IP dell'organizzazione, ad esempio. 10.176.0.0/12

  2. I pool regionali sono destinati ad allocazioni specifiche della regione, ad esempio per. 10.176.0.0/15 us-east-1

  3. I pool di unità aziendali sono allocazioni specifiche del dominio all'interno di ciascuno di essi. Regione AWS Ad esempio, l'unità operativa finanziaria della regione potrebbe avere. us-east-1 10.176.0.0/16

  4. I pool di ambienti sono allocazioni specifiche per diversi ambienti. Ad esempio, l'unità operativa finanziaria della us-east-1 regione potrebbe disporre di un ambiente 10.176.0.0/18 di produzione.

Questa topologia di distribuzione distribuisce geograficamente le risorse di IP Address Manager mantenendo il controllo centralizzato. Le sue caratteristiche sono le seguenti:

  • IP Address Manager viene distribuito in un unico sistema primario Regione AWS.

  • Le regioni aggiuntive vengono registrate come aree operative, in cui IP Address Manager può gestire le risorse.

  • Ogni regione operativa riceve un pool di indirizzi dedicato dal pool di livello superiore.

  • Le risorse in tutte le regioni operative sono gestite centralmente tramite IP Address Manager nella regione principale.

  • Ogni pool regionale ha una proprietà locale legata alla relativa regione per aiutarti ad allocare correttamente le risorse.

Convalida avanzata dell'intervallo CIDR

Questa soluzione è progettata per impedire l'implementazione di configurazioni non valide. Quando si distribuiscono i pool tramite Terraform, durante la fase del piano Terraform viene convalidato quanto segue:

  • Verifica che tutti gli intervalli CIDR dell'ambiente siano contenuti negli intervalli CIDR dell'unità aziendale principale

  • Conferma che tutti gli intervalli CIDR delle unità aziendali sono contenuti negli intervalli CIDR regionali principali

  • Verifica che tutti gli intervalli CIDR regionali siano contenuti negli intervalli CIDR di primo livello

  • Verifica la presenza di intervalli CIDR sovrapposti all'interno dello stesso livello gerarchico

  • Convalida la corretta mappatura degli ambienti nelle rispettive unità aziendali

Allocazione dell'intervallo CIDR

Il diagramma seguente mostra un esempio di come gli sviluppatori o gli amministratori possono creare nuovi indirizzi IP VPCs e allocarli dai livelli del pool.

Un ambito privato e quattro livelli di pool in una singola regione AWS in un account di rete.

Il diagramma mostra il flusso di lavoro seguente:

  1. Tramite il AWS Management Console AWS CLI, o tramite infrastructure as code (IaC), uno sviluppatore o un amministratore richiede il successivo intervallo CIDR disponibile nel pool di AY3 ambienti.

  2. IP Address Manager alloca il successivo intervallo CIDR disponibile in quel pool al AY3-4 VPC. Questo intervallo CIDR non può più essere utilizzato.

Automazione e scalabilità

Questa soluzione è progettata per la scalabilità come segue:

  • Espansione regionale: aggiungi nuove regioni estendendo la configurazione Terraform con ulteriori voci del pool regionale.

  • Crescita delle unità aziendali: supporta nuove unità aziendali aggiungendole alla mappa di configurazione della BU.

  • Flessibilità dell'ambiente: configura diversi tipi di ambiente, come lo sviluppo o la produzione, in base alle esigenze organizzative.

  • Supporto per più account: condividi i pool tra tutti gli account dell'organizzazione tramite AWS RAM.

  • Provisioning VPC automatizzato: integrazione con i flussi di lavoro di provisioning VPC per automatizzare l'allocazione degli intervalli CIDR.

La struttura gerarchica consente inoltre diverse scale di delega e controllo, come le seguenti:

  • Gli amministratori di rete potrebbero gestire i pool di primo livello e quelli regionali.

  • I team IT delle unità aziendali potrebbero aver delegato il controllo dei rispettivi pool.

  • I team applicativi potrebbero utilizzare gli indirizzi IP dei pool di ambienti designati.

Nota

Puoi anche integrare questa soluzione con AWS Control Tower Account Factory for Terraform (AFT). Per ulteriori informazioni, vedere Integrazione con AFT nella sezione Informazioni aggiuntive di questo modello.

Tools (Strumenti)

Servizi AWS

  • Amazon ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.

  • AWS Command Line Interface (AWS CLI) è uno strumento open source che ti aiuta a interagire Servizi AWS tramite comandi nella shell della riga di comando.

  • AWS Organizationsè un servizio di gestione degli account che consente di consolidare più account Account AWS in un'organizzazione da creare e gestire centralmente.

  • AWS Resource Access Manager (AWS RAM) ti aiuta a condividere in modo sicuro le tue risorse Account AWS per ridurre il sovraccarico operativo e fornire visibilità e verificabilità.

  • Amazon Virtual Private Cloud (Amazon VPC) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una comune rete da gestire all'interno del proprio data center, ma con i vantaggi dell'infrastruttura scalabile di AWS. IP Address Manager è una funzionalità di Amazon VPC. Ti aiuta a pianificare, tracciare e monitorare gli indirizzi IP per i tuoi AWS carichi di lavoro.

Altri strumenti

  • HashiCorp Terraform è uno strumento Infrastructure as Code (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud.

Archivio di codici

Il codice per questo modello è disponibile nel Sample Terraform Implementation for Hierarchical IPAM sul repository on. AWS GitHub La struttura del repository include:

  • Modulo root: orchestrazione della distribuzione e variabili di input.

  • Modulo IPAM: implementazione principale dell'architettura descritta in questo modello.

  • Modulo Tags: etichettatura standardizzata per tutte le risorse.

Best practice

Considerate le seguenti best practice per la pianificazione della rete:

  • Pianifica prima: pianifica accuratamente lo spazio degli indirizzi IP prima dell'implementazione. Per ulteriori informazioni, consulta Piano per il provisioning degli indirizzi IP.

  • Evita la sovrapposizione degli intervalli CIDR: assicurati che gli intervalli CIDR di ogni livello non si sovrappongano.

  • Riserva spazio nel buffer: alloca sempre intervalli CIDR più ampi di quelli immediatamente necessari per far fronte alla crescita.

  • Documenta l'allocazione degli indirizzi IP: conserva la documentazione della tua strategia di allocazione degli indirizzi IP.

Considerate le seguenti best practice di implementazione:

  • Inizia con la non produzione: esegui prima l'implementazione in ambienti non di produzione.

  • Usa la gestione dello stato di Terraform: implementa l'archiviazione e il blocco dello stato remoti. Per ulteriori informazioni, consulta Archiviazione e blocco dello stato nella documentazione di Terraform.

  • Implementa il controllo della versione: controlla la versione di tutto il codice Terraform.

  • CI/CD Implementazione dell'integrazione: utilizza pipeline di integrazione continua e distribuzione continua (CI/CD) per implementazioni ripetibili.

Considerate le seguenti best practice operative:

Considerate le seguenti best practice di sicurezza:

Epiche

OperazioneDescriptionCompetenze richieste

Abilita AWS Organizations le funzionalità.

Assicurati che tutte AWS Organizations le funzionalità siano abilitate. Per istruzioni, vedi Abilitazione di tutte le funzionalità per un'organizzazione AWS Organizations nella AWS Organizations documentazione.

Amministratore AWS

Abilita la condivisione delle risorse in AWS RAM.

Utilizzando AWS CLI, inserisci il seguente comando per abilitare la condivisione AWS RAM delle risorse per la tua organizzazione:

aws ram enable-sharing-with-aws-organization

Per ulteriori informazioni, consulta Abilitare la condivisione delle risorse AWS Organizations nella AWS RAM documentazione.

Amministratore AWS

Designare un amministratore per IP Address Manager.

Dall'account di gestione dell'organizzazione, utilizzando AWS CLI, immettete il seguente comando, 123456789012 dov'è l'ID dell'account che amministrerà IP Address Manager:

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

In genere, un account di rete o di hub di rete viene utilizzato come amministratore delegato per IP Address Manager.

Per ulteriori informazioni, vedere Integrazione di IPAM con gli account di un' AWS organizzazione nella documentazione di IP Address Manager.

Amministratore AWS
OperazioneDescriptionCompetenze richieste

Definire l'architettura di rete.

Definite e documentate l'architettura di rete, compresi gli intervalli CIDR per regioni, unità aziendali e ambienti. Per ulteriori informazioni, consulta Piano per il provisioning degli indirizzi IP nella documentazione di IP Address Manager.

Ingegnere di rete

Clonare il repository.

  1. Immettete il seguente comando per clonare il repository sulla vostra workstation locale:

    git clone https://github.com/aws-samples/sample-amazon-vpc-ipam-terraform.git
  2. Immettete il seguente comando per navigare nella directory. terraform

DevOps ingegnere

Configura le variabili.

  1. Apri il file terraform.tfvars.

  2. Configura le variabili per la distribuzione di IP Address Manager. Per un esempio di file completato, consulta terraform.tfvars.example nel repository del codice.

  3. Salva e chiudi il file terraform.tfvars.

Ingegnere di rete, Terraform

Implementa le risorse di IP Address Manager.

  1. Inserisci il seguente comando per inizializzare Terraform:

    terraform init
  2. Inserisci il seguente comando per generare un piano di esecuzione:

    terraform plan
  3. Rivedi il piano e convalida le risorse e i componenti dell'infrastruttura che verranno creati.

  4. Immettere il seguente comando per distribuire l'infrastruttura:

    terraform apply
  5. Quando richiesto, inserisci yes per confermare la distribuzione.

  6. Attendi il completamento della distribuzione.

Terraform

Convalida la distribuzione.

  1. Accedi al tuo Account AWS, quindi apri la console di IP Address Manager.

  2. Nel pannello di navigazione, seleziona Pool.

  3. Nell'elenco dei pool, verifica che i pool configurati siano stati creati.

  4. Apri la AWS RAM console.

  5. Verifica che le risorse di IP Address Manager siano state condivise. Segui le istruzioni riportate nella sezione Visualizzazione delle condivisioni di risorse che hai creato nella AWS RAM documentazione.

General AWS, ingegnere di rete
OperazioneDescriptionCompetenze richieste

Crea un VPC.

Segui i passaggi in Creare un VPC nella documentazione di Amazon VPC. Quando raggiungi la fase di scelta di un intervallo CIDR per il VPC, alloca il successivo disponibile da uno dei tuoi pool regionali, aziendali e ambientali.

General AWS, amministratore di rete, ingegnere di rete

Convalida l'allocazione dell'intervallo CIDR.

  1. Aprire la console di IP Address Manager.

  2. Nel pannello di navigazione seleziona Pannello di controllo.

  3. Nella dashboard, verifica che l'intervallo CIDR sia stato allocato al VPC che hai creato.

General AWS, amministratore di rete, ingegnere di rete

Monitora il gestore degli indirizzi IP.

Configura il monitoraggio e gli allarmi relativi all'allocazione delle risorse di IP Address Manager. Per ulteriori informazioni e istruzioni, consulta Monitoraggio dell'IPAM con Amazon CloudWatch e Monitoraggio dell'utilizzo del CIDR per risorsa nella documentazione di IP Address Manager.

Informazioni generali su AWS

Imponi l'uso di IP Address Manager.

Crea una policy di controllo dei servizi (SCP) AWS Organizations che richieda ai membri dell'organizzazione di utilizzare IP Address Manager quando creano un VPC. Per istruzioni, consulta Implementare l'uso di IPAM per la creazione di VPC SCPs nella documentazione di IP Address Manager.

AWS generale, amministratore AWS

risoluzione dei problemi

ProblemaSoluzione

Terraform fallisce con la risorsa IP Address Manager non trovata

Assicurati che l'account amministratore di IP Address Manager sia delegato correttamente e che il tuo AWS provider sia autenticato su quell'account.

L'allocazione dell'intervallo CIDR non riesce

Verifica che l'intervallo CIDR richiesto rientri nell'intervallo disponibile del pool di IP Address Manager e non si sovrapponga alle allocazioni esistenti.

AWS RAM problemi di condivisione

Verifica che la condivisione delle risorse sia abilitata per la tua AWS organizzazione. Verifica che nella condivisione venga utilizzato il principale corretto, l'organizzazione Amazon Resource Name (ARN). AWS RAM

Errori di convalida della gerarchia del pool

Assicurati che gli intervalli CIDR del pool secondario siano contenuti correttamente negli intervalli CIDR del pool principale e non si sovrappongano ai pool di pari livello.

Il limite di quota di IP Address Manager è stato superato

Richiedere un aumento della quota per i pool di IP Address Manager. Per ulteriori informazioni, consulta Richiesta di un aumento delle quote nella Guida per l’utente di Service Quotas.

Risorse correlate

Servizio AWS documentazione

AWS post sul blog

Video e tutorial

Informazioni aggiuntive

Integrazione con AFT

Puoi integrare questa soluzione con AWS Control Tower Account Factory for Terraform (AFT) per assicurarti che gli account appena assegnati ricevano automaticamente le configurazioni di rete corrette. Implementando questa soluzione IPAM nell'account dell'hub di rete, i nuovi account creati tramite AFT possono fare riferimento ai pool di IP Address Manager condivisi durante la creazione. VPCs

Il seguente esempio di codice dimostra l'integrazione AFT nella personalizzazione di un account utilizzando Parameter Store: AWS Systems Manager

# 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" } }

Strategia di assegnazione tag

La soluzione implementa una strategia di tagging completa per facilitare la gestione delle risorse. Il seguente esempio di codice ne illustra l'utilizzo:

# 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" } }

Questi tag vengono applicati automaticamente a tutte le risorse di IP Address Manager. Ciò facilita la governance, l'allocazione dei costi e la gestione delle risorse coerenti.