Tutorial: Creazione di IPAM e pool utilizzando la AWS CLI - Amazon Virtual Private Cloud

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

Tutorial: Creazione di IPAM e pool utilizzando la AWS CLI

Segui i passaggi descritti in questo tutorial per utilizzare la AWS CLI per creare un IPAM, creare pool di indirizzi IP e assegnare un VPC con un CIDR da un pool IPAM.

Di seguito è riportata una gerarchia esemplificativa della struttura del pool che verrà creata seguendo i passaggi di questa sezione:

  • IPAM operante nella Regione AWS 1 e nella Regione AWS 2

    • Ambito privato

      • Pool di livello superiore

        • Pool regionale nella Regione AWS 2

          • Pool di sviluppo

            • Assegnazione per un VPC

Nota

In questa sezione viene mostrato come creare un IPAM. Per impostazione predefinita, è possibile creare un solo IPAM. Per ulteriori informazioni, consultare Quote per l'IPAM. Se hai già delegato un account IPAM e creato un IPAM, puoi saltare i passaggi 1 e 2.

Passaggio 1: abilitare IPAM nella tua organizzazione

Questa fase è facoltativa. Completa questo passaggio per abilitare IPAM nell'organizzazione e configurare l'IPAM delegato utilizzando la CLI di AWS. Per ulteriori informazioni sul ruolo dell'account IPAM, consulta Integrare IPAM con gli account di un'organizzazione AWS.

Questa richiesta deve essere fatta da un account di gestione di AWS Organizations. Quando si esegue il comando seguente, assicurarsi di utilizzare un ruolo con una policy IAM che consenta le seguenti azioni:

  • ec2:EnableIpamOrganizationAdminAccount

  • organizations:EnableAwsServiceAccess

  • organizations:RegisterDelegatedAdministrator

  • iam:CreateServiceLinkedRole

aws ec2 enable-ipam-organization-admin-account --region us-east-1 --delegated-admin-account-id 11111111111

Si dovrebbe visualizzare il seguente output, che indica che l'abilitazione ha avuto successo.

{ "Success": true }

Passaggio 2: creare un IPAM

Attenersi ai passaggi riportati in questa sezione per creare un IPAM e visualizzare ulteriori informazioni sugli ambiti creati. Utilizzerai questo IPAM quando crei pool ed effettui il provisioning degli intervalli di indirizzi IP per tali pool nei passaggi successivi.

Nota

L'opzione Regioni operative determina per quali Regioni AWS è possibile utilizzare i pool IPAM. Per ulteriori informazioni sulle Regioni operative, consulta Crea un IPAM.

