Route erstellen

Zum Steuern des Datenflusses für den Netzverkehr in einer VPC-Instanz können Sie Routen konfigurieren. Verwenden Sie VPC-Routen, um den nächsten Hop für Pakete basierend auf den zugehörigen Zieladressen anzugeben.

Für jede Zone in Ihrer VPC können mehrere Routing-Tabellen vorliegen. Beim ausgehenden Datenverkehr überprüft das System, sobald ein Paket ein Subnetz verlässt, dessen Zieladresse anhand der Routing-Tabelle in der Zone des Subnetzes, um zu ermitteln, wohin das Paket als Nächstes weitergeleitet werden soll. Jede VPC verfügt über eine Standard-Routingtabelle, die an jedes Subnetz angehängt ist, es sei denn, das Subnetz wurde vom Benutzer ausdrücklich an ein anderes angehängt.

Eine benutzerdefinierte VPC-Route besteht aus vier Hauptkomponenten:

  • Ziel-CIDR: Gibt den IP-Adressbereich des Ziels an, für den die Route gilt.

  • Nächster Hop: Gibt die IP-Adresse an, an die der passende Datenverkehr weitergeleitet wird, wenn die Routenaktion „ Deliver “ lautet.

    Sie können die IP-Adresse des nächsten Hops für vorhandene Routen bearbeiten.

  • Zone: Gibt die Zone an, in der die Route ausgewertet wird. Bei Ausgangsrouten bezieht sich die Zone in der Regel auf die Zone, aus der der Quellverkehr stammt. Bei Eingangsrouten bezieht sich die Zone auf die Zone, in der der eingehende Datenverkehr verarbeitet wird und in der sich der nächste Hop befinden muss.

  • Aktion: Legt fest, wie der entsprechende Datenverkehr behandelt wird, z. B. durch Weiterleitung, Delegierung oder Verwerfen des Datenverkehrs.

Jeder Datenverkehr, der aus der angegebenen Zone des VPC stammt und eine Zieladresse innerhalb der angegebenen CIDR aufweist, wird an den nächsten Hop weitergeleitet. Wenn die Zieladresse in der Ziel-CIDR für mehrere VPC-Routen liegt, wird die am genauesten spezifizierte Route verwendet. Wenn die VPC über mindestens zwei gleich spezifische Routen verfügt, erfolgt der Datenverkehr im Umlaufverfahren, das auf jede Route verteilt wird.

Jede Route verfügt über eine Zieleigenschaft, die eine Präfixlänge beinhaltet (/24 in 10.2.0.0/24). Die Anzahl der eindeutigen Präfixlängen, die pro angepasster Routing-Tabelle unterstützt werden, beträgt 14. Mehrere Routen mit demselben Präfix zählen als ein einziges eindeutiges Präfix.

VPC-Adresspräfixe sind nicht mehr auf die durch RFC 1918 festgelegten Adressen beschränkt. Sie müssen nun VPCs konfigurieren, die sowohl „ non-RFC-1918 “-Adressen verwenden als auch über eine öffentliche Anbindung verfügen (floating IP-Adressen oder öffentliche Gateways), indem Sie eine benutzerdefinierte Route verwenden, die die neue Aktion „ Delegate-VPC “ enthält. Sie müssen diese Aktion für Ziel-CIDRs angeben, die mit „ non-RFC-1918 “ kompatibel sind und sich zudem außerhalb der VPC befinden, beispielsweise für Ziele, die über „ Direct Link “, „ Transit Gateway “ oder den klassischen VPC-Zugriff erreichbar sind. Weitere Informationen zur Verwendung der Aktion Delegate-VPC enthält der Abschnitt für Hinweise zum Routing von IP-Zuweisungen, die bei der IANA registriert sind.

Die Aktion Delegate-VPC ist erforderlich, wenn die beiden folgenden Bedingungen zutreffen:

  • Die VPC verwendet Adressen, die nicht mit RFC 1918 konform sind
  • Die VPC verfügt über öffentliche Konnektivität

Die Aktion Delegate-VPC ist NICHT erforderlich, wenn Folgendes zutrifft:

  • Die VPC nur Adressen, die mit RFC 1918 konform sind
  • Die VPC besitzt keine öffentliche Konnektivität

Bevor Sie benutzerdefinierte Routen erstellen, lesen Sie bitte den Abschnitt „Über Routing-Tabellen und Routen“, um das Routing-Verhalten bei eingehendem und ausgehendem Datenverkehr zu verstehen.

