Tutorial: Trasferimento di un CIDR BYOIP IPv4 in IPAM - Amazon Virtual Private Cloud

Tutorial: Trasferimento di un CIDR BYOIP IPv4 in IPAM

Segui questi passaggi per trasferire un CIDR IPv4 esistente su IPAM. Se si dispone già di un CIDR IPv4 BYOIP con AWS, è possibile spostare il CIDR a IPAM da un pool IPv4 pubblico. Non è possibile spostare un CIDR IPv6 a IPAM.

Questo tutorial presuppone che tu abbia già portato  un intervallo di indirizzi IP su AWS utilizzando il processo descritto in Utilizzare i propri indirizzi IP (BYOIP) in Amazon EC2 e ora desideri trasferire quell'intervallo di indirizzi IP su IPAM. Se si sta portando per la prima volta un nuovo indirizzo IP a AWS, completare i passaggi in Tutorial: trasferisci i tuoi indirizzi IP su IPAM.

Se trasferisci un pool IPv4 pubblico su IPAM, non si avrà alcun impatto sulle allocazioni esistenti. Dopo aver trasferito un pool IPv4 pubblico su IPAM, a seconda del tipo di risorsa, potresti essere in grado di monitorare le allocazioni esistenti. Per ulteriori informazioni, consulta Monitoraggio dell'utilizzo del CIDR per risorsa.

Nota
  • Questo tutorial presuppone che tu abbia già completato i passaggi nella sezione Crea un IPAM.

  • Ciascun passaggio di questo tutorial deve essere eseguito da uno dei due account di AWS Organizations:

    • L'account amministratore dell'amministratore di IPAM. In questo tutorial, tale account verrà chiamato account IPAM.

    • L'account dell'organizzazione che possiede il CIDR BYOIP. In questo tutorial, tale account verrà chiamato account proprietario del CIDR BYOIP.

Fase 1: creazione di profili denominati della AWS CLI e ruoli IAM

Per completare questo tutorial come singolo utente AWS, puoi utilizzare profili denominati AWS CLI per passare da un ruolo IAM a un altro. I profili denominati sono raccolte di impostazioni e credenziali a cui si fa riferimento quando si utilizza l'opzione --profile con la AWS CLI. Per ulteriori informazioni su come creare ruoli IAM e profili denominati per gli account AWS, consulta Using an IAM role in the AWS CLI.

Crea un ruolo e un profilo denominato per ciascuno dei tre account AWS che utilizzerai in questo tutorial:

  • Un profilo chiamato ipam-account per l'account AWS che è l'amministratore IPAM.

  • Un profilo chiamato byoip-owner-account per l'account AWS nell'organizzazione che possiede il CIDR BYOIP.

Dopo avere creato i ruoli IAM e i profili denominati, torna su questa pagina e vai al passaggio successivo. Nel resto di questo tutorial potrai osservare che i comandi AWS CLI di esempio utilizzano l'opzione --profile con uno dei profili con nome per indicare quale account deve eseguire il comando.

Passaggio 2: ottenimento dell'ID di ambito pubblico dell'IPAM

Per ottenere l'ID di ambito pubblico dell'IPAM, segui la procedura descritta in questa sezione. Questo passaggio deve essere eseguito dall'account ipam-account.

Esegui il comando seguente per ottenere l'ID di ambito pubblico.

aws ec2 describe-ipams --region us-east-1 --profile ipam-account

Nell'output, vedrai il tuo ID di ambito pubblico. Tieni presente i valori di PublicDefaultScopeId. Questo valore servirà nella fase successiva.

