Bring Your Own IP Addresses (BYOIP) in Amazon EC2 - Amazon Elastic Compute Cloud

Bring Your Own IP Addresses (BYOIP) in Amazon EC2

Sie können einen Teil oder den gesamten öffentlichen IPv4- oder IPv6-Adressbereich von Ihrem lokalen Netzwerk zu Ihrem AWS-Konto bringen. Der Adressbereich gehört weiterhin Ihnen, wird jedoch von AWS standardmäßig im Internet veröffentlicht. Nachdem Sie den Adressbereich zu AWS gebracht haben, erscheint er in Ihrem Konto als Adresspool.

BYOIP ist nicht in allen Regionen und für alle Ressourcen verfügbar. Eine Liste der unterstützten Regionen und Ressourcen finden Sie in den Häufig gestellten Fragen zu Bring Your Own IP.

Anmerkung

In den folgenden Schritten wird beschrieben, wie Sie Ihren eigenen IP-Adressbereich zur Verwendung nur in Amazon EC2 verwenden. Schritte zum Verwenden Ihres eigenen IP-Adressbereichs zur Verwendung in AWS Global Accelerator finden Sie unter Bring your own IP addresses (BYOIP) im AWS Global Accelerator-Entwicklerhandbuch.

Voraussetzungen

  • Der Adressbereich muss bei Ihrer regionalen Internet Registry (RIR) registriert sein (z. B. American Registry for Internet Numbers (ARIN), Réseaux IP Européens Network Coordination Centre (RIPE) oder Asia-Pacific Network Information Centre (APNIC)). Er muss auf ein Unternehmen oder eine juristische Person registriert sein und kann nicht auf eine natürliche Person registriert werden.

  • Der spezifischste IPv4-Adressbereich, den Sie aufnehmen können, ist /24.

  • Der spezifischste IPv6-Adressbereich, den Sie aufnehmen können, ist /48 für CIDRs, die öffentlich angekündigt werden, und /56 für CIDRs, die nicht öffentlich angekündigt werden.

  • Sie können jeden Adressbereich einzeln in eine Region einordnen.

  • Sie können insgesamt fünf IPv4- und IPv6-Adressbereiche pro Region in Ihr AWS-Konto aufnehmen.

  • Die Adressen im IP-Adressbereich müssen über einen sauberen Verlauf verfügen. Wir könnten die Reputation des IP-Adressbereichs untersuchen und uns das Recht vorbehalten, einen IP-Adressbereich abzulehnen, wenn er eine IP-Adresse enthält, die eine schlechte Reputation hat oder mit schädlichem Verhalten in Verbindung gebracht wird.

  • Sie müssen im Besitz der verwendeten IP-Adresse sein. Dies bedeutet, dass nur Folgendes unterstützt wird:

    • ARIN - die Netzwerktypen „Direct Allocation“ und „Direct Assignment“ werden unterstützt.

    • RIPE – Zuordnungsstatus "ALLOCATED PA", "LEGACY", "ASSIGNED PI" und "ALLOCATED-BY-RIR"

    • APNIC – Zuweisungsstatus "ALLOCATED PORTABLE" und "ASSIGNED PORTABLE"

Vorbereiten auf das Einbringen eines eigenen Adressbereichs für Ihr AWS-Konto

Um sicherzustellen, dass nur Sie Ihren Adressbereich in Ihr AWS-Konto aufnehmen können, müssen Sie Amazon autorisieren, den Adressbereich zu veröffentlichen. Außerdem müssen Sie durch eine signierte Autorisierungsnachricht nachweisen, dass Sie den Adressbereich besitzen.

