Didacticiel : transfert d'un CIDR IPv4 BYOIP vers IPAM - Amazon Virtual Private Cloud

Didacticiel : transfert d'un CIDR IPv4 BYOIP vers IPAM

Suivez ces étapes pour transférer un CIDR IPv4 existant vers IPAM. Si vous disposez déjà d'un CIDR BYOIP IPv4 avec AWS, vous pouvez déplacer le CIDR vers IPAM à partir d'un groupe IPv4 public. Vous ne pouvez pas déplacer un CIDR IPv6 vers IPAM.

Ce tutoriel suppose que vous avez déjà réussi à faire passer une plage d'adresses IP à AWS à l'aide du processus décrit dans Fourniture de vos propres adresses IP (BYOIP) dans Amazon EC2 et que vous voulez maintenant transférer cette plage d'adresses IP à IPAM. Si vous intégrez une nouvelle adresse IP à AWS pour la première fois, suivez les étapes de Didacticiel : apporter vos adresses IP à IPAM.

Si vous transférez un groupe IPv4 public vers IPAM, cela n'a aucun impact sur les allocations existantes. Une fois que vous avez transféré un groupe IPv4 public vers IPAM, selon le type de ressource, vous pouvez contrôler les allocations existantes. Pour plus d'informations, consultez Contrôle de l'utilisation du CIDR par ressource.

Note
  • Ce didacticiel suppose que vous avez terminé cette procédure en Création d'un IPAM.

  • Chaque étape de ce didacticiel doit être effectuée par l'une des deux AWScomptes :

    • Le compte pour l'administrateur IPAM. Dans ce didacticiel, ce compte sera appelé compte IPAM.

    • Le compte de votre organisation qui possède le CIDR BYOIP. Dans ce didacticiel, ce compte sera appelé compte du propriétaire CIDR BYOIP.

Étape 1 : Création de profils d'AWS CLI nommés et de rôles IAM

Pour suivre ce didacticiel en tant qu'utilisateur AWS unique, vous pouvez utiliser des profils nommés AWS CLI pour passer d'un rôle IAM à un autre. Les profils nommés sont des ensembles de paramètres et d'informations d'identification auxquels vous vous référez lorsque vous utilisez l'option --profile associée à l'AWS CLI. Pour plus d’informations sur la création de rôles IAM et de profils nommés pour les comptes AWS, consultez la section Using an IAM role in the AWS CLI.

Créez un rôle et un profil nommé pour chacun des trois comptes AWS que vous utiliserez dans ce didacticiel :

  • Un profil appeléipam-accountpour laAWScompte qui est l'administrateur IPAM.

  • Un profil appelébyoip-owner-accountpour laAWScompte de votre organisation propriétaire du CIDR BYOIP.

Une fois que vous avez créé les rôles IAM et les profils nommés, revenez à cette page et passez à l'étape suivante. Vous remarquerez tout au long de ce didacticiel que l'échantillon AWS CLI commande l'utilisation de --profile l'option avec l'un des profils nommés pour indiquer quel compte doit exécuter la commande.

Étape 2 : obtention de l'ID de portée publique de votre IPAM

Suivez les étapes de cette section pour obtenir l'ID de portée publique de votre IPAM. Cette étape doit être effectuée par le compte ipam-account.

Exécutez la commande suivante pour obtenir l'ID de portée publique.

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

Dans la sortie, vous verrez l'ID de portée publique. Notez les valeurs de PublicDefaultScopeId. Vous en aurez besoin à l'étape suivante.

{ "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": [] } ] }

Étape 3 : création d'un groupe IPAM

Suivez les étapes de cette section pour créer un groupe IPAM. Cette étape doit être effectuée par le compte ipam-account. Le groupe IPAM que vous créez doit être un groupe de niveau supérieur avec l'option --locale correspondant à la région AWS du CIDR BYOIP. Vous pouvez uniquement transférer un BYOIP vers un groupe IPAM de niveau supérieur.

