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.
-
Indice
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-accountper l'account AWS che è l'amministratore IPAM.Un profilo chiamato
byoip-owner-accountper 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 --regionus-east-1--profileipam-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
-
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 --regionus-east-1--profileipam-account--ipam-scope-idipam-scope-0087d83896280b594--description"top-level-pool"--localeus-west-2--aws-service ec2 --address-familyipv4Nell'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" } } -
Esegui il seguente comando fino a quando non viene visualizzato uno stato di
create-completenell'output.aws ec2 describe-ipam-pools --regionus-east-1--profileipam-accountIl 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
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 --regionus-east-1--profileipam-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 } ] }Crea una condivisione di risorse per consentire all'account
byoip-owner-accountdi 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'autorizzazioneAWSRAMPermissionIpamPoolByoipCidrImport.aws ram create-resource-share --regionus-east-1--profileipam-account--namePoolShare2--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035--principals111122223333--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" } }(Facoltativo) Se desideri consentire all'account
byoip-owner-accountdi allocare l'indirizzo IP CIDRS dal pool IPAM ai pool IPv4 pubblici dopo il completamento del trasferimento, copia l'ARN perAWSRAMDefaultPermissionsIpamPoole 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'autorizzazioneAWSRAMDefaultPermissionsIpamPool.aws ram create-resource-share --regionus-east-1--profileipam-account--namePoolShare1--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0a03d430ca3f5c035--principals111122223333--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.
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
--regionsia la Regione AWS del CIDR BYOIP.aws ec2 get-ipam-pool-allocations --regionus-west-2--profileipam-account--ipam-pool-idipam-pool-0d8f3646b61ca5987L'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
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 --regionus-east-1--profileipam-account--namePoolShare1--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" } ] }Copia l'ARN della condivisione di risorse e utilizzalo per eliminare la condivisione di risorse del pool IPAM.
aws ram delete-resource-share --regionus-east-1--profileipam-account--resource-share-arnarn:aws:ram:us-east-1:123456789012:resource-share/8d1e229b-2830-4cf4-8b10-19c889235a2f{ "returnValue": true }-
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
PoolShare2ed eliminare la seconda condivisione di risorse. -
Esegui il comando seguente per ottenere l'ID di assegnazione per il CIDR BYOIP. Assicurarsi che il valore
--regioncorrisponda alla Regione AWS del CIDR BYOIP.aws ec2 get-ipam-pool-allocations --regionus-west-2--profileipam-account--ipam-pool-idipam-pool-0d8f3646b61ca5987L'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" } ] } -
Rilascia il CIDR dal pool IPv4 pubblico. Quando esegui il comando in questa sezione, il valore per
--regiondeve corrispondere alla Regione del tuo IPAM.Questo passaggio deve essere eseguito dall'account
byoip-owner-account.aws ec2 deprovision-public-ipv4-pool-cidr --regionus-east-1--profilebyoip-owner-account--pool-idipv4pool-ec2-0019eed22a684e0b3--cidr130.137.249.0/24 -
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
--regiondeve corrispondere alla Regione del tuo IPAM.Questo passaggio deve essere eseguito dall'account
byoip-owner-account.aws ec2 describe-public-ipv4-pools --regionus-east-1--profilebyoip-owner-accountNell'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": [] } ] } -
Esegui il seguente comando per eliminare il pool di livello superiore.
aws ec2 delete-ipam-pool --regionus-east-1--profileipam-account--ipam-pool-idipam-pool-0a03d430ca3f5c035Nell'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" } }