T-Systems-Claim-Logo
Suchen
Blau lila Farbverlauf mit einer weißen Spirale

So verwenden Sie AWS IPAM zur Aktivierung von Networking-as-a-Service

Die manuelle IP-Adresszuweisung ist zeitaufwändig und komplex. Der VPC IP Address Manager (IPAM) von Amazon bietet eine einfachere Lösung

22. September 2022Thomas Friedland

Eine neue Funktion für Netzwerk-Administratoren

Selbst im heutigen Cloud-Zeitalter muss jede Ressource, sei es eine EC2-Instanz, eine VPC-Lambda-Bereitstellung, ein API-Gateway oder eine RDS-Datenbank, irgendwie zugänglich sein. Häufig erfolgt der Zugriff außerhalb der VPC, die die Ressource hostet, oder die Komponente selbst muss eine Verbindung zu Peering-Netzwerken herstellen. Oft ist eine Harmonisierung der IP-Adressen erforderlich. IPAM von Amazon bietet Netzwerk- und Systemadministratoren einen automatisierten IP-Management-Workflow, der ihren Verwaltungs- und Überwachungsaufwand verringert.

Was ist AWS IPAM?

Cloud Dateien fliegen aus Laptop heraus an welchem ein Mann arbeitet

AWS kündigte den Amazon VPC IP Address Manager (IPAM)-Service auf seiner jährlichen re:Invent-Veranstaltung in Las Vegas in 2021 an. IPAM wurde entwickelt, um die Einschränkungen tabellenbasierter, selbst entwickelter IP-Planungsanwendungen zu überwinden und hochspezialisierte und teure Anwendungen für das IP-Address-Management zu ersetzen.

Mit IPAM ist es möglich, IP-Adressräume von Unternehmen nach Routing, Sicherheit und Geschäftsregeln zu organisieren. Durch die API-Aktionen von AWS IPAM kann die Zeit für das Onboarding neuer Anwendungen von Stunden auf wenige Sekunden reduziert werden. AWS IPAM kann in AWS Organizations bereitgestellt werden und bietet eine detaillierte Überwachung der verwendeten IP-Adressen, inklusive Ort und Zeit für einen Zeitraum von bis zu drei Jahren.

Die Verwaltung öffentlicher IP-Adressräume mit eigenen IP-Adressen (BYOIP) ist ebenfalls möglich.

Ein realer Anwendungsfall für AWS IPAM

IT-Abteilungen müssen ihren Anwendungsteams so viele Benutzerfunktionen wie möglich zur Verfügung stellen. Gleichzeitig müssen sie die Kontrolle über technische Lösungen und Sicherheit behalten.

In großen Unternehmen ist ein manuelles IP Address Management nicht mehr möglich. Herkömmliche IP-Planungsanwendungen enthalten benutzerdefinierte, komplexe Logiken ohne die erforderlichen Abstraktionen, um Benutzern einen API-Zugriff zu bieten. Diese Einschränkung führt häufig zu Bereitstellungsprozessen, bei denen eine entworfene Lösung IP-Adressräume von bestimmten IT-Abteilungen anfordern muss. Folglich gibt es keine Möglichkeit, eine Self-Service-Funktionalität für Projekte zu erstellen, und die Zeit zum Einrichten der Umgebung ist unverhältnismäßig lang.

Einer unserer Kunden verwendet AWS Direct Connect, eine dedizierte Netzwerkverbindung für seine lokalen Unternehmensnetzwerke. Der Netzwerkbereich besteht aus gemeinsam genutzten VPCs, die von mehreren Kunden verwendet werden, mit der Option, Workloads in dedizierten Subnetzen und VPCs sowie zentralen VPCs wie Ausgangs-VPCs zu isolieren. Der Netzwerkbereich erstreckt sich über mehrere Regionen. Die Verwaltung der dedizierten VPCs wird an bestimmte Systemteams delegiert.

Ein häufiges Szenario sind Workloads, die eine Verbindung von oder zu lokalen Setups erfordern und IP-Adressen verwenden müssen, die mit dem lokalen Unternehmensnetzwerk harmonisiert sind. Im Laufe der Zeit ist die AWS-Umgebung gewachsen. Sie besteht nun aus mehreren CIDRs zwischen den Größen /16 und /19, die mehreren VPCs zugeordnet sind.

Darüber hinaus werden private IP-Adressräume, die nicht harmonisiert sind, für Ressourcen verwendet, die nicht mit dem lokalen Netzwerk kommunizieren müssen.

Entwerfen einer Self-Service-Lösung

IPAM CloudFormation Grafik

Wir haben den AWS Service Catalog als Frontend verwendet, um eine Self-Service-Funktionalität für Benutzer bereitzustellen. Der Katalog basiert auf der von uns häufig implementierten Infrastructure-as-Code-Lösung (IaC) CloudFormation.

