Démarrage avec IPAM à l'aide de la CLI AWS - Amazon Virtual Private Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Démarrage avec IPAM à l'aide de la CLI AWS

Ce didacticiel vous guide tout au long du processus de configuration et d'utilisation d'Amazon VPC IP Address Manager (IPAM) avec la AWS CLI à l'aide d'un seul compte. AWS À la fin de ce didacticiel, vous aurez créé un IPAM, créé une hiérarchie de pools d'adresses IP et alloué un CIDR à un VPC.

Prérequis

Avant de commencer ce didacticiel, assurez-vous d'avoir :

  • Un AWS compte autorisé à créer et à gérer des ressources IPAM.

  • La AWS CLI est installée et configurée avec les informations d'identification appropriées. Pour plus d'informations sur l'installation de la AWS CLI, voir Installation ou mise à jour de la dernière version de la AWS CLI. Pour plus d'informations sur la configuration de la AWS CLI, consultez la section Principes de base de la configuration.

  • Compréhension de base de l'adressage IP et de la notation CIDR.

  • Connaissances de base des concepts Amazon VPC.

  • Environ 30 minutes pour terminer le didacticiel.

Création d'un IPAM

La première étape consiste à créer un IPAM avec des régions opérationnelles. Un IPAM vous aide à planifier, suivre et surveiller les adresses IP pour vos charges de AWS travail.

Créez un IPAM avec des régions opérationnelles dans us-east-1 et us-west-2 :

aws ec2 create-ipam \ --description "My IPAM" \ --operating-regions RegionName=us-east-1 RegionName=us-west-2

Cette commande crée un IPAM et lui permet de gérer les adresses IP dans les régions spécifiées. Les régions d'exploitation sont les AWS régions dans lesquelles l'IPAM est autorisé à gérer l'adresse CIDRs IP.

Vérifiez que votre IPAM a été créé :

aws ec2 describe-ipams

Prenez note de l'identifiant IPAM indiqué dans la sortie, car vous en aurez besoin pour les étapes suivantes.

Attendez que l'IPAM soit complètement créé et disponible (environ 20 secondes) :

sleep 20

Obtenez l'ID du scope IPAM

Lorsque vous créez un IPAM, il crée AWS automatiquement un scope privé et un scope public. Pour ce didacticiel, nous utiliserons le champ privé.

Récupérez les détails IPAM et extrayez l'ID du scope privé :

aws ec2 describe-ipams --ipam-id ipam-0abcd1234

ipam-0abcd1234Remplacez-le par votre identifiant IPAM actuel.

À partir de la sortie, identifiez et notez l'ID de portée privée indiqué PrivateDefaultScopeId dans le champ. Elle doit ressembler à ceci : ipam-scope-0abcd1234.

Création d'un pool de haut niveau IPv4

Créons maintenant un pool de haut niveau dans le périmètre privé. Ce pool servira de parent à tous les autres pools de notre hiérarchie.

Créez un IPv4 pool de haut niveau :

aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --address-family ipv4 \ --description "Top-level pool"

ipam-scope-0abcd1234Remplacez-le par votre identifiant de sphère privée actuel.

Attendez que le pool soit entièrement créé et disponible :

aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-0abcd1234 --query 'IpamPools[0].State' --output text

ipam-pool-0abcd1234Remplacez-le par votre véritable identifiant de pool de niveau supérieur. L'État devrait l'être create-complete avant de continuer.

Une fois le pool disponible, attribuez-lui un bloc CIDR :

aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-0abcd1234 \ --cidr 10.0.0.0/8

Attendez que le CIDR soit entièrement provisionné :

aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-0abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/8'].State" --output text

L'État devrait l'être provisioned avant de continuer.

Création d'un IPv4 pool régional

Créez ensuite un pool régional au sein du pool de niveau supérieur. Ce pool sera spécifique à une AWS région particulière.

Créez un IPv4 pool régional :

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"

ipam-scope-0abcd1234Remplacez-le par votre identifiant de domaine privé réel et ipam-pool-0abcd1234 par votre identifiant de pool de niveau supérieur.

Attendez que le pool régional soit entièrement créé et disponible :

aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-1abcd1234 --query 'IpamPools[0].State' --output text

ipam-pool-1abcd1234Remplacez-le par votre identifiant de pool régional actuel. L'État devrait l'être create-complete avant de continuer.

Une fois le pool disponible, attribuez-lui un bloc CIDR :

aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-1abcd1234 \ --cidr 10.0.0.0/16

Attendez que le CIDR soit entièrement provisionné :

aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-1abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/16'].State" --output text

L'État devrait l'être provisioned avant de continuer.

Création d'un IPv4 pool de développement

Créez maintenant un pool de développement au sein du pool régional. Ce pool sera utilisé pour les environnements de développement.

Créez un IPv4 pool de développement :

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"

ipam-scope-0abcd1234Remplacez-le par votre identifiant de domaine privé réel et ipam-pool-1abcd1234 par votre identifiant de pool régional.

Remarque : Il est important d'inclure le --locale paramètre correspondant aux paramètres régionaux du pool parent.

Attendez que le pool de développement soit entièrement créé et disponible :

aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-2abcd1234 --query 'IpamPools[0].State' --output text

ipam-pool-2abcd1234Remplacez-le par votre identifiant de pool de développement actuel. L'État devrait l'être create-complete avant de continuer.

Une fois le pool disponible, attribuez-lui un bloc CIDR :

aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-2abcd1234 \ --cidr 10.0.0.0/24

Attendez que le CIDR soit entièrement provisionné :

aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-2abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/24'].State" --output text

L'État devrait l'être provisioned avant de continuer.

Création d'un VPC à l'aide d'un pool IPAM CIDR

Enfin, créez un VPC qui utilise un CIDR de votre pool IPAM. Cela montre comment l'IPAM peut être utilisé pour allouer de l'espace d'adresse IP aux AWS ressources.

Créez un VPC à l'aide d'un pool IPAM CIDR :

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}]'

ipam-pool-2abcd1234Remplacez-le par votre identifiant de pool de développement actuel.

Le --ipv4-netmask-length 26 paramètre indique que vous souhaitez qu'un bloc CIDR /26 (64 adresses IP) soit alloué à partir du pool. Cette longueur de masque réseau est choisie pour s'assurer qu'elle est inférieure au bloc CIDR du pool (/24).

Vérifiez que votre VPC a été créé :

aws ec2 describe-vpcs --filters "Name=tag:Name,Values=IPAM-VPC"

Vérifiez l'allocation du pool IPAM

Vérifiez que le CIDR a été alloué à partir de votre pool IPAM :

aws ec2 get-ipam-pool-allocations \ --ipam-pool-id ipam-pool-2abcd1234

ipam-pool-2abcd1234Remplacez-le par votre identifiant de pool de développement actuel.

Cette commande affiche toutes les allocations du pool IPAM spécifié, y compris le VPC que vous venez de créer.

Résolution des problèmes

Voici quelques problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec IPAM :

  • Erreurs d'autorisation : assurez-vous que votre utilisateur ou rôle IAM dispose des autorisations nécessaires pour créer et gérer les ressources IPAM. Vous aurez peut-être besoin des autorisations ec2:CreateIpamec2:CreateIpamPool, et d'autres autorisations connexes.

  • Limite de ressources dépassée : par défaut, vous ne pouvez créer qu'un seul IPAM par compte. Si vous possédez déjà un IPAM, vous devez le supprimer avant d'en créer un nouveau ou d'utiliser l'existant.

  • Défaillances d'allocation CIDR : lors du provisionnement CIDRs vers des pools, assurez-vous que le CIDR que vous essayez de provisionner ne chevauche pas les allocations existantes dans d'autres pools.

  • Expiration des demandes d'API : si vous rencontrez des erreurs « RequestExpired », cela peut être dû à la latence du réseau ou à des problèmes de synchronisation horaire. Réessayez la commande.

  • Erreurs d'état incorrectes : si vous recevez des erreurs IncorrectState « », cela peut être dû au fait que vous essayez d'effectuer une opération sur une ressource dont l'état n'est pas correct. Attendez que la ressource soit entièrement créée ou provisionnée avant de continuer.

  • Erreurs de taille d'allocation : si vous recevez des erreurs InvalidParameterValue « » concernant la taille d'allocation, assurez-vous que la longueur du masque réseau que vous demandez est adaptée à la taille du pool. Par exemple, vous ne pouvez pas allouer un CIDR /25 à partir d'un pool /24.

  • Violations de dépendance : lors du nettoyage des ressources, vous pouvez rencontrer des erreurs DependencyViolation « ». Cela est dû au fait que les ressources sont dépendantes les unes des autres. Assurez-vous de supprimer les ressources dans l'ordre inverse de leur création et de leur déprovisionnement CIDRs avant de supprimer des pools.

Nettoyage des ressources

Lorsque vous aurez terminé ce didacticiel, vous devrez nettoyer les ressources que vous avez créées pour éviter d'encourir des frais inutiles.

  1. Supprimer le VPC

    aws ec2 delete-vpc --vpc-id vpc-0abcd1234
  2. Déprovisionnez le CIDR du pool de développement :

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-2abcd1234 --cidr 10.0.0.0/24
  3. Supprimez le pool de développement :

    aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-2abcd1234
  4. Déprovisionnez le CIDR du pool régional :

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-1abcd1234 --cidr 10.0.0.0/16
  5. Supprimez le pool régional :

    aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-1abcd1234
  6. Déprovisionnez le CIDR du pool de niveau supérieur :

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0abcd1234 --cidr 10.0.0.0/8
  7. Supprimez le pool de niveau supérieur :

    aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-0abcd1234
  8. Supprimez l'IPAM :

    aws ec2 delete-ipam --ipam-id ipam-0abcd1234

Remplacez tout IDs par votre ressource réelle IDs.

Note

Vous devrez peut-être attendre entre ces opérations pour permettre la suppression complète des ressources avant de passer à l'étape suivante. Si vous rencontrez des violations de dépendance, attendez quelques secondes et réessayez.

Étapes suivantes

Maintenant que vous avez appris à créer et à utiliser IPAM avec la AWS CLI, vous souhaiterez peut-être explorer des fonctionnalités plus avancées :