Tutorial: criar um IPAM e grupos usando a AWS CLI
Siga as etapas neste tutorial para usar a AWS CLI para criar um IPAM, criar grupos de endereço IP e alocar uma VPC com um CIDR em um grupo do IPAM.
O exemplo a seguir mostra a hierarquia da estrutura de grupos que você criará seguindo as etapas nesta seção.
-
IPAM operando na região da AWS 1, região da AWS 2
-
Escopo privado
-
Grupo de nível superior
-
Grupo regional na região da AWS 2
-
Grupo de desenvolvimento
-
Alocação para uma VPC
-
-
-
-
-
nota
Nesta seção, você cria um IPAM. Por padrão, é possível criar apenas um IPAM. Para ter mais informações, consulte Cotas para o IPAM. Se você já delegou uma conta do IPAM e criou um IPAM, você poderá ignorar as etapas 1 e 2.
Conteúdo
Etapa 1: habilitar o IPAM na sua organização
Esta etapa é opcional. Conclua esta etapa para habilitar o IPAM em sua organização e configurar o IPAM delegado usando a AWS CLI. Para obter mais informações sobre a função da conta do IPAM, consulte Integrar o IPAM a contas em uma organização da AWS Organizations.
Essa solicitação deve ser feita a partir de uma conta de gerenciamento do AWS Organizations. Ao executar o seguinte comando, certifique-se de estar usando uma função com uma política do IAM que permita as seguintes ações:
ec2:EnableIpamOrganizationAdminAccount
organizations:EnableAwsServiceAccess
organizations:RegisterDelegatedAdministrator
iam:CreateServiceLinkedRole
aws ec2 enable-ipam-organization-admin-account --region
us-east-1
--delegated-admin-account-id11111111111
Você deverá ver a saída a seguir, indicando que a habilitação foi bem-sucedida.
{
"Success": true
}
Etapa 2: criar um IPAM
Siga as etapas nesta seção para criar um IPAM e visualizar informações adicionais sobre os escopos criados. Você usará esse IPAM ao criar grupos e provisionar intervalos de endereços IP para esses grupos em etapas posteriores.
nota
A opção regiões operacionais determina para quais regiões da AWS os grupos do IPAM podem ser usados. Para ver mais informações sobre as regiões operacionais, consulte Criar um IPAM.
Para criar um IPAM usando a AWS CLI
-
Execute o comando a seguir para criar uma instância do IPAM.
aws ec2 create-ipam --description
my-ipam
--regionus-east-1
--operating-regionsRegionName=us-west-2
Quando você cria um IPAM, a AWS faz automaticamente o seguinte:
Retorna um ID de recurso exclusivo globalmente (
IpamId
) para o IPAM.Cria um escopo público padrão (
PublicDefaultScopeId
) e um escopo privado padrão (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": [] } }
-
Execute o comando a seguir para visualizar informações adicionais relacionadas aos escopos. O escopo público é destinado a endereços IP que serão acessados via Internet pública. O escopo privado é destinado a endereços IP que não serão acessados via Internet pública.
aws ec2 describe-ipam-scopes --region
us-east-1
Na saída, você vê os escopos disponíveis. Você usará o ID do escopo privado na próxima etapa.
{ "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 } ] }
Etapa 3: criar um grupo de endereços IPv4
Siga as etapas nesta seção para criar um grupo de endereços IPv4.
Importante
Você não usará a opção --locale
neste grupo de nível superior. Você definirá a opção de localidade no grupo regional. A localidade é a região da AWS na qual você deseja que um grupo esteja disponível para alocações de CIDR. Como a localidade não está definida no grupo de nível superior, o padrão None
será adotado. Se um grupo tiver uma localidade None
, não estará disponível para recursos da VPC em nenhuma região da AWS. Você só pode alocar manualmente o espaço de endereço IP no grupo para reservar espaço.
Para criar um grupo de endereços IPv4 para todos os seus recursos da AWS usando a AWS CLI
-
Execute o comando a seguir para criar um grupo de endereços IPv4. Use o ID do escopo privado do IPAM criado na etapa anterior.
aws ec2 create-ipam-pool --ipam-scope-id
ipam-scope-065e7dfe880df679c
--description"top-level-pool"
--address-familyipv4
Na saída, você verá um estado de
create-in-progress
para o grupo.{ "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": [] } }
-
Execute o comando a seguir até ver um estado
create-complete
na saída.aws ec2 describe-ipam-pools
O exemplo de saída a seguir mostra o estado correto.
{ "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" } ] }
Etapa 4: provisionar um CIDR para o grupo de nível superior
Siga as etapas desta seção para provisionar um CIDR para o grupo de nível superior e, em seguida, verificar se o CIDR está provisionado. Para ter mais informações, consulte Provisionar CIDRs para um grupo.
Para provisionar um bloco CIDR para o grupo usando o AWS CLI
-
Execute o comando a seguir para provisionar o CIDR.
aws ec2 provision-ipam-pool-cidr --region
us-east-1
--ipam-pool-idipam-pool-0008f25d7187a08d9
--cidr10.0.0.0/8
Na saída, você pode verificar o estado do provisionamento.
{ "IpamPoolCidr": { "Cidr": "10.0.0.0/8", "State": "pending-provision" } }
-
Execute o comando a seguir até ver um estado
provisioned
na saída.aws ec2 get-ipam-pool-cidrs --region
us-east-1
--ipam-pool-idipam-pool-0008f25d7187a08d9
O exemplo de saída a seguir mostra o estado correto.
{ "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/8", "State": "provisioned" } ] }
Etapa 5. Criar um grupo regional com o CIDR originado do grupo de nível superior
Ao criar um grupo do IPAM, o grupo pertence à região da AWS do IPAM por padrão. Quando você cria uma VPC, o grupo do qual a VPC extrai deverá estar na mesma região da VPC. Você pode usar a opção --locale
ao criar um grupo para disponibilizá-lo para serviços em uma região diferente da região do IPAM. Siga as etapas nesta seção para criar um grupo regional em outra localidade.
Para criar um grupo com um CIDR originado do grupo anterior usando a AWS CLI
-
Execute o comando a seguir para criar o grupo e inserir espaço com um CIDR disponível conhecido do grupo anterior.
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
Na saída, você verá o ID do grupo criado. Você precisará desse ID na próxima etapa.
{ "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": [] } }
-
Execute o comando a seguir até ver um estado
create-complete
na saída.aws ec2 describe-ipam-pools
Na saída, você vê os grupos que tem no IPAM. Neste tutorial, criamos um grupo regional e um de nível superior. Você verá ambos.
{ "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" } ] }
Etapa 6: provisionar um CIDR para o grupo regional
Siga as etapas desta seção para atribuir um bloco CIDR ao grupo e validar se ele foi provisionado com sucesso.
Para atribuir um bloco CIDR ao grupo regional usando a AWS CLI
-
Execute o comando a seguir para provisionar o CIDR.
aws ec2 provision-ipam-pool-cidr --region
us-east-1
--ipam-pool-idipam-pool-0da89c821626f1e4b
--cidr10.0.0.0/16
Na saída, você verá o estado do grupo.
{ "IpamPoolCidr": { "Cidr": "10.0.0.0/16", "State": "pending-provision" } }
-
Execute o comando a seguir até ver um estado
provisioned
na saída.aws ec2 get-ipam-pool-cidrs --region
us-east-1
--ipam-pool-idipam-pool-0da89c821626f1e4b
O exemplo de saída a seguir mostra o estado correto.
{ "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/16", "State": "provisioned" } ] }
-
Execute o comando a seguir para consultar o grupo de nível superior e visualizar as alocações. O grupo regional é considerado uma alocação dentro do grupo de nível superior.
aws ec2 get-ipam-pool-allocations --region
us-east-1
--ipam-pool-idipam-pool-0008f25d7187a08d9
Na saída, você vê o grupo regional como uma alocação no grupo de nível superior.
{ "IpamPoolAllocations": [ { "Cidr": "10.0.0.0/16", "IpamPoolAllocationId": "ipam-pool-alloc-fbd525f6c2bf4e77a75690fc2d93479a", "ResourceId": "ipam-pool-0da89c821626f1e4b", "ResourceType": "ipam-pool", "ResourceOwner": "123456789012" } ] }
Etapa 7. Criar um compartilhamento do RAM para habilitar atribuições de IP nas contas
Esta etapa é opcional. Você poderá concluir esta etapa somente se tiver concluído Integrar o IPAM a contas em uma organização da AWS Organizations.
Ao criar um compartilhamento do AWS RAM do grupo do IPAM, ele habilita atribuições de IP entre contas. O compartilhamento do RAM só está disponível em sua região da AWS inicial. Observe que você cria esse compartilhamento na mesma região que o IPAM, não na região local do grupo. Todas as operações administrativas em recursos do IPAM são feitas por meio da região inicial do IPAM. O exemplo neste tutorial cria um único compartilhamento para um único grupo, mas você pode adicionar vários grupos a um único compartilhamento. Para obter mais informações, incluindo uma explicação das opções que você deve inserir, consulte Compartilhar um grupo do IPAM usando o AWS RAM.
Execute os comandos a seguir para criar um compartilhamento de recursos.
aws ram create-resource-share --region
us-east-1
--namepool_share
--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0dec9695bca83e606
--principals123456
A saída mostra que o grupo foi criado.
{
"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
}
}
Etapa 8. Crie uma VPC
Execute o comando a seguir para criar uma VPC e atribuir um bloco CIDR à VPC a partir do grupo em seu IPAM recém-criado.
aws ec2 create-vpc --region
us-east-1
--ipv4-ipam-pool-idipam-pool-04111dca0d960186e
--cidr-block10.0.0.0/24
A saída mostra que a VPC foi criada.
{
"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
}
}
Etapa 9. Limpeza
Siga as etapas nesta seção para excluir os recursos do IPAM que você criou neste tutorial.
-
Exclua a VPC.
aws ec2 delete-vpc --vpc-id
vpc-0983f3c454f3d8be5
-
Exclua o compartilhamento de RAM do grupo do IPAM.
aws ram delete-resource-share --resource-share-arn
arn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE
-
Desprovisione o CIDR de grupo do grupo regional.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id
ipam-pool-0da89c821626f1e4b
--regionus-east-1
-
Desprovisione o CIDR de grupo do grupo de nível superior.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id
ipam-pool-0008f25d7187a08d9
--regionus-east-1
-
Excluir o IPAM
aws ec2 delete-ipam --region
us-east-1