Didacticiel : créer un IPAM et des groupes en utilisant la AWS CLI - 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.

Didacticiel : créer un IPAM et des groupes en utilisant la AWS CLI

Suivez les étapes de ce didacticiel pour utiliser la AWS CLI afin de créer un IPAM, de créer des groupes d'adresses IP et d'allouer un VPC avec un CIDR à partir d'un groupe IPAM.

L'exemple suivant illustre la hiérarchie de la structure de groupes que vous allez créer en suivant les étapes de cette section :

  • IPAM opérant dans Région 1 AWS et Région 2 AWS

    • Portée privée

      • Groupe de niveau supérieur

        • Groupe régional dans Région 2 AWS

          • Groupe de développement

            • Allocation pour un VPC

Note

Dans cette section, vous allez créer un IPAM. Par défaut, vous ne pouvez créer qu'un IPAM. Pour de plus amples informations, veuillez consulter Quotas pour votre IPAM. Si vous avez déjà délégué un compte IPAM et créé un IPAM, vous pouvez ignorer les étapes 1 et 2.

Étape 1 : activation d'IPAM dans votre organisation

Cette étape est facultative. Effectuez cette étape pour activer IPAM dans votre organisation et configurer votre IPAM délégué à l'aide d'AWS CLI. Pour plus d'informations sur le rôle du compte IPAM, consultez Intégrer l'IPAM aux comptes d'une organisation AWS.

Cette demande doit être faite à partir d'un compte de gestion AWS Organizations. Lorsque vous exécutez la commande suivante, vérifiez que vous utilisez un rôle avec une stratégie IAM autorisant les actions suivantes :

  • ec2:EnableIpamOrganizationAdminAccount

  • organizations:EnableAwsServiceAccess

  • organizations:RegisterDelegatedAdministrator

  • iam:CreateServiceLinkedRole

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

La sortie suivante doit s'afficher. Elle indique que l'activation a réussi.

{ "Success": true }

Étape 2 : création d'un IPAM

Suivez les étapes de cette section pour créer un IPAM et afficher des informations supplémentaires sur les portées créées. Vous utiliserez cet IPAM lorsque vous créerez des groupes et que vous provisionnerez des plages d'adresses IP pour ces groupes lors d'étapes ultérieures.

Note

L'option OperatingRegions (Régions d'exploitation) détermine les Régions AWS pour lesquelles les groupes IPAM peuvent être utilisés. Pour plus d'informations sur les Régions d'opération, consultez Création d'un IPAM.

