Tutorial: Erstellen eines IPAM und von Pools mit der AWS CLI
Führen Sie die Schritte in diesem Tutorial aus, um mit der AWS CLI einen IPAM zu erstellen, IP-Adresspools zu erstellen und eine VPC mit einem CIDR aus einem IPAM-Pool zuzuweisen.
Im Folgenden sehen Sie eine Beispielhierarchie der Poolstruktur, die Sie erstellen, indem Sie die Schritte in diesem Abschnitt ausführen:
-
IPAM arbeitet in AWS-Region 1, AWS-Region 2
-
Privater Bereich
-
Pool auf oberster Ebene
-
Regionaler Pool in AWS-Region 2
-
Entwicklungs-Pool
-
Zuteilung für eine VPC
-
-
-
-
-
Anmerkung
In diesem Abschnitt erstellen Sie ein IPAM. Sie können standardmäßig nur ein IPAM erstellen. Weitere Informationen finden Sie unter Kontingente für Ihr IPAM. Wenn Sie bereits ein IPAM-Konto delegiert und ein IPAM erstellt haben, können Sie die Schritte 1 und 2 überspringen.
Inhalt
Schritt 4: Stellen Sie ein CIDR für den Pool der obersten Ebene bereit
Schritt 5. Erstellen Sie einen regionalen Pool mit CIDR aus dem Pool der obersten Ebene
Schritt 6: Stellen Sie ein CIDR für den regionalen Pool bereit
Schritt 7. Erstellen Sie eine RAM-Freigabe zum Aktivieren von IP-Zuweisungen über Konten hinweg
Schritt 1: Aktivieren von IPAM in Ihrer Organisation
Dieser Schritt ist optional. Führen Sie diesen Schritt aus, um IPAM in Ihrer Organisation zu aktivieren und Ihr delegiertes IPAM mithilfe der AWS CLI zu konfigurieren. Weitere Informationen zur Rolle des IPAM-Kontos finden Sie unter Integration von IPAM mit Konten in AWS Organizations.
Diese Anfrage muss von einem Managementkonto für AWS Organizations gemacht werden. Stellen Sie beim Ausführen des folgenden Befehls sicher, dass Sie eine Rolle mit einer IAM-Richtlinie verwenden, die die folgenden Aktionen zulässt:
ec2:EnableIpamOrganizationAdminAccountorganizations:EnableAwsServiceAccessorganizations:RegisterDelegatedAdministratoriam:CreateServiceLinkedRole
aws ec2 enable-ipam-organization-admin-account --regionus-east-1--delegated-admin-account-id11111111111
Sie sollten die folgende Ausgabe sehen, die darauf hinweist, dass die Aktivierung erfolgreich war.
{
"Success": true
}
Schritt 2: Erstellen eines IPAMs
Führen Sie die Schritte in diesem Abschnitt aus, um ein IPAM zu erstellen und zusätzliche Informationen über die erstellten Bereiche anzuzeigen. Sie verwenden dieses IPAM, wenn Sie Pools erstellen und in späteren Schritten IP-Adressbereiche für diese Pools bereitstellen.
Anmerkung
Die Option „Betriebsregionen“ bestimmt, für welche AWS-Regionen die IPAM-Pools verwendet werden können. Weitere Informationen zum Betrieb von Regionen finden Sie unter Erstellen eines IPAM.
So erstellen Sie ein IPAM mithilfe der AWS CLI
-
Führen Sie den folgenden Befehl aus, um die IPAM-Instance zu erstellen.
aws ec2 create-ipam --descriptionmy-ipam--regionus-east-1--operating-regionsRegionName=us-west-2Wenn Sie ein IPAM erstellen, führt AWS automatisch Folgendes aus:
Gibt eine global eindeutige Ressourcen-ID (
IpamId) für das IPAM zurück.Erstellt einen öffentlichen Standardbereich (
PublicDefaultScopeId) und einen privaten Standardbereich (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": [] } } -
Führen Sie den folgenden Befehl aus, um zusätzliche Informationen im Zusammenhang mit den Bereichen anzuzeigen. Der öffentliche Bereich ist für IP-Adressen vorgesehen, auf die über das öffentliche Internet zugegriffen werden soll. Der private Bereich ist für IP-Adressen gedacht, auf die nicht über das öffentliche Internet zugegriffen werden kann.
aws ec2 describe-ipam-scopes --regionus-east-1In der Ausgabe sehen Sie die verfügbaren Bereiche. Im nächsten Schritt verwenden Sie die ID des privaten Bereichs.
{ "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 } ] }
Schritt 3: Erstellen eines IPv4-Adressenpools
Um einen IPv4-Adressenpool zu erstellen, führen Sie die Schritte in diesem Abschnitt aus.
Wichtig
Sie werden die --locale-Option auf diesem Pool der obersten Ebene nicht verwenden. Sie legen das Gebietsschema im Regionalpool fest. Das Gebietsschema ist die AWS-Region, in der ein Pool für CIDR-Zuweisungen verfügbar sein soll. Da das Gebietsschema nicht im Pool der obersten Ebene festgelegt wird, ist das Gebietsschema standardmäßig None. Wenn ein Pool ein Gebietsschema von None hat, wird der Pool für VPC-Ressourcen in jeder AWS-Region nicht verfügbar sein. Sie können den IP-Adressraum im Pool nur manuell zuweisen, um Speicherplatz zu reservieren.
So erstellen Sie einen IPv4-Adresspool für alle Ihre AWS-Ressourcen mithilfe der AWS CLI
-
Führen Sie den folgenden Befehl aus, um einen IPv4-Adressenpool zu erstellen. Verwenden Sie die ID des privaten Bereichs des IPAM, den Sie im vorherigen Schritt erstellt haben.
aws ec2 create-ipam-pool --ipam-scope-idipam-scope-065e7dfe880df679c--description"top-level-pool"--address-familyipv4In der Ausgabe sehen Sie einen Status von
create-in-progressfür den Pool.{ "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": [] } } -
Führen Sie den folgenden Befehl aus, bis Sie den Status von
create-completein der Ausgabe sehen.aws ec2 describe-ipam-poolsDie folgende Beispielausgabe zeigt den korrekten Zustand.
{ "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" } ] }
Schritt 4: Stellen Sie ein CIDR für den Pool der obersten Ebene bereit
Führen Sie die Schritte in diesem Abschnitt aus, um einen CIDR für den Pool der obersten Ebene bereitzustellen, und überprüfen Sie dann, ob das CIDR bereitgestellt wurde. Weitere Informationen finden Sie unter Bereitstellen von CIDRs für einen Pool.
So stellen Sie einen CIDR-Block für den Pool mit der AWS CLI
-
Führen Sie den folgenden Befehl aus, um das CIDR bereitzustellen.
aws ec2 provision-ipam-pool-cidr --regionus-east-1--ipam-pool-idipam-pool-0008f25d7187a08d9--cidr10.0.0.0/8In der Ausgabe können Sie den Status der Bereitstellung überprüfen.
{ "IpamPoolCidr": { "Cidr": "10.0.0.0/8", "State": "pending-provision" } } -
Führen Sie den folgenden Befehl aus, bis Sie den Status von
provisionedin der Ausgabe sehen.aws ec2 get-ipam-pool-cidrs --regionus-east-1--ipam-pool-idipam-pool-0008f25d7187a08d9Die folgende Beispielausgabe zeigt den korrekten Zustand.
{ "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/8", "State": "provisioned" } ] }
Schritt 5. Erstellen Sie einen regionalen Pool mit CIDR aus dem Pool der obersten Ebene
Wenn Sie einen IPAM-Pool erstellen, gehört der Pool standardmäßig zur AWS-Region des IPAM. Wenn Sie eine VPC erstellen, muss sich der Pool, aus dem die VPC bezieht, in derselben Region befinden wie die VPC. Sie können die --locale-Option beim Erstellen eines Pools verwenden, um den Pool für Dienste in einer anderen Region als der IPAM-Region verfügbar zu machen. Um einen Regionalpool in einem anderen Gebietsschema zu erstellen, führen Sie die Schritte in diesem Abschnitt aus.
So erstellen Sie einen Pool mit einem CIDR aus dem vorherigen Pool unter Verwendung der AWS CLI
-
Führen Sie den folgenden Befehl aus, um den Pool zu erstellen und Leerzeichen mit einem bekannten verfügbaren CIDR aus dem vorherigen Pool einzufügen.
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-familyipv4In der Ausgabe sehen Sie die ID des Pools, den Sie erstellt haben. Sie benötigen diese ID im nächsten Schritt.
{ "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": [] } } -
Führen Sie den folgenden Befehl aus, bis Sie den Status von
create-completein der Ausgabe sehen.aws ec2 describe-ipam-poolsIn der Ausgabe sehen Sie die Pools, die Sie in Ihrem IPAM haben. In diesem Tutorial haben wir einen Pool auf oberster Ebene und einen regionalen Pool erstellt, sodass Sie beide sehen.
{ "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" } ] }
Schritt 6: Stellen Sie ein CIDR für den regionalen Pool bereit
Führen Sie die Schritte in diesem Abschnitt aus, um dem Pool einen CIDR-Block zuzuweisen und zu überprüfen, ob er erfolgreich bereitgestellt wurde.
So weisen Sie dem Regionalpool einen CIDR-Block zu, indem Sie die verwenden AWS CLI
-
Führen Sie den folgenden Befehl aus, um das CIDR bereitzustellen.
aws ec2 provision-ipam-pool-cidr --regionus-east-1--ipam-pool-idipam-pool-0da89c821626f1e4b--cidr10.0.0.0/16In der Ausgabe sehen Sie einen Status für den Pool.
{ "IpamPoolCidr": { "Cidr": "10.0.0.0/16", "State": "pending-provision" } } -
Führen Sie den folgenden Befehl aus, bis Sie den Status von
provisionedin der Ausgabe sehen.aws ec2 get-ipam-pool-cidrs --regionus-east-1--ipam-pool-idipam-pool-0da89c821626f1e4bDie folgende Beispielausgabe zeigt den korrekten Zustand.
{ "IpamPoolCidrs": [ { "Cidr": "10.0.0.0/16", "State": "provisioned" } ] } -
Führen Sie den folgenden Befehl aus, um den Pool der obersten Ebene abzufragen, um die Zuweisungen anzuzeigen. Der Regionalpool gilt als Zuweisung innerhalb des Pools der obersten Ebene.
aws ec2 get-ipam-pool-allocations --regionus-east-1--ipam-pool-idipam-pool-0008f25d7187a08d9In der Ausgabe sehen Sie den Regionalpool als Zuweisung im Pool der obersten Ebene.
{ "IpamPoolAllocations": [ { "Cidr": "10.0.0.0/16", "IpamPoolAllocationId": "ipam-pool-alloc-fbd525f6c2bf4e77a75690fc2d93479a", "ResourceId": "ipam-pool-0da89c821626f1e4b", "ResourceType": "ipam-pool", "ResourceOwner": "123456789012" } ] }
Schritt 7. Erstellen Sie eine RAM-Freigabe zum Aktivieren von IP-Zuweisungen über Konten hinweg
Dieser Schritt ist optional. Sie können diesen Schritt nur ausführen, wenn Sie abgeschlossen haben Integration von IPAM mit Konten in AWS Organizations.
Wenn Sie einen IPAM-Pool erstellen, ermöglicht die AWS-RAM-Freigabe IP-Zuweisungen über Konten hinweg. RAM-Freigabe ist nur in Ihrer AWS-Heimatregion verfügbar. Beachten Sie, dass Sie diese Freigabe in derselben Region wie das IPAM erstellen, nicht in der lokalen Region für den Pool. Alle Verwaltungsoperationen für IPAM-Ressourcen werden über die Heimatregion Ihres IPAM durchgeführt. Das Beispiel in diesem Tutorial erstellt eine einzelne Freigabe für einen einzelnen Pool, Sie können jedoch mehrere Pools zu einer einzigen Freigabe hinzufügen. Weitere Informationen, einschließlich einer Erläuterung der Optionen, die Sie eingeben müssen, finden Sie unter Teilen Sie einen IPAM-Pool mit AWS RAM.
Führen Sie den folgenden Befehl aus, um eine Ressourcenfreigabe zu erstellen.
aws ram create-resource-share --regionus-east-1--namepool_share--resource-arnsarn:aws:ec2::123456789012:ipam-pool/ipam-pool-0dec9695bca83e606--principals123456
Die Ausgabe zeigt, dass der Pool erstellt wurde.
{
"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
}
}
Schritt 8. Erstellen einer VPC
Führen Sie den folgenden Befehl aus, um eine VPC zu erstellen und der VPC aus dem Pool in Ihrem neu erstellten IPAM einen CIDR-Block zuzuweisen.
aws ec2 create-vpc --regionus-east-1--ipv4-ipam-pool-idipam-pool-04111dca0d960186e--cidr-block10.0.0.0/24
Die Ausgabe zeigt, dass die VPC erstellt wurde.
{
"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
}
}
Schritt 9. Bereinigen
Führen Sie die Schritte in diesem Abschnitt aus, um die IPAM-Ressourcen zu löschen, die Sie in diesem Tutorial erstellt haben.
-
Löschen der VPC.
aws ec2 delete-vpc --vpc-idvpc-0983f3c454f3d8be5 -
Löschen Sie die RAM-Freigabe des IPAM-Pools.
aws ram delete-resource-share --resource-share-arnarn:aws:ram:us-west-2:123456789012:resource-share/3ab63985-99d9-1cd2-7d24-75e93EXAMPLE -
Aufhebung des Pools-CIDRs aus dem Regionalpool.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-idipam-pool-0da89c821626f1e4b--regionus-east-1 -
Heben Sie die Bereitstellung von Pool-CIDR aus dem Pool der obersten Ebene auf.
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-idipam-pool-0008f25d7187a08d9--regionus-east-1 -
Löschen Sie das IPAM
aws ec2 delete-ipam --regionus-east-1