Eine Route Origin Authorization (ROA) ist eine kryptografische Angabe über Ihre Routenankündigungen, die Sie über Ihr RIR erstellen können. Es enthält den Adressbereich, die Autonomous System numbers (ASNs), die den Adressbereich veröffentlichen dürfen, sowie das Ablaufdatum. Ein ROA autorisiert Amazon, einen Adressbereich unter einer bestimmten AS-Nummer zu veröffentlichen. Ihr AWS-Konto wird jedoch damit nicht autorisiert, den Adressbereich in AWS einzubinden. Um Ihr AWS-Konto zu autorisieren, einen Adressbereich in AWS einzubinden, müssen Sie ein selbstsigniertes X509-Zertifikat in den Registry Data Access Protocol(RDAP)-Bemerkungen für den Adressbereich veröffentlichen. Das Zertifikat enthält einen öffentlichen Schlüssel, den AWS zur Verifizierung der von Ihnen angegebene Autorisierungssignatur verwendet. Bewahren Sie den privaten Schlüssel sicher auf und verwenden Sie ihn, um die Autorisierungsnachricht zu signieren.

Die Befehle in diesen Aufgaben werden von Linux unterstützt. In Windows können Sie zum Ausführen von Linux-Befehlen das Windows Subsystem for Linux verwenden.

Erstellen eines ROA-Objekts

Erstellen Sie ein ROA-Objekt, um Amazon ASNs 16509 und 14618 zu autorisieren, Ihren Adressbereich zu veröffentlichen – zusätzlich zu den ASNs, die derzeit autorisiert sind, den Adressbereich zu veröffentlichen. Sie müssen die maximale Länge auf die Größe des kleinsten Präfixes festlegen, das Sie einbinden möchten (z. B. /24). Es kann bis zu 24 Stunden dauern, bis das ROA für Amazon verfügbar ist. Weitere Informationen finden Sie unter:

Erstellen eines selbstsignierten X509-Zertifikats

Verwenden Sie zum erstellen eines selbsignierten X509-Zertifikats das folgende Verfahren und fügen dieses zu dem RDAP-Datensatz für Ihre RIR hinzu. Für die openssl-Befehle ist OpenSSL Version 1.0.2 oder höher erforderlich.

Kopieren Sie die folgenden Befehle und ersetzen Sie nur die Platzhalterwerte (in farbigem kursivem Text).

Gehen Sie zum Erstellen eines selbsignierten X509-Zertifikats und zum Hinzufügen dieses Zertifikats zum RDAP-Datensatz wie folgt vor:

  1. Erzeugen Sie ein RSA 2048-Bit-Schlüsselpaar, wie im Folgenden dargestellt.

    openssl genrsa -out private.key 2048
  2. Erstellen Sie mit dem folgenden Befehl ein öffentliches X509-Zertifikat aus dem Schlüsselpaar. In diesem Beispiel läuft das Zertifikat nach 365 Tagen ab und ist dann nicht mehr vertrauenswürdig. Stellen Sie sicher, das Sie das Ablaufdatum korrekt festlegen. Wenn Sie dazu aufgefordert werden, Informationen einzugeben, können Sie die Standardwerte übernehmen.

    openssl req -new -x509 -key private.key -days 365 | tr -d "\n" > publickey.cer
  3. Aktualisieren Sie den RDAP-Datensatz für Ihre RIR mit dem X509-Zertifikat. Achten Sie darauf, dass Sie die -----BEGIN CERTIFICATE----- und -----END CERTIFICATE----- aus dem Zertifikat kopieren. Entfernen Sie alle Zeilenumbrüche, falls Sie das noch nicht getan haben. Verwenden Sie dazu den Befehl tr -d "\n" aus den vorherigen Schritten. Um Ihr Zertifikat anzuzeigen, führen Sie den folgenden Befehl aus.

    cat publickey.cer

    Fügen Sie für ARIN das Zertifikat im Bereich „Öffentliche Kommentare“ für Ihren Adressbereich hinzu. Fügen Sie es nicht dem Kommentarbereich Ihrer Organisation hinzu.

    Fügen Sie für RIPE das Zertifikat als neues „descr“-Feld für Ihren Adressbereich hinzu. Fügen Sie es nicht dem Kommentarbereich Ihrer Organisation hinzu.

    Senden Sie für APNIC den öffentlichen Schlüssel per E-Mail an helpdesk@apnic.net, um ihn manuell in das Feld "remarks" für Ihren Adressbereich aufzunehmen. Senden Sie die E-Mail für die IP-Adressen über den von APNIC autorisierten Kontakt.