Important

Lorsque vous créez le groupe, vous devez inclure --aws-service ec2. Le service que vous sélectionnez détermine le service AWS où le CIDR pourra être annoncé. Actuellement, la seule option est ec2, ce qui signifie que les CIDR alloués à partir de ce groupe pourront être annoncés pour le service Amazon EC2 (pour les adresses IP Elastic) et le service Amazon VPC (pour les CIDR associés aux VPC).

Pour créer un groupe d'adresses IPv4 pour le CIDR BYOIP transféré à l'aide d' AWS CLI
  1. Exécutez la commande suivante pour créer un groupe IPAM. Utilisez l'ID de portée publique de l'IPAM que vous avez obtenu à l'étape précédente.

    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

    Dans la sortie, vous verrez apparaître create-in-progress, qui indique que la création du groupe est en cours.

    { "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. Exécutez la commande suivante jusqu'à ce que l'état create-complete apparaisse dans la sortie.

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

    L'exemple de sortie suivant illustre l'état du groupe. Vous aurez besoin de cet OwnerId à la prochaine étape.

    { "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" } ] }

Étape 4 : partager le groupe IPAM en utilisant AWS RAM

Suivez les étapes de cette section pour partager un groupe IPAM en utilisant AWS RAM afin qu'un autre compte AWS puisse transférer un CIDR IPV4 BYOIP existant vers le groupe IPAM et l'utiliser. Cette étape doit être effectuée par le compte ipam-account.

Pour partager un groupe d'adresses IPv4 en utilisant AWS CLI
  1. Consultez les autorisations AWS RAM disponibles pour les groupes IPAM. Vous avez besoin des deux ARN pour effectuer les étapes de cette section.

    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. Créez un partage de ressources pour permettre au compte byoip-owner-account d'importer des CIDR BYOIP vers IPAM. La valeur pour --resource-arns est l'ARN du groupe IPAM que vous avez créé dans la section précédente. La valeur pour --principals est l'identifiant du compte du propriétaire du CIDR BYOIP. La valeur pour --permission-arns est l'ARN de l'autorisation 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. (Facultatif) Si vous souhaitez autoriser le compte byoip-owner-account à allouer des adresses IP CIDR du groupe IPAM à des groupes IPv4 publics une fois le transfert terminé, copiez l'ARN pour AWSRAMDefaultPermissionsIpamPool et créez un deuxième partage de ressources. La valeur pour --resource-arns est l'ARN du groupe IPAM que vous avez créé dans la section précédente. La valeur pour --principals est l'identifiant du compte du propriétaire du CIDR BYOIP. La valeur pour --permission-arns est l'ARN de l'autorisation 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" } }

Suite à la création du partage de ressources dans RAM, le compte byoip-owner-account peut désormais déplacer les CIDR vers RAM.

Étape 5 : transfert d'un CIDR IPV4 BYOIP existant vers IPAM

Suivez les étapes de cette section pour transférer un CIDR IPv4 BYOIP existant vers IPAM. Cette étape doit être effectuée par le compte byoip-owner-account.

Important

Une fois que vous avez apporté une plage d’adresses IPv4 vers AWS, vous pouvez utiliser toutes les adresses IP de la plage, y compris la première adresse (adresse réseau) et la dernière adresse (adresse de diffusion).

Pour transférer le CIDR BYOIP vers IPAM, le propriétaire du CIDR BYOIP doit disposer des autorisations suivantes dans sa stratégie IAM :

  • ec2:MoveByoipCidrToIpam

  • ec2:ImportByoipCidrToIpam

Note

Vous pouvez utiliser l’AWS Management Console ou l’AWS CLI pour effectuer cette étape.