Sie können eine Route für einen „ IBM Cloud “-Dienst über die Konsole, die CLI, die API oder Terraform erstellen.

Eine Route in der Konsole erstellen

Um eine Route in der Konsole zu erstellen, gehen Sie wie folgt vor:

  1. Lesen Sie unbedingt die Informationen unter Limitations and guidelines.

  2. Wählen Sie in der Cloud- IBM Cloud das Navigationsmenü aus und klicken Sie dann auf das Symbol „Infrastruktur- VPC“ > „Netzwerk“ > „ Routingtabellen“. Die Seite mit den Routing-Tabellen für VPC wird angezeigt.

  3. Wählen Sie die VPC aus, die mit der Routing-Tabelle verknüpft ist, die Sie anzeigen möchten. Klicken Sie anschließend auf den Namen der Routing-Tabelle, um die zugehörigen Details anzuzeigen.

  4. Blättern Sie zum Abschnitt 'Routen' und klicken Sie auf Erstellen.

  5. Geben Sie im Seitenbereich „Route erstellen“ die folgenden Informationen ein:

    • Zone-Wählen Sie eine Verfügbarkeitszone für Ihre Route aus.

    • Name – Geben Sie einen Namen für die neue Route ein.

    • Ziel-CIDR: Die Ziel-CIDR der Route (z. B. 10.0.0.0/16)

    • Priorität-Geben Sie eine Priorität von 0 bis 4 ein. Der Standardwert ist 2. Weitere Informationen finden Sie unter Routenvorgabe festlegen.

    • Aktion – Die Aktion, die für ein Paket ausgeführt werden soll, das der Route entspricht. Zulässige Werte:

      • Delegieren (Delegate) - Das Paket wird unter Verwendung der System-Routing-Tabelle weitergeleitet.
      • Delegate-VPC - Delegiert an die integrierten Routen des Systems und ignoriert internetgebundene Routen. Diese Option ist erforderlich, wenn die VPC Adressen verwendet, die nicht mit RFC 1918 konform sind, und außerdem auch über öffentliche Konnektivität verfügt. Nähere Informationen hierzu enthält der Abschnitt Hinweise zum Routing von IP-Zuweisungen, die bei der IANA registriert sind.
      • Übergeben (Deliver) - Das Paket wird an das nächste Hop-Ziel weitergeleitet. Sie können mehrere Routen mit demselben Adresspräfix hinzufügen. Der virtuelle Router nutzt ECMP (Equal-Cost Multi-Path routing) unter Verwendung der unterschiedlichen IP-Adressen der nächsten Hops.
      • Löschen (Drop) - Das Paket wird gelöscht.

    Datenverkehr, der von einem Teilnetz ausgeht, verwendet die angepasste Routingtabelle, die dem Teilnetz zugeordnet ist. Wird in einer angepassten Routing-Tabelle keine passende Route gefunden, wird die Weiterleitung mit der System-Routing-Tabelle der VPC fortgesetzt. Sie können dieses Verhalten verhindern, indem Sie eine Standardroute einer angepassten Routing-Tabelle mit der Aktion Löschen verwenden.

    • Typ – Wählen Sie entweder „IP-Adresse“ oder „VPN-Verbindung“ aus.

    • Nächster Hop (IP-Adresse)-Geben Sie den nächsten Hop ein.

      Sie können die IP-Adresse des nächsten Hops für vorhandene Routen ändern.

    • Advertise-Werbung für eine Ingress-Quelle. Derzeit werden Direct Link und Transit Gateway unterstützt. Optional.

  6. Klicken Sie auf Speichern, um die neue Route zu speichern. Die Route wird auf der Detailseite der Routing-Tabelle angezeigt.

Erstellen einer Route über die Befehlszeile

Bevor Sie beginnen, richten Sie Ihre CLI-Umgebung ein.

Um eine VPC-Route über die CLI zu erstellen, führen Sie den folgenden Befehl aus:

ibmcloud is vpc-routing-table-route-create VPC ROUTING_TABLE --zone ZONE_NAME --destination DESTINATION_CIDR [--action delegate_vpc | delegate | deliver | drop] [--priority PRIORITY] [--next-hop NEXT_HOP [--vpngw VPNGW]][--advertise true | false] [--name NAME] [--output JSON] [-q, --quiet]

Dabei gilt:

