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 en savoir plus, consultez 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.
Table des matières
- Étape 1 : activation d'IPAM dans votre organisation
- Étape 2 : création d'un IPAM
- Étape 3 : création d'un groupe d'adresses IPv4
- Étape 4 : approvisionnement d'un CIDR au groupe de niveau supérieur
- Étape 5. Création d'un groupe régional avec un CIDR provenant du groupe de niveau supérieur
- Étape 6 : approvisionnement d'un CIDR au groupe régional
- Étape 7. Création d'un partage RAM pour activer les attributions IP entre les comptes
- Étape 8. Création d'un VPC
- Étape 9. Nettoyage
É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égration d'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-id11111111111
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
-
Exécutez la commande suivante pour créer l'instance IPAM.
aws ec2 create-ipam --description
my-ipam
--regionus-east-1
--operating-regionsRegionName=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": [] } }
-
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
-
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-familyipv4
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": [] } }
-
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 en savoir plus, consultez Approvisionnement de CIDR à un groupe.
Pour provisionner un bloc d'adresse CIDR au groupe à l'aide d'AWS CLI
-
Exécutez la commande suivante pour provisionner le CIDR.
aws ec2 provision-ipam-pool-cidr --region
us-east-1
--ipam-pool-idipam-pool-0008f25d7187a08d9
--cidr10.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" } }
-
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-idipam-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
-
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"
--regionus-east-1
--ipam-scope-idipam-scope-065e7dfe880df679c
--source-ipam-pool-idipam-pool-0008f25d7187a08d9
--localeus-west-2
--address-familyipv4
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": [] } }
-
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
-
Exécutez la commande suivante pour provisionner le CIDR.
aws ec2 provision-ipam-pool-cidr --region
us-east-1
--ipam-pool-idipam-pool-0da89c821626f1e4b
--cidr10.0.0.0/16
La sortie indiquera l'état du groupe.
{ "IpamPoolCidr": { "Cidr": "10.0.0.0/16", "State": "pending-provision" } }
-
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-idipam-pool-0da89c821626f1e4b
L'exemple de sortie suivant illustre le bon état.
{ "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/16", "State": "provisioned" } ] }
-
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-idipam-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égration d'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
--namepool_share
--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0dec9695bca83e606
--principals123456
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-idipam-pool-04111dca0d960186e
--cidr-block10.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.
-
Supprimer le VPC.
aws ec2 delete-vpc --vpc-id
vpc-0983f3c454f3d8be5
-
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
-
Désactivez le CIDR du groupe régional.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id
ipam-pool-0da89c821626f1e4b
--regionus-east-1
-
Désactivez le CIDR du groupe de niveau supérieur.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id
ipam-pool-0008f25d7187a08d9
--regionus-east-1
-
Supprimez l'IPAM.
aws ec2 delete-ipam --region
us-east-1