Erste Schritte mit IPAM mithilfe der AWS CLI
Dieses Tutorial führt Sie durch den Prozess der Einrichtung und Verwendung von Amazon VPC IP Address Manager (IPAM) mit der AWS CLI unter Verwendung eines einzigen AWS-Kontos. Am Ende dieses Tutorials haben Sie ein IPAM erstellt, eine Hierarchie von Pools von IP-Adressen erstellt und einer VPC ein CIDR zugewiesen.
Voraussetzungen
Stellen Sie vor Beginn dieses Tutorials sicher, dass Sie über Folgendes verfügen:
-
Ein AWS-Konto mit Berechtigungen zum Erstellen und Verwalten von IPAM-Ressourcen.
-
Die AWS CLI, installiert und konfiguriert mit den entsprechenden Anmeldeinformationen. Informationen zur Installation von AWS CLI finden Sie unter Installieren oder Aktualisieren der neuesten Version der AWS CLI. Weitere Informationen zum Konfigurieren der AWS CLI finden Sie unter Konfigurationsgrundlagen.
-
Grundlegendes Verständnis von IP-Adressierung und CIDR-Notation.
-
Grundkenntnisse der Amazon-VPC-Konzepte.
-
Ungefähr 30 Minuten zur Absolvierung des Tutorials.
Erstellen eines IPAM
Zunächst erstellen Sie ein IPAM mit Betriebsregionen. Mit IPAM können Sie IP-Adressen für Ihre AWS-Workloads planen, verfolgen und überwachen.
Erstellen Sie ein IPAM mit Betriebsregionen in Region „us-east-1“ und „us-west-2“:
aws ec2 create-ipam \ --description "My IPAM" \ --operating-regions RegionName=us-east-1 RegionName=us-west-2
Dieser Befehl erstellt ein IPAM und ermöglicht es ihm, IP-Adressen in den angegebenen Regionen zu verwalten. Die Betriebsregionen sind AWS-Regionen, in denen das IPAM IP-Adressen-CIDRs verwalten darf.
Stellen Sie sicher, dass Ihr IPAM erstellt wurde:
aws ec2 describe-ipams
Notieren Sie die IPAM-ID aus der Ausgabe, da Sie sie für nachfolgende Schritte benötigen.
Warten Sie, bis das IPAM vollständig erstellt und verfügbar ist (ca. 20 Sekunden):
sleep 20
Rufen Sie die IPAM-Bereichs-ID ab
Während der Erstellung des IPAM erstellt AWS automatisch einen privaten und einen öffentlichen Bereich. Für dieses Tutorial verwenden wir den privaten Bereich.
Rufen Sie die IPAM-Details ab und extrahieren Sie die private Bereichs-ID:
aws ec2 describe-ipams --ipam-id ipam-0abcd1234
Ersetzen Sie ipam-0abcd1234 durch Ihre tatsächliche IPAM-ID.
Identifizieren und notieren Sie von der Ausgabe die private Bereichs-ID aus dem PrivateDefaultScopeId-Feld. Dies sieht etwa so aus: ipam-scope-0abcd1234.
Erstellen eines IPv4-Pools der obersten Ebene
Lassen Sie uns nun einen Pool auf höchster Ebene im privaten Bereich erstellen. Dieser Pool wird als übergeordneter Pool für alle anderen Pools in unserer Hierarchie dienen.
Ein IPv4-Pool der obersten Ebene erstellen
aws ec2 create-ipam-pool \ --ipam-scope-id ipam-scope-0abcd1234 \ --address-family ipv4 \ --description "Top-level pool"
Ersetzen Sie ipam-scope-0abcd1234 durch Ihre tatsächliche private Bereichs-ID.
Warten Sie, bis der Pool vollständig erstellt und verfügbar ist:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-0abcd1234 --query 'IpamPools[0].State' --output text
Ersetzen Sie ipam-pool-0abcd1234 durch Ihre tatsächliche Pool-ID der obersten Ebene. Der Status sollte create-complete sein, bevor Sie fortfahren.
Nachdem der Pool verfügbar ist, stellen Sie einen CIDR-Block für ihn bereit:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-0abcd1234 \ --cidr 10.0.0.0/8
Warten Sie, bis der CIDR vollständig bereitgestellt ist:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-0abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/8'].State" --output text
Der Status sollte provisioned sein, bevor Sie fortfahren.
Erstellen eines regionalen IPv4-Pools
Erstellen Sie als Nächstes einen regionalen Pool im Pool der obersten Ebene. Dieser Pool wird spezifisch für eine bestimmte AWS-Region sein.
Erstellen eines regionalen IPv4-Pools:
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"
Ersetzen Sie ipam-scope-0abcd1234 durch Ihre tatsächliche private Bereichs-ID und ipam-pool-0abcd1234 durch Ihre Pool-ID der obersten Ebene.
Warten Sie, bis der regionale Pool vollständig erstellt und verfügbar ist:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-1abcd1234 --query 'IpamPools[0].State' --output text
Ersetzen Sie ipam-pool-1abcd1234 durch Ihre tatsächliche regionale Pool-ID. Der Status sollte create-complete sein, bevor Sie fortfahren.
Nachdem der Pool verfügbar ist, stellen Sie einen CIDR-Block für ihn bereit:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-1abcd1234 \ --cidr 10.0.0.0/16
Warten Sie, bis der CIDR vollständig bereitgestellt ist:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-1abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/16'].State" --output text
Der Status sollte provisioned sein, bevor Sie fortfahren.
Erstellen eines IPv4-Entwicklungspool
Erstellen Sie jetzt einen Entwicklungspool in einem regionalen Pool. Dieser Pool wird für Entwicklungsumgebungen verwendet.
Einen IPv4-Entwicklungspool erstellen:
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"
Ersetzen Sie ipam-scope-0abcd1234 durch Ihre tatsächliche private Bereichs-ID und ipam-pool-1abcd1234 durch Ihre regionale Pool-ID.
Hinweis: Es ist wichtig, dass der --locale-Parameter dem Gebietsschema des übergeordneten Pools entspricht.
Warten Sie, bis der Entwicklungspool vollständig erstellt und verfügbar ist:
aws ec2 describe-ipam-pools --ipam-pool-ids ipam-pool-2abcd1234 --query 'IpamPools[0].State' --output text
Ersetzen Sie ipam-pool-2abcd1234 durch Ihre tatsächliche Entwicklungspool-ID. Der Status sollte create-complete sein, bevor Sie fortfahren.
Nachdem der Pool verfügbar ist, stellen Sie einen CIDR-Block für ihn bereit:
aws ec2 provision-ipam-pool-cidr \ --ipam-pool-id ipam-pool-2abcd1234 \ --cidr 10.0.0.0/24
Warten Sie, bis der CIDR vollständig bereitgestellt ist:
aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-2abcd1234 --query "IpamPoolCidrs[?Cidr=='10.0.0.0/24'].State" --output text
Der Status sollte provisioned sein, bevor Sie fortfahren.
Erstellen Sie eine VPC, die ein IPAM-Pool-CIDR verwendet
Erstellen Sie abschließend eine VPC, die ein CIDR aus Ihrem IPAM-Pool verwendet. Dies zeigt, wie IPAM verwendet werden kann, um AWS-Ressourcen IP-Adressraum zuzuweisen.
Erstellen Sie eine VPC, die ein IPAM-Pool-CIDR verwendet:
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}]'
Ersetzen Sie ipam-pool-2abcd1234 durch Ihre tatsächliche Entwicklungspool-ID.
Der --ipv4-netmask-length 26-Parameter gibt an, dass ein /26-CIDR-Block (64 IP-Adressen) aus dem Pool zugewiesen werden soll. Diese Netzmaskenlänge wird so gewählt, dass sie kleiner ist als der CIDR-Block des Pools (/24).
Stellen Sie sicher, dass Ihre VPC erstellt wurde:
aws ec2 describe-vpcs --filters "Name=tag:Name,Values=IPAM-VPC"
Überprüfen Sie die IPAM-Poolzuweisung
Überprüfen Sie, ob der CIDR aus Ihrem IPAM-Pool zugewiesen wurde:
aws ec2 get-ipam-pool-allocations \ --ipam-pool-id ipam-pool-2abcd1234
Ersetzen Sie ipam-pool-2abcd1234 durch Ihre tatsächliche Entwicklungspool-ID.
Dieser Befehl zeigt alle Zuweisungen aus dem angegebenen IPAM-Pool an, einschließlich der gerade erstellten VPC.
Fehlerbehebung
Das sind einige häufig auftretende Probleme bei der Arbeit mit IPAM:
-
Berechtigungsfehler: Stellen Sie sicher, dass Ihr IAM-Benutzer oder Ihre IAM-Rolle über die erforderlichen Berechtigungen zum Erstellen und Verwalten von IPAM-Ressourcen verfügt. Möglicherweise benötigen Sie die
ec2:CreateIpam,ec2:CreateIpamPool, und andere zugehörige Berechtigungen. -
Ressourcenlimit überschritten: Standardmäßig können Sie nur ein IPAM pro Konto erstellen. Wenn Sie bereits ein IPAM haben, müssen Sie es löschen, bevor Sie ein neues erstellen oder das vorhandene verwenden können.
-
Fehler bei der CIDR-Zuweisung: Stellen Sie bei der Bereitstellung von CIDRs für Pools sicher, dass sich das CIDR, das Sie bereitstellen möchten, nicht mit bestehenden Zuweisungen in anderen Pools überschneidet.
-
Zeitüberschreitungen bei API-Anfragen: Wenn Sie auf „RequestExpired“-Fehler stoßen, kann dies an Netzwerklatenz oder Problemen mit der Zeitsynchronisierung liegen. Versuchen Sie erneut, den Befehl auszuführen.
-
Fehler „Falscher Status“: Wenn Sie „IncorrectState“-Fehler erhalten, liegt das möglicherweise daran, dass Sie versuchen, einen Vorgang mit einer Ressource auszuführen, die sich nicht im richtigen Status befindet. Warten Sie, bis die Ressource vollständig erstellt oder bereitgestellt wurde, bevor Sie fortfahren.
-
Fehler bei der Zuweisungsgröße: Wenn Sie „InvalidParameterValue“-Fehler zur Zuweisungsgröße erhalten, stellen Sie sicher, dass die von Ihnen angeforderte Netzmaskenlänge der Poolgröße entspricht. Sie können beispielsweise keinen /25-CIDR aus einem /24-Pool zuweisen.
-
Verstöße gegen Abhängigkeiten: Beim Bereinigen von Ressourcen können „DependencyViolation“ -Fehler auftreten. Das liegt daran, dass Ressourcen voneinander abhängig sind. Stellen Sie sicher, dass Sie Ressourcen in der umgekehrten Reihenfolge der Erstellung löschen und die Bereitstellung von CIDRs aufheben, bevor Sie Pools löschen.
Bereinigen von Ressourcen
Nach diesem Tutorial sollten Sie die erstellten Ressourcen bereinigen, um unnötige Kosten zu vermeiden.
-
Löschen der VPC:
aws ec2 delete-vpc --vpc-id vpc-0abcd1234 -
Aufheben der Bereitstellung des CIDR aus dem Entwicklungspool:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-2abcd1234 --cidr 10.0.0.0/24 -
Den Entwicklungspool löschen:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-2abcd1234 -
Aufheben des CIDRs aus dem regionalen Pool:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-1abcd1234 --cidr 10.0.0.0/16 -
Löschen des regionalen Pools:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-1abcd1234 -
Aufheben der Bereitstellung des CIDR aus dem Pool der obersten Ebene:
aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-0abcd1234 --cidr 10.0.0.0/8 -
Löschen des Pools der obersten Ebene:
aws ec2 delete-ipam-pool --ipam-pool-id ipam-pool-0abcd1234 -
Löschen des IPAM:
aws ec2 delete-ipam --ipam-id ipam-0abcd1234
Ersetzen Sie alle IDs durch Ihre tatsächlichen Ressourcen-IDs.
Anmerkung
Möglicherweise müssen Sie zwischen diesen Vorgängen warten, bis die Ressourcen vollständig gelöscht sind, bevor Sie mit dem nächsten Schritt fortfahren können. Wenn Sie auf Verstöße gegen Abhängigkeiten stoßen, warten Sie einige Sekunden und versuchen Sie es erneut.
Nächste Schritte
Nachdem Sie nun gelernt haben, wie Sie IPAM mit der AWS-CLI erstellen und verwenden, möchten Sie vielleicht mehr erweiterte Funktionen ausprobieren:
-
Planen der Bereitstellung von IP-Adressen – Erfahren Sie, wie Sie Ihren IP-Adressraum effektiv planen können
-
Überwachen Sie die CIDR-Nutzung nach Ressourcen – Verstehen Sie, wie Sie die Nutzung von IP-Adressen überwachen können
-
Teilen Sie einen IPAM-Pool mit AWS RAM – Erfahren Sie, wie Sie IPAM-Pools für mehrere AWS-Konten gemeinsam nutzen können
-
Integration von IPAM mit Konten in AWS Organizations – Erfahren Sie, wie Sie IPAM in Ihrem Unternehmen einsetzen können