Erstellen einer signierten Autorisierungsnachricht

Das Format der signierten Autorisierungsnachricht ist wie folgt, wobei das Datum das Ablaufdatum der Nachricht ist.

1|aws|account|cidr|YYYYMMDD|SHA256|RSAPSS

Erstellen einer signierten Autorisierungsnachricht

  1. Erstellen Sie eine Klartext-Autorisierungsnachricht und speichern Sie sie in einer Variablen mit dem Namen text_message, wie im folgenden Beispiel gezeigt. Kopieren Sie das folgende Beispiel und ersetzen Sie nur die Beispielkontonummer, den Adressbereich und das Ablaufdatum durch Ihre eigenen Werte.

    text_message="1|aws|123456789012|198.51.100.0/24|20191201|SHA256|RSAPSS"
  2. Signieren Sie die Autorisierungsnachricht mit dem von Ihnen erstellten Schlüsselpaar in text_message und speichern Sie sie in einer Variablen mit dem Namen signed_message.

    signed_message=$(echo $text_message | tr -d "\n" | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private.key -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")
    Wichtig

    Es wird empfohlen, diesen Befehl zu kopieren und einzufügen. Ändern oder ersetzen Sie keinen der Werte.

Bereitstellen des Adressbereichs für die Verwendung mit AWS

Wenn Sie einen Adressbereich für die Verwendung mit AWS bereitstellen, bestätigen Sie, dass Sie den Adressbereich besitzen und autorisieren Amazon, ihn zu veröffentlichen. Wir bestätigen ebenso mit einer signierten Autorisierungsnachricht, dass der Adressbereich Ihnen gehört. Diese Nachricht ist mit dem selbstsignierten X509-Schlüsselpaar signiert, das Sie bei der Aktualisierung des RDAP-Datensatzes mit dem X509-Zertifikat verwendet haben.

Verwenden Sie den folgenden provision-byoip-cidr-Befehl, um den Adressbereich bereitzustellen. Ersetzen Sie den beispielhaften Adressbereich durch Ihren eigenen Adressbereich. Die Option --cidr-authorization-context verwendet die Variablen, die Sie zuvor erstellt haben und nicht die ROA-Nachricht.

aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message"

Die Bereitstellung eines Adressbereichs ist eine asynchrone Operation. Daher gibt der Aufruf sofort Daten zurück, der Adressbereich ist jedoch erst zur Verwendung bereit, wenn der Status von pending-provision zu provisioned wechselt. Es kann bis zu drei Wochen dauern, bis der Bereitstellungsprozess abgeschlossen ist. Um den Status der von Ihnen bereitgestellten Adressbereiche zu überwachen, verwenden Sie den folgenden describe-byoip-cidrs-Befehl.

aws ec2 describe-byoip-cidrs --max-results 5

Wenn während der Bereitstellung Probleme auftreten und der Status in failed-provision wechselt, müssen Sie den provision-byoip-cidr-Befehl erneut ausführen, nachdem die Probleme behoben wurden.

Bereitstellen eines IPv6-Adressbereichs, der nicht öffentlich angekündigt wird

Standardmäßig wird ein Adressbereich bereitgestellt, der öffentlich im Internet angekündigt wird. Sie können einen IPv6-Adressbereich bereitstellen, der nicht öffentlich angekündigt wird. Wenn Sie einen IPv6-CIDR-Block aus einem nicht öffentlichen Adressbereich einer VPC zuordnen, kann auf die IPv6-CIDR nur über eine AWS Direct Connect-Verbindung zugegriffen werden.

Ein ROA ist nicht erforderlich, um einen nicht öffentlichen Adressbereich bereitzustellen.

Um einen IPv6-Adressbereich bereitzustellen, der nicht öffentlich angekündigt wird, verwenden Sie den folgenden provision-byoip-cidr-Befehl.

aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --no-publicly-advertisable
Wichtig

Sie können das publicly-advertisable- oder no-publicly-advertisable-Flag nur während der Bereitstellung festlegen. Sie können den Advertisable-Status eines Adressbereichs später nicht ändern.

Veröffentlichen des Adressbereichs über AWS

Nachdem der Adressbereich bereitgestellt wurde, kann er veröffentlicht werden. Sie müssen den genauen Adressbereich ankündigen, den Sie bereitgestellt haben. Sie können nur einen Teil des bereitgestellten Adressbereichs ankündigen.

Wenn Sie einen IPv6-Adressbereich bereitgestellt haben, der nicht öffentlich angekündigt wird, müssen Sie diesen Schritt nicht ausführen.

Wir empfehlen, den Adressbereich zunächst nicht mehr anderweitig zu veröffentlichen, bevor Sie ihn über AWS veröffentlichen. Wenn Sie den IP-Adressbereich weiterhin von anderen Orten aus veröffentlichen, können wir ihn nicht zuverlässig unterstützen oder Probleme beheben. Insbesondere können wir nicht garantieren, dass Datenzugriffe auf den Adressbereich unser Netzwerk erreichen.

Zur Minimierung der Ausfallzeit können Sie Ihre AWS-Ressourcen so konfigurieren, dass sie eine Adresse aus dem Adresspool verwenden, bevor dieser veröffentlicht wird, und dann gleichzeitig die Veröffentlichung über den aktuellen Ort stoppen und die Veröffentlichung über AWS starten. Weitere Informationen zur Zuweisung einer Elastic IP-Adresse aus Ihrem Adresspool finden Sie unter Zuweisen einer Elastic IP-Adresse.

Um den Adressbereich zu veröffentlichen, verwenden Sie den folgenden advertise-byoip-cidr-Befehl.

aws ec2 advertise-byoip-cidr --cidr address-range
Wichtig

Sie können den Befehl advertise-byoip-cidr höchstens alle 10 Sekunden ausführen, auch wenn Sie jedes Mal einen anderen Adressbereich angeben.

Um die Veröffentlichung für den Adressbereich einzustellen, verwenden Sie den folgenden witw-byoip-cidr-Befehl.

aws ec2 withdraw-byoip-cidr --cidr address-range
Wichtig

Sie können den Befehl withdraw-byoip-cidr höchstens alle 10 Sekunden ausführen, auch wenn Sie jedes Mal einen anderen Adressbereich angeben.

Arbeiten mit Ihrem Adressbereich

Sie können die IPv4- und IPv6-Adressbereiche anzeigen und mit denen arbeiten, die Sie in Ihrem Konto bereitgestellt haben.

IPv4-Adressbereiche

Sie können eine Elastic IP-Adresse aus Ihrem IPv4-Adresspool erstellen und für Ihre AWS-Ressourcen wie EC2-Instances, NAT-Gateways und Netzwerk-Load-Balancer verwenden.

Um Informationen zu den IPv4-Adresspools anzuzeigen, die Sie in Ihrem Konto bereitgestellt haben, verwenden Sie den folgenden describe-public-ipv4-pools-Befehl.

aws ec2 describe-public-ipv4-pools

Verwenden Sie den Befehl allocate-address, um eine Elastic IP-Adresse aus Ihrem IPv4-Adresspool zu erstellen. Mit der Option --public-ipv4-pool können Sie die ID des von describe-byoip-cidrs zurückgegebenen Adressbereichs angeben. Oder Sie können die Option --address verwenden, um eine Adresse aus dem von Ihnen bereitgestellten Adressbereich anzugeben.

IPv6-Adressbereiche

Um Informationen zu den IPv6-Adresspools anzuzeigen, die Sie in Ihrem Konto bereitgestellt haben, verwenden Sie den folgenden describe-ipv6-pools-Befehl.

aws ec2 describe-ipv6-pools

Verwenden Sie den folgenden create-vpc-Befehl, um eine VPC zu erstellen und eine IPv6-CIDR aus Ihrem IPv6-Adresspool anzugeben. Damit Amazon die IPv6-CIDR aus Ihrem IPv6-Adresspool auswählen kann, lassen Sie die --ipv6-cidr-block-Option aus.

aws ec2 create-vpc --cidr-block 10.0.0.0/16 --ipv6-cidr-block ipv6-cidr --ipv6-pool pool-id

Um einen IPv6-CIDR-Block aus Ihrem IPv6-Adresspool einer VPC zuzuordnen, verwenden Sie den folgenden associate-vpc-cidr-block-Befehl. Damit Amazon die IPv6-CIDR aus Ihrem IPv6-Adresspool auswählen kann, lassen Sie die --ipv6-cidr-block-Option aus.

aws ec2 associate-vpc-cidr-block --vpc-id vpc-123456789abc123ab --ipv6-cidr-block ipv6-cidr --ipv6-pool pool-id

Verwenden Sie den describe-vpcs-Befehl, um Ihre VPCs und die zugehörigen IPv6-Adresspool-Informationen anzuzeigen. Um Informationen zu zugeordneten IPv6-CIDR-Blöcken aus einem bestimmten IPv6-Adresspool anzuzeigen, verwenden Sie den folgenden get-associated-ipv6-pool-cidrs-Befehl.

aws ec2 get-associated-ipv6-pool-cidrs --pool-id pool-id

Wenn Sie den IPv6-CIDR-Block von Ihrer VPC trennen, wird er wieder in Ihren IPv6-Adresspool freigegeben.

Weitere Informationen zum Arbeiten mit IPv6-CIDR-Blöcken in der VPC-Konsole finden Sie unter Arbeiten mit VPCs und Subnetzen im Amazon VPC Benutzerhandbuch.

Aufheben der Bereitstellung des Adressbereichs

Wenn Sie den Adressbereich nicht mehr mit AWS verwenden möchten, geben Sie zunächst alle Elastic IP-Adressen frei und trennen Sie alle IPv6-CIDR-Blöcke, die noch aus dem Adresspool zugewiesen sind. Beenden Sie dann die Veröffentlichung des Adressbereichs und heben Sie schließlich die Bereitstellung des Adressbereichs auf.

Sie können die Bereitstellung eines Teils des Adressbereichs nicht aufheben. Wenn Sie einen spezifischeren Adressbereich mit AWS verwenden möchten, heben Sie die Bereitstellung des gesamten Adressbereichs auf und stellen Sie einen spezifischeren Adressbereich bereit.

(IPv4) Um jede Elastic IP-Adresse freizugeben, verwenden Sie den folgenden release-address-Befehl.

aws ec2 release-address --allocation-id eipalloc-12345678abcabcabc

(IPv6) Um die Zuordnung eines IPv6-CIDR-Blocks zu trennen, verwenden Sie den folgenden disassociate-vpc-cidr-block-Befehl.

aws ec2 disassociate-vpc-cidr-block --association-id vpc-cidr-assoc-12345abcd1234abc1

Um die Veröffentlichung für den Adressbereich einzustellen, verwenden Sie den folgenden witw-byoip-cidr-Befehl.

aws ec2 withdraw-byoip-cidr --cidr address-range

Um den Adressbereich zu deaktivieren, verwenden Sie den folgenden deprovision-byoip-cidr-Befehl.

aws ec2 deprovision-byoip-cidr --cidr address-range

Es kann bis zu einem Tag dauern, bis die Bereitstellung eines Adressbereichs aufgehoben wird.