AWS Management Console
Pour transférer un CIDR BYOIP vers le groupe IPAM :
  1. Ouvrez la console IPAM à partir de l’adressehttps://console.aws.amazon.com/ipam/ en tant que compte byoip-owner-account.

  2. Dans le panneau de navigation, sélectionnez Pools (Groupes).

  3. Choisissez le groupe de niveau supérieur créé et partagé dans ce tutoriel.

  4. Choisissez Actions > Transférer le CIDR BYOIP.

  5. Choisissez Transférer le CIDR BYOIP.

  6. Choisissez votre CIDR BYOIP.

  7. Choisissez Provisionner.

Command line

Utilisez les commandes de l’AWS CLI suivantes pour transférer un CIDR BYOIP vers le groupe IPAM à l’aide de l’AWS CLI :

  1. Exécutez la commande suivante pour transférer le CIDR. Assurez-vous que la valeur --region correspond à la Région AWS du 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

    Dans la sortie, vous verrez l'approvisionnement CIDR en attente.

    { "ByoipCidr": { "Cidr": "130.137.249.0/24", "State": "pending-transfer" } }
  2. Assurez-vous que le CIDR a été transféré. Exécutez la commande suivante jusqu'à ce que l'état complete-transfer apparaisse dans la sortie.

    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

    L'exemple de sortie suivant illustre l'état.

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

Étape 6 : affichage du CIDR dans IPAM

Suivez les étapes de cette section pour afficher le CIDR dans IPAM. Cette étape doit être effectuée par le compte ipam-account.

Pour afficher le CIDR BYOIP transféré dans le groupe IPAM à l'aide d' AWS CLI
  • Exécutez la commande suivante pour afficher l'allocation gérée dans IPAM. Assurez-vous que la valeur --region correspond à la Région AWS du CIDR BYOIP.

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

    La sortie affiche l'allocation dans IPAM.

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

Étape 7 : nettoyage

Suivez les étapes de cette section pour supprimer les ressources que vous avez créées dans ce tutoriel. Cette étape doit être effectuée par le compte ipam-account.

Pour nettoyer les ressources créées dans ce tutoriel à l'aide d' AWS CLI
  1. Pour supprimer la ressource partagée du groupe IPAM, exécutez la commande suivante pour obtenir le premier ARN de partage de ressources :

    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. Copiez l'ARN du partage de ressources et utilisez-le pour supprimer le partage de ressources du groupe 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. Si vous avez créé un partage de ressources supplémentaire dans Étape 4 : partager le groupe IPAM en utilisant AWS RAM, répétez les deux étapes précédentes pour obtenir l'ARN du deuxième partage de ressources pour PoolShare2 et supprimer le deuxième partage de ressources.

  4. Exécutez la commande suivante pour obtenir l'ID d'allocation du CIDR BYOIP. Assurez-vous que la valeur --region correspond à la Région AWS du CIDR BYOIP.

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

    La sortie affiche l'allocation dans 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. Libérez le CIDR à partir du groupe IPv4 public. Lorsque vous exécutez la commande dans cette section, la valeur de --region doit correspondre à la Région de votre IPAM.

    Cette étape doit être réalisée par le compte 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. Consultez à nouveau vos CIDR BYOIP et vérifiez qu'il n'y a plus d'adresses provisionnées. Lorsque vous exécutez la commande dans cette section, la valeur de --region doit correspondre à la Région de votre IPAM.

    Cette étape doit être réalisée par le compte byoip-owner-account.

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

    Dans la sortie, vous verrez le nombre d'adresses IP dans votre groupe IPv4 public.

    { "PublicIpv4Pools": [ { "PoolId": "ipv4pool-ec2-0019eed22a684e0b3", "Description": "", "PoolAddressRanges": [], "TotalAddressCount": 0, "TotalAvailableAddressCount": 0, "NetworkBorderGroup": "us-east-1", "Tags": [] } ] }
  7. Exécutez la commande suivante pour supprimer le groupe de niveau supérieur.

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

    Dans la sortie, vous pouvez voir l'état de suppression.

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