Per creare un IPAM utilizzando la AWS CLI
  1. Esegui il comando seguente per creare un'istanza IPAM.

    aws ec2 create-ipam --description my-ipam --region us-east-1 --operating-regions RegionName=us-west-2

    Quando si crea un IPAM, AWS esegue automaticamente le seguenti operazioni:

    • Restituisce un ID risorsa univoco globale (IpamId) per l'IPAM.

    • Crea un ambito pubblico di default (PublicDefaultScopeId) e un ambito privato di default (PrivateDefaultScopeId).

    { "Ipam": { "OwnerId": "123456789012", "IpamId": "ipam-0de83dba6694560a9", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "PublicDefaultScopeId": "ipam-scope-02a24107598e982c5", "PrivateDefaultScopeId": "ipam-scope-065e7dfe880df679c", "ScopeCount": 2, "Description": "my-ipam", "OperatingRegions": [ { "RegionName": "us-west-2" }, { "RegionName": "us-east-1" } ], "Tags": [] } }
  2. Esegui questo comando per visualizzare ulteriori informazioni relative agli ambiti. L'ambito pubblico è destinato agli indirizzi IP a cui si accede tramite Internet pubblico. L'ambito privato è destinato agli indirizzi IP a cui non si accede tramite Internet pubblico.

    aws ec2 describe-ipam-scopes --region us-east-1

    Nell'output vengono visualizzati gli ambiti disponibili. Verrà utilizzato l'ID dell'ambito privato nel passaggio successivo.

    { "IpamScopes": [ { "OwnerId": "123456789012", "IpamScopeId": "ipam-scope-02a24107598e982c5", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-02a24107598e982c5", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "IpamScopeType": "public", "IsDefault": true, "PoolCount": 0 }, { "OwnerId": "123456789012", "IpamScopeId": "ipam-scope-065e7dfe880df679c", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "IpamScopeType": "private", "IsDefault": true, "PoolCount": 0 } ] }

Passaggio 3: creazione di un pool di indirizzi IPv4

Per creare un pool di indirizzi IPv4, segui i passaggi descritti in questa sezione.

Importante

Su questo pool di livello superiore non utilizzerai l'opzione --locale. In seguito, imposterai la località sul pool regionale. La località è la regione in cui desideri che questo pool IPAM sia disponibile per le allocazioni CIDR. Come risultato della mancata configurazione della località sul pool di livello superiore, la località verrà impostata di default su None. Se un pool ha la località None, non sarà disponibile per le risorse VPC in nessuna regione AWS. L'allocazione dello spazio degli indirizzi IP nel pool per riservare spazio può essere effettuata solo manualmente.

Per creare un pool di indirizzi IPv4 per tutte le risorse AWS che utilizzano la AWS CLI
  1. Esegui il comando seguente per creare un pool di indirizzi IPv4. Utilizza l'ID dell'ambito privato dell'IPAM creato nel passaggio precedente.

    aws ec2 create-ipam-pool --ipam-scope-id ipam-scope-065e7dfe880df679c --description "top-level-pool" --address-family ipv4

    Nell'output, sarà visualizzabile uno stato create-in-progress per il pool.

    { "IpamPool": { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0008f25d7187a08d9", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "None", "PoolDepth": 1, "State": "create-in-progress", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [] } }
  2. Esegui il seguente comando fino a quando non viene visualizzato uno stato create-complete nell'output.

    aws ec2 describe-ipam-pools

    Il seguente output esemplificativo mostra lo stato corretto.

    { "IpamPools": [ { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0008f25d7187a08d9", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "None", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4" } ] }

Passaggio 4: effettuare il provisioning di un CIDR al pool di livello superiore

Segui il passaggio descritto in questa sezione per effettuare il provisioning di un CIDR al pool di livello superiore, quindi verifica che sia stato effettuato il provisioning del CIDR. Per ulteriori informazioni, consultare Fornitura CIDRs a un pool.

Per effettuare il provisioning di un blocco CIDR al pool utilizzando la AWS CLI
  1. Esegui il comando seguente per effettuare il provisioning del CIDR.

    aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0008f25d7187a08d9 --cidr 10.0.0.0/8

    Nell'output, è possibile verificare lo stato del provisioning.

    { "IpamPoolCidr": { "Cidr": "10.0.0.0/8", "State": "pending-provision" } }
  2. Esegui il seguente comando fino a quando non viene visualizzato uno stato provisioned nell'output.

    aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0008f25d7187a08d9

    Il seguente output esemplificativo mostra lo stato corretto.

    { "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/8", "State": "provisioned" } ] }

Fase 5. Crea un pool Regionale con CIDR proveniente dal pool di livello superiore

Quando crei un pool IPAM, il pool appartiene alla Regione AWS dell'IPAM per impostazione predefinita. Quando si crea un VPC, il pool dal quale il VPC si estrae deve trovarsi nella stessa Regione del VPC. Puoi utilizzare l'opzione --locale quando crei un pool per rendere il pool disponibile ai servizi in una Regione diversa dalla Regione dell'IPAM. Attenersi ai passaggi riportati in questa sezione per creare un pool Regionale in un'altra località.

Per creare un pool con un CIDR proveniente dal pool precedente utilizzando la AWS CLI
  1. Esegui il comando seguente per creare il pool e inserisci spazio con un CIDR noto disponibile dal pool precedente.

    aws ec2 create-ipam-pool --description "regional--pool" --region us-east-1 --ipam-scope-id ipam-scope-065e7dfe880df679c --source-ipam-pool-id ipam-pool-0008f25d7187a08d9 --locale us-west-2 --address-family ipv4

    Nell'output, sarà visualizzabile l'ID del pool creato. Sarà necessario questo ID nel passaggio successivo.

    { "IpamPool": { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "SourceIpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0da89c821626f1e4b", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "us-west-2", "PoolDepth": 2, "State": "create-in-progress", "Description": "regional--pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [] } }
  2. Esegui il seguente comando fino a quando non viene visualizzato uno stato create-complete nell'output.

    aws ec2 describe-ipam-pools

    Nell'output, vedrai i pool contenuti nel tuo IPAM. In questo tutorial è stato creato un pool di livello superiore e un pool Regionale, in modo da vederli entrambi.

    { "IpamPools": [ { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0008f25d7187a08d9", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "None", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4" }, { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "SourceIpamPoolId": "ipam-pool-0008f25d7187a08d9", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0da89c821626f1e4b", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-065e7dfe880df679c", "IpamScopeType": "private", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-0de83dba6694560a9", "Locale": "us-west-2", "PoolDepth": 2, "State": "create-complete", "Description": "regional--pool", "AutoImport": false, "AddressFamily": "ipv4" } ] }

Passaggio 6: effettuare il provisioning di un CIDR al pool Regionale

Segui il passaggio descritto in questa sezione per assegnare un blocco CIDR al pool e verificare che sia stato eseguito correttamente il provisioning.

Per assegnare un blocco CIDR al pool Regionale utilizzando la AWS CLI
  1. Esegui il comando seguente per effettuare il provisioning del CIDR.

    aws ec2 provision-ipam-pool-cidr --region us-east-1 --ipam-pool-id ipam-pool-0da89c821626f1e4b --cidr 10.0.0.0/16

    Nell'output, sarà visualizzabile lo stato del pool.

    { "IpamPoolCidr": { "Cidr": "10.0.0.0/16", "State": "pending-provision" } }
  2. Esegui il seguente comando fino a quando non viene visualizzato uno stato di provisioned nell'output.

    aws ec2 get-ipam-pool-cidrs --region us-east-1 --ipam-pool-id ipam-pool-0da89c821626f1e4b

    Il seguente output esemplificativo mostra lo stato corretto.

    { "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/16", "State": "provisioned" } ] }
  3. Esegui il seguente comando per effettuare una query sul pool di livello superiore per visualizzare le assegnazioni. Il pool Regionale è considerato un'assegnazione all'interno del pool di livello superiore.

    aws ec2 get-ipam-pool-allocations --region us-east-1 --ipam-pool-id ipam-pool-0008f25d7187a08d9

    Nell'output viene visualizzato il pool Regionale come assegnazione nel pool di livello superiore.

    { "IpamPoolAllocations": [ { "Cidr": "10.0.0.0/16", "IpamPoolAllocationId": "ipam-pool-alloc-fbd525f6c2bf4e77a75690fc2d93479a", "ResourceId": "ipam-pool-0da89c821626f1e4b", "ResourceType": "ipam-pool", "ResourceOwner": "123456789012" } ] }

Fase 7. Creare una condivisione RAM per abilitare le assegnazioni IP tra gli account

Questa fase è facoltativa. È possibile completare questo passaggio solo se Integrare IPAM con gli account di un'organizzazione AWS è stato completato.

Quando crei una condivisione AWS RAM di un pool IPAM, essa abiliterà le assegnazioni IP tra gli account. La condivisione RAM è disponibile solo nella Regione AWS di origine. Si tenga presente che questa condivisione viene creata nella stessa Regione dell'IPAM, non nella Regione locale per il pool. Tutte le operazioni amministrative sulle risorse IPAM vengono effettuate attraverso la Regione di origine dell'IPAM. L'esempio in questo tutorial crea una singola condivisione per un singolo pool, ma è possibile aggiungere più pool a una singola condivisione. Per ulteriori informazioni, inclusa una spiegazione delle opzioni da inserire, consulta Condivisione di un pool IPAM tramite AWS RAM.

Esegui i seguenti comandi per creare una condivisione di risorse.

aws ram create-resource-share --region us-east-1 --name pool_share --resource-arns arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0dec9695bca83e606 --principals 123456

L'output indica che il pool è stato creato.

{ "resourceShare": { "resourceShareArn": "arn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE", "name": "pool_share", "owningAccountId": "123456789012", "allowExternalPrincipals": false, "status": "ACTIVE", "creationTime": 1565295733.282, "lastUpdatedTime": 1565295733.282 } }

Fase 8. Crea un VPC

Esegui il seguente comando per creare un VPC e assegnare un blocco CIDR al VPC dal pool nell'IPAM appena creato.

aws ec2 create-vpc --region us-east-1 --ipv4-ipam-pool-id ipam-pool-04111dca0d960186e --cidr-block 10.0.0.0/24

L'output indica che il VPC è stato creato.

{ "Vpc": { "CidrBlock": "10.0.0.0/24", "DhcpOptionsId": "dopt-19edf471", "State": "pending", "VpcId": "vpc-0983f3c454f3d8be5", "OwnerId": "123456789012", "InstanceTenancy": "default", "Ipv6CidrBlockAssociationSet": [], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-00b24cc1c2EXAMPLE", "CidrBlock": "10.0.0.0/24", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false } }

Fase 9. Rimozione

Segui i passaggi riportati in questa sezione per rimuovere le risorse IPAM che create in questo tutorial.

  1. Elimina il VPC.

    aws ec2 delete-vpc --vpc-id vpc-0983f3c454f3d8be5
  2. Elimina la condivisione RAM del pool IPAM.

    aws ram delete-resource-share --resource-share-arn arn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE
  3. Revoca il provisioning del CIDR del pool dal pool Regionale.

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0da89c821626f1e4b --region us-east-1
  4. Revoca il provisioning del CIDR del pool dal pool di livello superiore.

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0008f25d7187a08d9 --region us-east-1
  5. Eliminare l'IPAM

    aws ec2 delete-ipam --region us-east-1