{ "Ipams": [ { "OwnerId": "123456789012", "IpamId": "ipam-090e48e75758de279", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279", "PublicDefaultScopeId": "ipam-scope-0087d83896280b594", "PrivateDefaultScopeId": "ipam-scope-08b70b04fbd524f8d", "ScopeCount": 2, "Description": "my-ipam", "OperatingRegions": [ { "RegionName": "us-east-1" }, { "RegionName": "us-west-2" } ], "Tags": [] } ] }

Passaggio 3: creazione di un pool IPAM

Per creare un pool IPAM, segui i passaggi riportati in questa sezione. Questo passaggio deve essere eseguito dall'account ipam-account. Il pool IPAM creato deve essere un pool di livello superiore con l'opzione --locale corrispondente alla Regione AWS del CIDR BYOIP. È possibile trasferire un BYOIP solo a un pool IPAM di livello superiore.

Importante

Quando crei il pool, devi includere --aws-service ec2. Il servizio selezionato determina il servizio AWS in cui il CIDR sarà pubblicizzabile. Attualmente, l'unica opzione possibile è ec2, il che significa che i CIDR allocati da questo pool saranno pubblicizzabili per il servizio Amazon EC2 (per gli indirizzi IP elastici) e per il servizio Amazon VPC (per i CIDR associati ai VPC).

Per creare un pool di indirizzi IPv4 per il CIDR BYOIP trasferito utilizzando la AWS CLI
  1. Esegui il comando seguente per creare un pool IPAM. Utilizza l'ID dell'ambito pubblico dell'IPAM recuperato nella fase precedente.

    aws ec2 create-ipam-pool --region us-east-1 --profile ipam-account --ipam-scope-id ipam-scope-0087d83896280b594 --description "top-level-pool" --locale us-west-2 --aws-service ec2 --address-family ipv4

    Nell'output, vedrai create-in-progress, il che indica che è in corso la creazione del pool.

    { "IpamPool": { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0a03d430ca3f5c035", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594", "IpamScopeType": "public", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279", "Locale": "us-west-2", "PoolDepth": 1, "State": "create-in-progress", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [], "AwsService": "ec2" } }
  2. Esegui il seguente comando fino a quando non viene visualizzato uno stato di create-complete nell'output.

    aws ec2 describe-ipam-pools --region us-east-1 --profile ipam-account

    Il seguente output esemplificativo mostra lo stato del pool. Il valore OwnerId sarà necessario nel passaggio successivo.

    { "IpamPools": [ { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0a03d430ca3f5c035", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594", "IpamScopeType": "public", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279", "Locale": "us-west-2", "PoolDepth": 1, "State": "create-complete", "Description": "top-level-pool", "AutoImport": false, "AddressFamily": "ipv4", "Tags": [], "AwsService": "ec2" } ] }

Passaggio 4: condivisione del pool IPAM utilizzando la AWS RAM

Segui i passaggi in questa sezione per condividere un pool IPAM utilizzando la AWS RAM in modo che un altro account AWS possa trasferire un CIDR BYOIP IPV4 esistente al pool IPAM e utilizzare il pool IPAM. Questo passaggio deve essere eseguito dall'account ipam-account.

Per condividere un pool di indirizzi IPv4 utilizzando la AWS CLI
  1. Visualizza le autorizzazioni di AWS RAM disponibili per i pool IPAM. Per completare i passaggi riportati in questa sezione, sono necessari entrambi gli ARN.

    aws ram list-permissions --region us-east-1 --profile ipam-account --resource-type ec2:IpamPool
    { "permissions": [ { "arn": "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionsIpamPool", "version": "1", "defaultVersion": true, "name": "AWSRAMDefaultPermissionsIpamPool", "resourceType": "ec2:IpamPool", "status": "ATTACHABLE", "creationTime": "2022-06-30T13:04:29.335000-07:00", "lastUpdatedTime": "2022-06-30T13:04:29.335000-07:00", "isResourceTypeDefault": true }, { "arn": "arn:aws:ram::aws:permission/AWSRAMPermissionIpamPoolByoipCidrImport", "version": "1", "defaultVersion": true, "name": "AWSRAMPermissionIpamPoolByoipCidrImport", "resourceType": "ec2:IpamPool", "status": "ATTACHABLE", "creationTime": "2022-06-30T13:03:55.032000-07:00", "lastUpdatedTime": "2022-06-30T13:03:55.032000-07:00", "isResourceTypeDefault": false } ] }
  2. Crea una condivisione di risorse per consentire all'account byoip-owner-account di importare i CIDR BYOIP in IPAM. Il valore per --resource-arns è l'ARN del pool IPAM creato nella sezione precedente. Il valore per --principals è l'ID account dell'account che detiene il CIDR BYOIP. Il valore per --permission-arns è l'ARN dell'autorizzazione AWSRAMPermissionIpamPoolByoipCidrImport.

    aws ram create-resource-share --region us-east-1 --profile ipam-account --name PoolShare2 --resource-arns arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035 --principals 111122223333 --permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionIpamPoolByoipCidrImport
    { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/7993758c-a4ea-43ad-be12-b3abaffe361a", "name": "PoolShare2", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:32:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:32:25.536000-07:00" } }
  3. (Facoltativo) Se desideri consentire all'account byoip-owner-account di allocare l'indirizzo IP CIDRS dal pool IPAM ai pool IPv4 pubblici dopo il completamento del trasferimento, copia l'ARN per AWSRAMDefaultPermissionsIpamPool e crea una seconda condivisione di risorse. Il valore per --resource-arns è l'ARN del pool IPAM creato nella sezione precedente. Il valore per --principals è l'ID account dell'account che detiene il CIDR BYOIP. Il valore per --permission-arns è l'ARN dell'autorizzazione AWSRAMDefaultPermissionsIpamPool.

    aws ram create-resource-share --region us-east-1 --profile ipam-account --name PoolShare1 --resource-arns arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035 --principals 111122223333 --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionsIpamPool
    { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f", "name": "PoolShare1", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:31:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:31:25.536000-07:00" } }

Grazie alla creazione della condivisione di risorse in RAM, l'account proprietario dell'IPAM può ora assegnare CIDR all'IPAM.

Passaggio 5: trasferimento di un CIDR BYOIP IPv4 esistente su IPAM

Segui i passaggi in questa sezione per trasferire un CIDR BYOIP IPV4 esistente su IPAM. Questo passaggio deve essere eseguito dall'account byoip-owner-account.

Importante

Una volta portato un intervallo di indirizzi IPv4 in AWS, puoi utilizzare tutti gli indirizzi IP dell'intervallo, incluso il primo indirizzo (indirizzo di rete) e l'ultimo (indirizzo di trasmissione).

Per trasferire il CIDR BYOIP su IPAM, il proprietario del CIDR BYOIP deve disporre di queste autorizzazioni nella policy IAM:

  • ec2:MoveByoipCidrToIpam

  • ec2:ImportByoipCidrToIpam

Nota

Puoi usare la Console di gestione AWS o la AWS CLI per questo passaggio.

AWS Management Console
Per trasferire un CIDR BYOIP nel pool IPAM:
  1. Apri la console IPAM all'indirizzo https://console.aws.amazon.com/ipam/ come account byoip-owner-account.

  2. Nel pannello di navigazione, seleziona Pool.

  3. Sceglie il pool di primo livello creato e condiviso in questo tutorial.

  4. Scegli Azioni > Trasferisci CIDR BYOIP.

  5. Scegli Trasferisci CIDR BYOIP.

  6. Scegli il tuo CIDR BYOIP.

  7. Scegli Provision (Esegui il provisioning).

Command line

Utilizza i seguenti comandi AWS CLI per trasferire un CIDR BYOIP al pool IPAM utilizzando il comando AWS CLI:

  1. Esegui il comando seguente per trasferire il CIDR. Assicurarsi che il valore --region sia la Regione AWS del CIDR BYOIP.

    aws ec2 move-byoip-cidr-to-ipam --region us-west-2 --profile byoip-owner-account --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --ipam-pool-owner 123456789012 --cidr 130.137.249.0/24

    Nell'output, sarà visualizzato il provisioning del CIDR in sospeso.

    { "ByoipCidr": { "Cidr": "130.137.249.0/24", "State": "pending-transfer" } }
  2. Assicurarsi che il CIDR sia stato trasferito. Esegui il seguente comando fino a quando non viene visualizzato uno stato di complete-transfer nell'output.

    aws ec2 move-byoip-cidr-to-ipam --region us-west-2 --profile byoip-owner-account --ipam-pool-id ipam-pool-0a03d430ca3f5c035 --ipam-pool-owner 123456789012 --cidr 130.137.249.0/24

    Il seguente output esemplificativo mostra lo stato.

    { "ByoipCidr": { "Cidr": "130.137.249.0/24", "State": "complete-transfer" } }

Passaggio 6: visualizzazione del CIDR in IPAM

Per visualizzare il CIDR in IPAM, segui i passaggi riportati in questa sezione. Questo passaggio deve essere eseguito dall'account ipam-account.

Per visualizzare un CIDR BYOIP trasferito nel pool IPAM utilizzando la AWS CLI
  • Esegui il comando seguente per visualizzare l'assegnazione gestita in IPAM. Assicurarsi che il valore --region sia la Regione AWS del CIDR BYOIP.

    aws ec2 get-ipam-pool-allocations --region us-west-2 --profile ipam-account --ipam-pool-id ipam-pool-0d8f3646b61ca5987

    L'output mostra l'assegnazione in IPAM.

    { "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "111122223333" } ] }

Passaggio 7: pulizia

Segui i passaggi in questa sezione per rimuovere le risorse che hai creato in questo tutorial. Questo passaggio deve essere eseguito dall'account ipam-account.

Per eliminare le risorse create in questo tutorial utilizzando la AWS CLI
  1. Per eliminare la risorsa condivisa del pool IPAM, esegui il seguente comando per ottenere il primo ARN di condivisione delle risorse:

    aws ram get-resource-shares --region us-east-1 --profile ipam-account --name PoolShare1 --resource-owner SELF
    { "resourceShares": [ { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f", "name": "PoolShare1", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2023-04-28T07:31:25.536000-07:00", "lastUpdatedTime": "2023-04-28T07:31:25.536000-07:00", "featureSet": "STANDARD" } ] }
  2. Copia l'ARN della condivisione di risorse e utilizzalo per eliminare la condivisione di risorse del pool IPAM.

    aws ram delete-resource-share --region us-east-1 --profile ipam-account --resource-share-arn arn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f
    { "returnValue": true }
  3. Se hai creato una condivisione di risorse aggiuntiva in Passaggio 4: condivisione del pool IPAM utilizzando la AWS RAM, ripeti i due passaggi precedenti per ottenere l'ARN della seconda condivisione di risorse per PoolShare2 ed eliminare la seconda condivisione di risorse.

  4. Esegui il comando seguente per ottenere l'ID di assegnazione per il CIDR BYOIP. Assicurarsi che il valore --region corrisponda alla Regione AWS del CIDR BYOIP.

    aws ec2 get-ipam-pool-allocations --region us-west-2 --profile ipam-account --ipam-pool-id ipam-pool-0d8f3646b61ca5987

    L'output mostra l'assegnazione in IPAM.

    { "IpamPoolAllocations": [ { "Cidr": "130.137.249.0/24", "IpamPoolAllocationId": "ipam-pool-alloc-5dedc8e7937c4261b56dc3e3eb53dc46", "ResourceId": "ipv4pool-ec2-0019eed22a684e0b3", "ResourceType": "ec2-public-ipv4-pool", "ResourceOwner": "111122223333" } ] }
  5. Rilascia il CIDR dal pool IPv4 pubblico. Quando esegui il comando in questa sezione, il valore per --region deve corrispondere alla Regione del tuo IPAM.

    Questo passaggio deve essere eseguito dall'account byoip-owner-account.

    aws ec2 deprovision-public-ipv4-pool-cidr --region us-east-1 --profile byoip-owner-account --pool-id ipv4pool-ec2-0019eed22a684e0b3 --cidr 130.137.249.0/24
  6. Visualizza di nuovo i CIDR BYOIP e assicurati che non ci siano più indirizzi con provisioning. Quando esegui il comando in questa sezione, il valore per --region deve corrispondere alla Regione del tuo IPAM.

    Questo passaggio deve essere eseguito dall'account byoip-owner-account.

    aws ec2 describe-public-ipv4-pools --region us-east-1 --profile byoip-owner-account

    Nell'output, vedrai il conteggio degli indirizzi IP nel pool IPv4 pubblico.

    { "PublicIpv4Pools": [ { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "Description": "", "PoolAddressRanges": [], "TotalAddressCount": 0, "TotalAvailableAddressCount": 0, "NetworkBorderGroup": "us-east-1", "Tags": [] } ] }
  7. Esegui il seguente comando per eliminare il pool di livello superiore.

    aws ec2 delete-ipam-pool --region us-east-1 --profile ipam-account --ipam-pool-id ipam-pool-0a03d430ca3f5c035

    Nell'output, è possibile visualizzare lo stato di eliminazione.

    { "IpamPool": { "OwnerId": "123456789012", "IpamPoolId": "ipam-pool-0a03d430ca3f5c035", "IpamPoolArn": "arn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035", "IpamScopeArn": "arn:aws:ec2::123456789012:ipam-scope/ipam-scope-0087d83896280b594", "IpamScopeType": "public", "IpamArn": "arn:aws:ec2::123456789012:ipam/ipam-090e48e75758de279", "Locale": "us-east-1", "PoolDepth": 2, "State": "delete-in-progress", "Description": "top-level-pool", "AutoImport": false, "Advertisable": true, "AddressFamily": "ipv4", "AwsService": "ec2" } }