VPC
Die ID oder der Name der VPC.
ROUTING_TABLE
Die ID oder der Name der VPC-Routing-Tabelle.
--zone
Der Name der Zone.
--destination
Die Ziel-CIDR der Route. Pro Zone in einer Tabelle dürfen höchstens zwei Routen dasselbe Ziel haben, und zwar nur dann, wenn beide Routen die Aktion „ deliver “ aufweisen.
--action
Die Aktion, die mit einem Paket ausgeführt werden soll, das der Route entspricht. Eine der folgenden Adressen: delegate_vpc, delegate, deliver, drop. Standard: deliver
--priority
Die Priorität der Route. Eine von: 0, 1, 2, 3, 4. Standardwert: 2. Niedrigere Werte haben eine höhere Priorität. Wenn eine benutzerdefinierte Routing-Tabelle Routen mit demselben Ziel enthält, wird die Route mit der höchsten Priorität (niedrigster Wert) ausgewählt.
--next-hop
Wenn es sich bei der Aktion um „ deliver “ handelt, geben Sie die IP-Adresse oder die VPN-Verbindungs-ID des nächsten Hops ein, an den die Pakete weitergeleitet werden sollen.
--vpngw
Der Name des VPN-Gateways.
--advertise
Machen Sie eine direkte Verbindung, ein Transit Gateway oder beide Ingress-Quellen zugänglich. Einer von true, false.
--name
Der Name der VPC-Routing-Tabelle.
--output
Das Ausgabeformat. Einer der folgenden Werte: json.
--q, quiet
Ausführliche Ausgabe unterdrücken.

CLI-Beispiele

  • Erstellen Sie eine Route, indem Sie den Zonennamen, die Ziel-CIDR-Adresse und den nächsten Hop als IP-Adresse angeben:

    ibmcloud is vpc-routing-table-route-create r134-b754e387-8b06-43be-a5ea-909595a50676 r134-6cfaceb8-99d6-4743-bee8-ebbcbba6a563 --zone us-south-1 --destination 10.2.2.0/24 --action deliver --priority 1 --next-hop 10.0.0.2 --name my-vpc-route
    
  • Erstellen Sie eine Route, indem Sie den Zonennamen, die Ziel-CIDR und den nächsten Hop als VPN-Verbindungs-ID angeben:

    ibmcloud is vpc-routing-table-route-create r134-b754e387-8b06-43be-a5ea-909595a50676 r134-6cfaceb8-99d6-4743-bee8-ebbcbba6a563 --zone us-south-1 --destination 10.2.2.0/24 --action deliver --priority 1 --next-hop 02h7-1cf20e69-e2ce-400b-b070-0897521e2eb6 --name my-vpc-route
    

Erstellen einer Route mit der API

Um mithilfe der API eine Zielroute zu erstellen, gehen Sie wie folgt vor:

  1. Richten Sie die API-Umgebung ein.

  2. Speichern Sie Werte für die folgenden Variablen, die im API-Befehl verwendet werden sollen:

    export VpcId=<your_vpc_id>
    export RoutingTableId=<your_routing_table_id>
    
  3. Erstellen Sie eine Route, indem Sie „ next_hop “ als IP-Adresse oder VPN-Verbindungs-ID angeben:

    curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId/routes?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -d '{
         "name": "my-new-route",
         "zone": {"name": "us-south-2"},
         "action": "deliver",
         "destination": "10.10.10.0/24",
         "next_hop": {"address": "10.0.0.3"}
       }'
    
    curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId/routes?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -d '{
         "name": "my-new-route",
         "zone": {"name": "us-south-2"},
         "action": "deliver",
         "destination": "10.10.10.0/24",
         "next_hop": {"id": "02h7-1cf20e69-e2ce-400b-b070-0897521e2eb6"}
       }'
    

Weitere Informationen und optionale Parameter finden Sie unter „ Erstellen einer Route in einer VPC-Routing-Tabelle “ in der VPC-API-Referenz.

Route mit Terraform erstellen

Führen Sie die folgenden Schritte aus, um eine Route mit Terraform zu erstellen:

  1. Richten Sie Ihre Terraform-Umgebung ein.

  2. Erstellen Sie eine Route:

    resource "ibm_is_vpc_routing_table_route" "example" {
      vpc           = ibm_is_vpc.example.id
      routing_table = ibm_is_vpc_routing_table.example.routing_table
      zone          = "us-south-1"
      name          = "custom-route-2"
      destination   = "192.168.4.0/24"
      action        = "deliver"
      next_hop      = ibm_is_vpn_gateway_connection.example.gateway_connection // Example value "10.0.0.4"
    }
    

Weitere Informationen zu dieser ibm_is_vpc_routing_table_route Ressource finden Sie in der Terraform-Registrierung.