Pour créer un IPAM à l'aide d'AWS CLI
  1. Exécutez la commande suivante pour créer l'instance IPAM.

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

    Lorsque vous créez un IPAM, AWS effectue automatiquement les actions suivantes :

    • Renvoi d'un ID de ressource globalement unique (IpamId) pour l'IPAM.

    • Création d'une portée publique par défaut (PublicDefaultScopeId) et d'une portée privée par défaut (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. Exécutez la commande suivante pour afficher des informations supplémentaires relatives aux portées. La portée publique est destinée aux adresses IP qui seront accessibles via l'Internet public. La portée privée est destinée aux adresses IP qui ne seront pas accessibles via l'Internet public.

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

    Les portées disponibles sont indiquées dans la sortie. Vous allez utiliser l'ID de portée privée à l'étape suivante.

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

Étape 3 : création d'un groupe d'adresses IPv4

Suivez les étapes de cette section pour créer un groupe d'adresses IPv4.

Important

Vous n'utiliserez pas l’option --locale sur ce groupe de niveau supérieur. Vous définirez l’option locale plus tard sur le groupe Régional. L’option locale est la Région AWS dans laquelle vous souhaitez qu’un groupe soit disponible pour les allocations CIDR. En raison de l'absence de paramètres pour l’option locale sur le groupe de niveau supérieur, les paramètres seront définis par défaut sur None. Si un groupe possède une option locale de None, le groupe ne sera pas disponible pour les ressources VPC dans aucune Région AWS. Vous pouvez uniquement allouer manuellement de l'espace pour adresse IP dans le groupe pour réserver de l'espace.

Pour créer un groupe d'adresses IPv4 pour toutes vos ressources AWS utilisant AWS CLI
  1. Exécutez la commande suivante pour créer un groupe d'adresses IPv4. Utilisez l'ID de portée privée de l'IPAM que vous avez créé à l'étape précédente.

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

    Dans la sortie, le groupe affichera l'état create-in-progress.

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

    aws ec2 describe-ipam-pools

    L'exemple de sortie suivant illustre le bon état.

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

Étape 4 : approvisionnement d'un CIDR au groupe de niveau supérieur

Suivez les étapes de cette section pour provisionner un CIDR au groupe de niveau supérieur, puis vérifier que le CIDR est provisionné. Pour de plus amples informations, veuillez consulter Mise CIDRs à disposition d'une piscine.

Pour provisionner un bloc d'adresse CIDR au groupe à l'aide d'AWS CLI
  1. Exécutez la commande suivante pour provisionner le CIDR.

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

    Dans la sortie, vous pouvez vérifier l'état de l'approvisionnement.

    { "IpamPoolCidr": { "Cidr": "10.0.0.0/8", "State": "pending-provision" } }
  2. Exécutez la commande suivante jusqu'à ce que l'état provisioned apparaisse dans la sortie.

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

    L'exemple de sortie suivant illustre le bon état.

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

Étape 5. Création d'un groupe régional avec un CIDR provenant du groupe de niveau supérieur

Lorsque vous créez un groupe IPAM, celui-ci appartient par défaut à la Région AWS de l'IPAM. Lorsque vous créez un VPC, le groupe duquel il provient doit se trouver dans la même Région que le VPC. Vous pouvez utiliser l'option --locale lorsque vous créez un groupe pour le rendre disponible pour les services d'une Région autre que la Région de l'IPAM. Suivez les étapes de cette section pour créer un groupe régional dans un autre paramètre régional.

Pour créer un groupe avec un CIDR provenant du groupe précédent à l'aide d'AWS CLI
  1. Exécutez la commande suivante pour créer le groupe et insérer un espace avec un CIDR disponible connu provenant du groupe précédent.

    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

    Dans la sortie, vous verrez l'ID du groupe que vous avez créé. Vous aurez besoin de cet ID à la prochaine étape.

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

    aws ec2 describe-ipam-pools

    Dans la sortie, vous verrez les groupes que vous avez dans votre IPAM. Dans ce tutoriel, nous avons créé un groupe de niveau supérieur et un groupe régional. Vous verrez donc les deux.

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

Étape 6 : approvisionnement d'un CIDR au groupe régional

Suivez les étapes de cette section pour attribuer un bloc d'adresse CIDR au groupe et vérifier qu'il a été correctement provisionné.

Pour attribuer un bloc d'adresse CIDR au groupe régional à l'aide d'AWS CLI
  1. Exécutez la commande suivante pour provisionner le CIDR.

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

    La sortie indiquera l'état du groupe.

    { "IpamPoolCidr": { "Cidr": "10.0.0.0/16", "State": "pending-provision" } }
  2. Exécutez la commande suivante jusqu'à ce que l'état provisioned apparaisse dans la sortie.

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

    L'exemple de sortie suivant illustre le bon état.

    { "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/16", "State": "provisioned" } ] }
  3. Exécutez la commande suivante pour interroger le groupe de niveau supérieur afin d'afficher les allocations. Le groupe régional est considéré comme une allocation au sein du groupe de niveau supérieur.

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

    Dans la sortie, le groupe régional est indiqué comme une allocation dans le groupe de niveau supérieur.

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

Étape 7. Création d'un partage RAM pour activer les attributions IP entre les comptes

Cette étape est facultative. Vous ne pouvez effectuer cette étape que si vous avez terminé Intégrer l'IPAM aux comptes d'une organisation AWS.

La création d'un partage AWS RAM pour un groupe IPAM permet d'activer les attributions IP entre les comptes. Le partage RAM n'est disponible que dans votre Région AWS d'origine. Notez que vous créez ce partage dans la même Région que l'IPAM, et non dans la Région locale du groupe. Toutes les opérations administratives sur les ressources de l'IPAM sont effectuées par l'intermédiaire de la région d'origine votre IPAM. L'exemple de ce tutoriel crée un partage unique pour un groupe unique, mais vous pouvez ajouter plusieurs groupes à un seul partage. Pour plus d'informations, y compris une explication des options que vous devez saisir, consultez Partage d'un groupe IPAM à l'aide d'AWS RAM.

Exécutez la commande suivante pour créer un partage de ressources.

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

La sortie montre que le groupe a été créé.

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

Étape 8. Création d'un VPC

Exécutez la commande suivante pour créer un VPC et attribuer un bloc d'adresse CIDR au VPC à partir du groupe de votre nouvel IPAM.

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

La sortie montre que le VPC a été créé.

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

Étape 9. Nettoyage

Suivez les étapes de cette section pour supprimer les ressources IPAM que vous avez créées dans ce tutoriel.

  1. Supprimer le VPC.

    aws ec2 delete-vpc --vpc-id vpc-0983f3c454f3d8be5
  2. Supprimez le partage RAM du groupe IPAM.

    aws ram delete-resource-share --resource-share-arn arn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE
  3. Désactivez le CIDR du groupe régional.

    aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0da89c821626f1e4b --region us-east-1
  4. Désactivez le CIDR du groupe de niveau supérieur.

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

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