IPAM-Planung

Wir haben die folgenden IP-Pools erstellt und IPAM-Gebietsschemata verwendet, um Pools auf höchster Ebene zu definieren oder Pools an Regionen zuzuweisen.

  • Privater Bereich:
    • top-level: 100.64.0.0/10 "AWS Private"
      • eu-central-1: 100.64.0.0/16 "Shared VPC Private CIDR"
      • eu-central-1: 100.65.0.0/16 "Dedicated VPC Private CIDR"
      • eu-central-1: 100.70.0.0/20 "Egress VPC"
      • eu-west-1: 100.74.0.0/16 "Shared VPC Private CIDR"
      • eu-west-1: 100.75.0.0/16 "Dedicated VPC Private CIDR"
      • eu-west-1: 100.80.0.0/20 "Egress VPC"
    • top-level: 10.0.0.0/8 "Corporate Network"
      • top-level "Shared VPC CN CIDR eu-central-1"
        • eu-central-1: 10.0.0.0/19
          • eu-central-1: 10.0.28.0/22 "Dedicated Subnets"
        • eu-central-1: 10.0.64.0/18
          • eu-central-1: 10.0.120.0/21 "Dedicated Subnets"
      • top-level "Shared VPC CN CIDR eu-west-1"
        • eu-west-1: 10.73.0.0/18
          • eu-west-1: 10.73.48.0/20 "Dedicated Subnets"
        • eu-west-1: 10.212.192.0/18
          • eu-west-1: 10.212.240.0/20 "Dedicated Subnets"
  • Öffentlicher Bereich: Nicht zutreffend.

IPAM und Lambda-Funktion

IPAM wird in einem separaten AWS-Konto bereitgestellt. Derzeit ist die einzige verfügbare native Integration in IPAM die VPC-Integration, bei der der angeforderte IP-Pool und die erforderliche Größe des Netzwerks (Netzmaskenlänge) definiert werden können.

Da wir jedoch auch dedizierte Subnetze unterstützen müssen, haben wir uns für die Erstellung von Lambda-Funktionen vor IPAM entschieden. Diese Funktionen werden über angepasste Ressourcen der AWS CloudFormation bereitgestellt. Beispiel:

Resource
  GetCnCIDR:
    Type: Custom::GetCnCIDR
    Properties:
      ServiceToken: !Ref IpamFunctionArn
      Description: !Join ['', [!Ref 'AWS::AccountId', ' - vpc - ', !Ref VpcNamePrefix, '-', !Ref VpcCounter]]
      CnCidrMask: !Ref CnCidrMask
  DeleteCnCIDR:
    Type: Custom::DeleteCnCIDR
    Properties:
      Authorizationkey: !Ref CustomerAuthorizationKey
      IpamPoolAllocationId: !GetAtt GetCnCIDR.Returned_IpamPoolAllocationId
      Cidr: !GetAtt GetCnCIDR.Cidr
      CreationDate: !GetAtt GetCnCIDR.CreationDate
      ServiceToken: !Ref IpamFunctionArn

Damit der CloudFormation-Löschvorgang funktioniert, müssen wir beim Erstellen des Stacks die Zuweisungs-ID anfordern. Für die Löschung wird die Methode release_ipam_pool_allocation benötigt.

Ressourcenbasierte AWS Lambda-Richtlinien schützen den Zugriff, über den die Lambda-Funktionen aufgerufen werden können.

,,IPAM bietet eine einheitliche Betriebsansicht und ermöglicht es Ihnen, IP-Adressen über AWS-Regionen und Konten hinweg zu verwalten.“

Amazon, Dezember 1, 2021

Zusammenfassung

Mit AWS IPAM ist es einfach, tabellenbasierte IP-CIDR-Zuweisungen zu ersetzen, Self-Service-Networking zu ermöglichen und Einblicke in die Ressourcen zu geben, indem man IP-Adressräume über mehrere Konten und Anwendungen hinweg verwendet. Organisationen können IP-Adressen global, überregional, kontoübergreifend und auch für Nicht-AWS-Workloads verwalten.

Zum Autor
Thomas Friedland

Thomas Friedland

Senior Cloud Architect, T-Systems International GmbH

Profil und alle Artikel ansehen

Wir liefern Ihnen unsere Insights direkt in Ihre Mailbox

Erhalten Sie die besten Expertentipps rund um Events, Best Practices, Whitepaper und mehr. Individuell für Ihre Branche!

Dies könnte Sie auch interessieren

Besuchen Sie t-systems.com außerhalb von Germany? Besuchen Sie die lokale Website für weiterführende Informationen und Angebote für Ihr Land.