Nozioni di base per l’utilizzo della CLI AWS con IPAM
Questo tutorial illustra la procedura di configurazione e utilizzo di Gestione indirizzi IP (IPAM) di Amazon VPC con la CLI AWS utilizzando un unico account AWS. Al termine di questo tutorial, avrai creato un IPAM, creato una gerarchia di pool di indirizzi IP e assegnato un CIDR a un VPC.
Prerequisiti
Prima di iniziare questo tutorial, assicurati di disporre dei seguenti elementi:
-
Un account AWS con le autorizzazioni necessarie per creare e gestire risorse IPAM.
-
La CLI AWS installata e configurata con le credenziali appropriate. Per informazioni sull’installazione della CLI AWS, consulta Installing or updating the latest version of the AWS CLI . Per informazioni sulla configurazione della CLI AWS, consulta Configuration basics.
-
Conoscenza di base dell’assegnazione di indirizzi IP e della notazione CIDR.
-
Conoscenza di base dei concetti relativi ad Amazon VPC.
-
Per terminare il tutorial saranno necessari circa 30 minuti.
Crea un IPAM
La prima cosa da fare è creare un IPAM con regioni operative. Un IPAM ti aiuterà a pianificare, tracciare e monitorare gli indirizzi IP per i carichi di lavoro AWS.
Crea un IPAM con regioni operative in us-east-1 e us-west-2:
aws ec2 create-ipam \ --description "My IPAM" \ --operating-regions RegionName=us-east-1 RegionName=us-west-2
Questo comando crea un IPAM e gli consente di gestire gli indirizzi IP nelle regioni indicate. Le regioni operative sono le regioni AWS in cui l’IPAM è autorizzato a gestire i CIDR degli indirizzi IP.
Verifica che il tuo IPAM sia stato creato:
aws ec2 describe-ipams
Annota l’ID IPAM ricevuto in base all’output, perché avrai bisogno di utilizzarlo in seguito.
Attendi che venga completata la creazione dell’IPAM e che questo sia disponibile (circa 20 secondi):
sleep 20
Ottieni l’ID dell’ambito IPAM
Quando viene creato un IPAM, AWS crea automaticamente un ambito privato e uno pubblico. Per questo tutorial verrà illustrato l’utilizzo dell’ambito privato.
Recupera i dettagli DELL’IPAM ed estrai l’ID dell’ambito privato:
aws ec2 describe-ipams --ipam-id ipam-0abcd1234
Sostituisci ipam-0abcd1234 con l’ID effettivo dell’IPAM.
In base all’output, identifica e annota l’ID dell’ambito privato disponibile nel campo PrivateDefaultScopeId. L'aspetto sarà simile a ipam-scope-0abcd1234.
Come creare un pool di livello superiore IPv4
Adesso creermo un pool di livello superiore nell’ambito privato. Questo pool sarà quello principale per tutti gli altri pool della gerarchia.
Come creare un pool di livello superiore IPv4:
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --address-family ipv4 \ --description "Top-level pool"
Sostituisci ipam-scope-0abcd1234 con l’ID effettivo dell’ambito privato.
Attendi che venga completata la creazione del pool e che questo sia disponibile:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-0abcd1234 --query 'IpamPools[0].State' --output text
Sostituisci ipam-pool-0abcd1234 con l’ID effettivo del pool di livello superiore. Prima di procedere, lo stato deve essere create-complete.
Quando il pool è disponibile, effettua il provisioning di un intervallo CIDR:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-0abcd1234 \ --cidr 10.0.0.0/8
Attendi che venga completato il provisioning del CIDR:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-0abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/8'].State" --output text
Prima di procedere, lo stato deve essere provisioned.
Crea un pool IPv4 regionale
A questo punto, crea un pool regionale all’interno del pool di livello superiore. Questo pool sarà specifico per una determinata regione AWS.
Come creare un pool IPv4 regionale:
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --source-ipam-pool-id ipam-pool-0abcd1234 \ --locale us-east-1 \ --address-family ipv4 \ --description "Regional pool in us-east-1"
Sostituisci ipam-scope-0abcd1234 con l’ID effettivo dell’ambito privato e ipam-pool-0abcd1234 con l’ID del pool di livello superiore.
Attendi che venga completata la creazione del pool regionale e che questo sia disponibile:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-1abcd1234 --query 'IpamPools[0].State' --output text
Sostituisci ipam-pool-1abcd1234 con l’ID effettivo del pool regionale. Prima di procedere, lo stato deve essere create-complete.
Quando il pool è disponibile, effettua il provisioning di un intervallo CIDR:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-1abcd1234 \ --cidr 10.0.0.0/16
Attendi che venga completato il provisioning del CIDR:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-1abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/16'].State" --output text
Prima di procedere, lo stato deve essere provisioned.
Come creare un pool IPv4 di sviluppo
A questo punto, crea un pool di sviluppo all’interno di un pool regionale. Questo pool verrà utilizzato per ambienti di sviluppo.
Come creare un pool IPv4 di sviluppo:
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --source-ipam-pool-id ipam-pool-1abcd1234 \ --locale us-east-1 \ --address-family ipv4 \ --description "Development pool"
Sostituisci ipam-scope-0abcd1234 con l’ID effettivo dell’ambito privato e ipam-pool-1abcd1234 con l’ID del pool regionale.
Attenzione: ricordati di includere il parametro --locale in linea con le impostazioni locali del pool principale.
Attendi che venga completata la creazione del pool di sviluppo e che questo sia disponibile:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-2abcd1234 --query 'IpamPools[0].State' --output text
Sostituisci ipam-pool-2abcd1234 con l’ID effettivo del pool di sviluppo. Prima di procedere, lo stato deve essere create-complete.
Quando il pool è disponibile, effettua il provisioning di un intervallo CIDR:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-2abcd1234 \ --cidr 10.0.0.0/24
Attendi che venga completato il provisioning del CIDR:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-2abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/24'].State" --output text
Prima di procedere, lo stato deve essere provisioned.
Come creare un VPC che utilizza un CIDR del pool IPAM
Infine, crea un VPC che utilizza un CIDR del pool IPAM. Questo processo mostra come utilizzare l’IPAM per assegnare lo spazio degli indirizzi IP alle risorse AWS.
Come creare un VPC che utilizza un CIDR del pool IPAM
aws ec2 create-vpc \ --ipv4-ipam-pool-id ipam-pool-2abcd1234 \ --ipv4-netmask-length 26 \ --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=IPAM-VPC}]'
Sostituisci ipam-pool-2abcd1234 con l’ID effettivo del pool di sviluppo.
Il parametro --ipv4-netmask-length 26 indica che è necessario assegnare un intervallo CIDR /26 (64 indirizzi IP) dal pool. Questa lunghezza della netmask viene scelta per fare in modo che sia inferiore all’intervallo CIDR del pool (/24).
Verifica che il VPC sia stato creato:
aws ec2 describe-vpcs --filters "Name=tag:Name,Values=IPAM-VPC"
Verifica l’assegnazione del pool IPAM
Verifica che il CIDR sia stato assegnato dal pool IPAM:
aws ec2 get-ipam-pool-allocations \ --ipam-pool-id ipam-pool-2abcd1234
Sostituisci ipam-pool-2abcd1234 con l’ID effettivo del pool di sviluppo.
Questo comando mostra tutte le assegnazioni dal pool IPAM indicato, incluso il VPC appena creato.
Risoluzione dei problemi
Di seguito sono indicati alcuni problemi comuni che possono verificarsi durante l’utilizzo di IPAM:
-
Errori di autorizzazione: verifica che l’utente o il ruolo IAM disponga delle autorizzazioni necessarie per creare e gestire le risorse IPAM. Potrebbero essere necessari
ec2:CreateIpam,ec2:CreateIpamPoole altre autorizzazioni correlate. -
Limite di risorse superato: per impostazione predefinita, è possibile creare un solo IPAM per ogni account. Se hai già un IPAM, dovrai eliminarlo prima di crearne uno nuovo o utilizzare quello già esistente.
-
Errori di assegnazione CIDR: quando effettui il provisioning dei CIDR nei pool, verifica che il CIDR interessato non si sovrapponga con le assegnazioni esistenti in altri pool.
-
Timeout delle richieste API: se si verificano errori “RequestExpired”, potrebbero essere dovuti alla latenza di rete o a problemi di sincronizzazione dell’orario. Prova a eseguire nuovamente il comando.
-
Errori di stato errato: se si verificano errori “IncorrectState”, potrebbero essere dovuti al tentativo di eseguire un’operazione su una risorsa che non si trova nello stato corretto. Attendi che vengano completati la creazione o il provisioning della risorsa prima di procedere.
-
Errori relativi alle dimensioni dell’assegnazione: se si verificano errori “InvalidParameterValue” relativi alle dimensioni dell’assegnazione, verifica che la lunghezza della netmask che richiedi sia adeguata alle dimensioni del pool. Ad esempio, non è possibile assegnare un CIDR /25 da un pool /24.
-
Violazioni delle dipendenze: durante l’eliminazione delle risorse, potrebbero verificarsi errori “DependencyViolation”. Questa circostanza è dovuta al fatto che le risorse dipendono l’una dall’altra. Assicurati di eliminare le risorse nell’ordine inverso rispetto a quello di creazione e di revoca dei CIDR prima di eliminare i pool.
Eliminazione delle risorse
Dopo aver completato questo tutorial, dovresti eliminare le risorse create per evitare addebiti superflui.
-
Eliminare il VPC
aws ec2 delete-vpc --vpc-id vpc-0abcd1234 -
Revoca il CIDR del pool di sviluppo:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-2abcd1234 --cidr 10.0.0.0/24 -
Elimina il pool di sviluppo:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-2abcd1234 -
Revoca il CIDR del pool regionale:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-1abcd1234 --cidr 10.0.0.0/16 -
Elimina il pool regionale:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-1abcd1234 -
Revoca il CIDR del pool di livello superiore.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0abcd1234 --cidr 10.0.0.0/8 -
Elimina il pool di livello superiore:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-0abcd1234 -
Elimina l’IPAM:
aws ec2 delete-ipam --ipam-id ipam-0abcd1234
Sostituisci tutti gli ID con gli ID effettivi delle risorse.
Nota
Potrebbe essere necessario attendere tra un’operazione e l’altra per consentire l’eliminazione completa delle risorse prima di passare alla fase successiva. Se riscontri violazioni delle dipendenze, attendi qualche secondo e riprova.
Passaggi successivi
Ora che hai imparato a creare e utilizzare IPAM con la CLI AWS, potrai approfondire funzionalità più avanzate:
-
Pianificare il provisioning degli indirizzi IP – Scopri come pianificare in modo efficace lo spazio degli indirizzi IP
-
Monitoraggio dell'utilizzo del CIDR per risorsa – Scopri come monitorare l’utilizzo degli indirizzi IP
-
Condividi un pool IPAM utilizzando AWS RAM – Scopri come condividere i pool IPAM tra più account AWS
-
Come integrare IPAM con account in un’organizzazione AWS – Scopri come utilizzare IPAM nella tua organizzazione