Arbeiten mit Subnetzen

Teilnetze helfen Ihrem Netzverkehr, effizientere Pfade vom Ursprung zum Ziel zu übertragen. Sie können Netzwerk-ACLs mit Subnetzen verwenden, um Ihre Ressourcen innerhalb jedes Subnetzes zu schützen.

Vorbereitende Schritte

Bevor Sie beginnen, müssen Ihnen eine oder mehrere IAM-Zugriffsrollen zugewiesen werden, die je nach aufgelisteten Bedingungen die folgenden Aktionen enthalten. Sie können Ihre Zugriffsrechte unter „Benutzer“ > „Benutzer“ > „Zugriff“ überprüfen.

  • is.subnet.subnet.create
  • is.public-gateway.public-gateway.operate (erforderlich, wenn public_gateway angegeben ist)
  • is.network-acl.network-acl.operate

Subnetze erstellen

Sie können Subnetze über die Konsole, die CLI oder die API erstellen.

Wenn Sie für ein Subnetz einen IP-Bereich verwenden, der außerhalb der in RFC 1918 definierten Bereiche (10.0.0.0/8, 172.16.0.0/12 oder 192.168.0.0/16) liegt, können die diesem Subnetz zugeordneten Instanzen möglicherweise bestimmte Teile des Internets nicht erreichen. Wenn Sie VPCs konfigurieren möchten, die sowohl „ non-RFC-1918 “-Adressen verwenden als auch über eine öffentliche Anbindung verfügen (Floating-IP-Adressen oder öffentliche Gateways), stellen Sie sicher, dass Sie eine benutzerdefinierte Route mit der Aktion „ Delegate-VPC “ konfigurieren.

Subnetze in der Konsole erstellen

Gehen Sie folgendermaßen vor, um ein Subnetz in der Konsole zu erstellen:

  1. Öffnen Sie in Ihrem Browser die IBM Cloud-Konsole.

  2. Wählen Sie das Navigationsmenü -Symbol aus und klicken Sie dann auf das Symbol Infrastruktur- VPC > Netzwerk > Subnetze.

  3. Klicken Sie in der Tabelle Subnetze für VPC-Liste auf Erstellen.

  4. Geben Sie im Abschnitt „Standort“ die folgenden Informationen an:

    • Erdkunde: Geben Sie den allgemeinen Bereich an, in dem das Subnetz erstellt werden soll.
    • Region: Geben Sie die Region an, in der das Subnetz erstellt werden soll.
    • Zone: Geben Sie die Zone an, in der das Subnetz erstellt werden soll.
  5. Geben Sie im Abschnitt „Details“ die folgenden Informationen an:

    • Name: Geben Sie eine eindeutige Kennung für das Teilnetz ein, z. B. my-subnet.
    • Ressourcengruppe: Wählen Sie eine Ressourcengruppe für das Subnetz aus.
    • Tags: Optional können Sie alle relevanten Tags hinzufügen, um Ihre Teilnetze zu gruppieren.
    • Zugriffsmanagementtags: Optional können Sie Zugriffsmanagementtags zu Ressourcen hinzufügen, um Zugriffssteuerungsbeziehungen zu organisieren. Das einzige unterstützte Format für Zugriffsverwaltungstags ist key:value. Weitere Informationen finden Sie unter Zugriff auf Ressourcen mithilfe von Tags steuern.
    • Virtuelle private Cloud: Wählen Sie die VPC aus, in der das Subnetz erstellt werden soll.
  6. Geben Sie im Abschnitt IP-Bereichsauswahl die folgenden Informationen an:

    • IP-Bereich: Der effizienteste Standort für Ihren IP-Bereich wird automatisch berechnet. Wenn Sie den IP-Bereich anpassen möchten, anstatt die Standardauswahl zu akzeptieren, wählen Sie ein anderes Adresspräfix aus, ändern Sie die Anzahl der Adressen oder geben Sie Ihren IP-Bereich manuell ein.

    • Adress-Präfix: Wählen Sie das Basisnetzpräfix für Ihr Subnetz. Damit wird der größere IP-Bereich festgelegt, aus dem die IP-Adressen Ihres Subnetzes zugewiesen werden. Wählen Sie aus den verfügbaren Präfixen innerhalb Ihrer VPC.

    • IP-Adressen insgesamt: Wählen Sie die Gesamtzahl der benötigten IPv4 Adressen.

    • Adressraum: Zeigt den vollständigen IP-Adressbereich des ausgewählten Präfixes in Ihrer VPC an. Dieser Bereich definiert die Grenzen, innerhalb derer Sie Subnetz-IP-Bereiche zuweisen können.

    • Routing-Tabelle: Wählen Sie die Routing-Tabelle aus, die das neue Subnetz verwenden soll.

    • Zugriffssteuerungsliste für Teilnetz: Wählen Sie aus, welche Zugriffssteuerungsliste das neue Teilnetz verwenden soll.

    • Öffentliches Gateway: Geben Sie an, ob das Teilnetz mit dem öffentlichen Internet kommunizieren soll, indem Sie den Switch auf Angehängt umschalten.

      Das Anschließen eines öffentlichen Gateways erzeugt eine schwebende IP und verursacht Kosten.

  7. Klicken Sie im Bereich Zusammenfassung auf Subnetz erstellen.

Registerkarte "Angehängte Ressourcen"

Die Registerkarte Attached Resources listet alle Ressourcen auf, die mit dem Subnetz verbunden sind, und ermöglicht die Erstellung von:

  • Instanzen
  • Bare-Metal-Server
  • Instanzvorlagen
  • Instanzgruppen
  • Lastausgleichsfunktionen
  • VPN-Gateways
  • Virtuelle Endpunktgateways
  • VPN-Server

Klicken Sie auf Erstellen in der Tabelle der Ressourcenliste der Ressource, die Sie erstellen möchten. Sie werden zum entsprechenden Workflow zum Erstellen von Ressourcen weitergeleitet, wo Sie mit der Erstellung der Ressource beginnen können.

Registerkarte "Reservierte IPs"

Die Registerkarte Reservierte IPs listet alle reservierten IP-Adressen für das Subnetz auf. Weitere Informationen finden Sie unter Verwalten von IP-Adressen.

Erstellen von Subnetzen über die Befehlszeile

Um Subnetze über die Befehlszeile anzulegen, führen Sie den folgenden Befehl aus:

ibmcloud is subnet-create SUBNET_NAME VPC ((--zone ZONE_NAME --ipv4-address-count ADDR_COUNT) | --ipv4-cidr-block CIDR_BLOCK) [--acl ACL] [--pgw PGW] [--rt RT] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] {} [--output JSON] [-q, --quiet]

Dabei gilt:

SUBNET_NAME
Name des Teilnetzes.
VPC
ID oder Name der VPC.
--ipv4-cidr-block
IPv4-Bereich des Teilnetzes. Diese Option ist mit der Option „ --ipv4-address-count “ nicht kombinierbar.
--ipv4-address-count
Die Gesamtzahl der erforderlichen IPv4 Adressen muss eine Potenz von 2 sein, wobei der Mindestwert 8 beträgt. Diese Option ist mit der Option „ --ipv4-cidr-block “ nicht kombinierbar.
--zone
Name der Zone.
--acl
Die ID oder der Name der Netz-ACL.
--pgw
Die ID oder der Name des öffentlichen Gateways.
--rt
Die ID oder der Name der Routing-Tabelle. Diese Option unterstützt auch den Cloud Resource Name (CRN) der Routing-Tabelle.
--resource-group-id
Die ID der Ressourcengruppe. Diese ID schließt die ID „ --resource-group-name “ aus.
--resource-group-name
Name der Ressourcengruppe. Dieser Name schließt „ --resource-group-id “ aus.
--output
Ausgabeformat. Nur JSON wird unterstützt. Einer der folgenden Werte: JSON.
-q, --quiet
Ausführliche Ausgabe unterdrücken.

Subnetze mit der API erstellen

Befolgen Sie diese Anweisungen, um mit Hilfe der API Subnetze zu erstellen:

  1. Richten Sie die API-Umgebung ein.
  2. Speichern Sie alle weiteren Variablen, die in API-Befehlen verwendet werden sollen.
Parameter für die Erstellung eines Subnetzes
Abfrageparameter Informationen
version
Erforderlich
string
Fordert die Version der API zum Zeitpunkt eines Datums im Format „ YYYY-MM-DD “ ab. Es kann jedes Datum bis zum aktuellen Datum angegeben werden. Geben Sie das aktuelle Datum an, um die neueste Version anzufordern.
Mögliche Werte: Wert muss regulärem Ausdruck entsprechen ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
Erforderlich
int32
Die Infrastruktur-Generation.
Gültige Werte: 2
Request Body
Erforderlich
Das Subnetz-Prototyp-Objekt.
vpc
Erforderlich
string
Die VPC, in der sich dieses Subnetz befindet.
Eines von: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref
ip_version
string
Die IP-Version, die für dieses Subnetz unterstützt werden soll. Zulässige Werte: [ipv4]
name
Erforderlich
string
Der Name dieses Subnetzes. Der Name darf nicht bereits von einem anderen Subnetz in der VPC verwendet werden. Wenn nicht angegeben, wird der Name aus einer durch Bindestriche getrennten Liste zufällig ausgewählter Wörter bestehen.
Mögliche Werte: 1 ≤ Länge ≤ 63, Wert muss dem regulären Ausdruck entsprechen ([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
Beispiel: my-subnet
network_acl
string
Die für dieses Subnetz zu verwendende Netzwerk-ACL. Wenn nicht angegeben, wird die Standard-Netzwerk-ACL für die VPC verwendet.
Eines von: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref
public_gateway
string
Das öffentliche Gateway, das für den Internetverkehr dieses Subnetzes verwendet werden soll. Wenn nicht anders angegeben, wird das Subnetz nicht an ein öffentliches Gateway angeschlossen.
Eines von: PublicGatewayIdentityById, PublicGatewayIdentityByCRN, PublicGatewayIdentityByHref
resource_group
ResourceGroupIdentityById
Die zu verwendende Ressourcengruppe. Sofern nicht anders angegeben, wird die Standard-Ressourcengruppe des Kontos verwendet.
routing_table
string
Die für dieses Subnetz zu verwendende Routing-Tabelle. Bei fehlender Angabe wird die Standard-Routing-Tabelle für die VPC verwendet. Die Eigenschaften der route_direct_link_ingress Routing-Tabelle, route_internet_ingress, route_transit_gateway_ingress und route_vpc_zone_ingress müssen sein false.
Eines von: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref
SubnetByTotalCount
int 64
oder
SubnetByCIDR
string
Geben Sie die Gesamtzahl der erforderlichen IPv4 Adressen an SubnetByTotalCount. Geben Sie für den IPv4 Bereich des SubnetByCIDR Subnetzes an, ausgedrückt im CIDR-Format. Beide Optionen erfordern ein zone für das Subnetz, in dem erstellt werden soll.

Wenn alle Variablen initialisiert sind, übergeben Sie die Anforderung.

Sehen Sie sich das folgende Beispiel an:

curl -X POST
"$vpc_api_endpoint/v1/subnets?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
      "name": "my-subnet-1",
      "ipv4_cidr_block": "10.0.1.0/24",
      "ip_version": "ipv4",
      "zone": { "name": "us-south-1" },
      "vpc": { "id": "a0819609-0997-4f92-9409-86c95ddf59d3" }
    }'

Nach dem Absenden der Anfrage wird folgende Antwort angezeigt:

Beispiel für eine API-Antwort
Antworthauptteil Details zu
available_ipv4_address_count
Immer enthalten
int64
Die Anzahl der IPv4 Adressen in diesem Subnetz, die nicht in Gebrauch sind und nicht vom Benutzer oder Anbieter reserviert sind.
Beispiel: 15
created_at
Immer enthalten
date-time
Datum und Uhrzeit der Erstellung dieses Subnetzes.
crn
Immer enthalten
string
Die CRN für dieses Subnetz.
Mögliche Werte: 9 ≤ Länge ≤ 512
Beispiel: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
href
Immer inklusive*
string
Die URL für dieses Teilnetz
Mögliche Werte: 10 ≤ Länge ≤ 8000, Wert muss regulärem Ausdruck entsprechen ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
Beispiel: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
id
Immer enthalten
string
Der eindeutige Bezeichner für dieses Teilnetz
Mögliche Werte: 1 ≤ Länge ≤ 64, Wert muss regulärem Ausdruck entsprechen ^[-0-9a-z_]+$
Beispiel: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
Immer enthalten
string
Die IP-Versionen, die von diesem Subnetz unterstützt werden.
Gültige Werte: [ipv4]
ipv4_cidr_block
Immer enthalten
string
Der IPv4 Bereich des Teilnetzes, der im CIDR-Format ausgedrückt wird.
Mögliche Werte: 9 ≤ Länge ≤ 18, Wert muss dem regulären Ausdruck entsprechen ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$
Beispiel: 10.0.0.0/24
name
Immer enthalten
string
Der Name dieses Subnetzes. Der Name ist in allen Subnetzen der VPC eindeutig.
Mögliche Werte: 1 ≤ Länge ≤ 63, Wert muss dem regulären Ausdruck entsprechen ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$
Beispiel: my-subnet
network_acl Immer enthalten
NetworkACLReference
resource_group
Immer enthalten
ResourceGroupReference
Die Ressourcengruppe für dieses Subnetz.
resource_type
Immer enthalten
string
Der Ressourcentyp.
Mögliche Werte: 1 ≤ Länge ≤ 128, Wert muss dem regulären Ausdruck entsprechen ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
Beispiel: subnet
routing_table
Immer enthalten
RoutingTableReference
Die Routing-Tabelle für dieses Subnetz.
status
Immer enthalten
string
Der Status des Subnetzes.
Mögliche Werte: available,deleting,failed, pending
total_ipv4_address_count
Immer enthalten
int64
vpc
Immer enthalten
VPCReference
Die VPC, in der sich dieses Subnetz befindet.
zone
Immer enthalten
ZoneReference
Die Zone, in der sich dieses Subnetz befindet.
public_gateway
PublicGatewayReference
Das öffentliche Gateway, das für den Internetverkehr dieses Subnetzes verwendet werden soll.
Statuscodes erstellen
Statuscode Bedeutung
201 Das Subnetz wurde erfolgreich erstellt.
400 Es wurde ein ungültiges Subnetz-Prototypobjekt bereitgestellt.
409 Das Subnetz-Prototypobjekt steht in Konflikt mit einem anderen Subnetz in der VPC oder gibt einen CIDR-Block außerhalb der Adresspräfixe der VPC an.

Weitere Informationen (einschließlich Java, Node, Python und Go-Beispiele) finden Sie unter der Methode „Subnetz erstellen“ in der VPC-API-Referenz.

Anzeigen von Subnetzen

Sie können die Details eines Teilnetzes in Ihrer VPC über die Benutzerschnittstelle, API oder CLI anzeigen.

Subnetze in der Konsole anzeigen

Nachdem das Subnetz erstellt wurde, wird es in der Liste „Subnets for VPC“ angezeigt.

Um die Details zu einem Subnetz in der Liste in der Konsole anzuzeigen, klicken Sie auf den Link des Subnetzes in der Spalte „ Name “. Die Registerkarte „Übersicht“ zeigt die Informationen an, die Sie bei der Erstellung des Subnetzes verwendet haben.

Anzeigen von Subnetzen über die CLI

Um die Details zu einem Subnetz in VPC über die CLI anzuzeigen, führen Sie den folgenden Befehl aus:

ibmcloud is subnet SUBNET [--vpc VPC] [--show-attached] [--output JSON] [-q, --quiet]

Dabei gilt:

SUBNET
ID oder Name des Teilnetzes.
--vpc
ID oder Name der VPC. Die eindeutige Ressource muss nur innerhalb dieser VPC nach Name angegeben werden.
--show-attached
Details zu Ressourcen (Instanzen, Lastausgleichsfunktionen, VPN-Gateways) anzeigen, die dem Teilnetz zugeordnet sind.
--output
Ausgabeformat. Nur JSON wird unterstützt. Option: JSON.
-q, --quiet
Ausführliche Ausgabe unterdrücken.

Anzeigen von Subnetzen über die API

Damit Sie diese Methode aufrufen können, müssen Ihnen eine oder mehrere IAM-Zugriffsrollen zugewiesen sein, die die folgende Aktion beinhalten. Sie können Ihre Zugriffsrechte unter Benutzer > Benutzer > Zugriff“ überprüfen.

  • is.subnet.subnet.read

Befolgen Sie diese Anweisungen, um ein Teilnetz in Ihrer VPC mithilfe der API abzurufen:

  1. Richten Sie die API-Umgebung ein.
  2. Speichern Sie alle weiteren Variablen, die in API-Befehlen verwendet werden sollen.
Parameter zum Abrufen eines Subnetzes
Abfrageparameter Informationen
id
Erforderlich
string
Die Subnetz-Kennung.
Mögliche Werte: 1 ≤ Länge ≤ 64, der Wert muss dem regulären Ausdruck entsprechen ^[-0-9a-z_]+$
version
Erforderlich
string
Fordert die Version der API zum Zeitpunkt eines Datums im Format „ YYYY-MM-DD “ ab. Es kann jedes Datum bis zum aktuellen Datum angegeben werden. Geben Sie das aktuelle Datum an, um die neueste Version anzufordern.
Mögliche Werte: Wert muss regulärem Ausdruck entsprechen ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
Erforderlich
int32
Die Infrastruktur-Generation.
Zulässige Werte: 2
  1. Wenn alle Variablen initialisiert sind, führen Sie den Befehl aus.

Sehen Sie sich das folgende Beispiel an:

curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet_id?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"

Nach dem Absenden der Anfrage wird folgende Antwort angezeigt:

Beispiel für eine Antwort abrufen
Antworthauptteil Details zu
available_ipv4_address_count
Immer enthalten
int64
Die Anzahl der IPv4 Adressen in diesem Subnetz, die nicht in Gebrauch sind und nicht vom Benutzer oder Anbieter reserviert sind.
Beispiel: 15
created_at
Immer enthalten
Datum-Zeit
Datum und Uhrzeit der Erstellung dieses Subnetzes.
crn
Immer enthalten
string
Die CRN für dieses Teilnetz
Mögliche Werte: 9 ≤ Länge ≤ 512
Beispiel: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
href
Immer inklusive*
string
Die URL für dieses Teilnetz
Mögliche Werte: 10 ≤ Länge ≤ 8000, Wert muss regulärem Ausdruck entsprechen ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
Beispiel: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
id
Immer enthalten
string
Der eindeutige Bezeichner für dieses Teilnetz
Mögliche Werte: 1 ≤ Länge ≤ 64, Wert muss regulärem Ausdruck entsprechen ^[-0-9a-z_]+$
Beispiel: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
Immer enthalten
string
Die von diesem Subnetz unterstützten IP-Versionen.
Gültige Werte: [ipv4]
ipv4_cidr_block
Immer enthalten
string
Der Bereich „ IPv4 “ des Subnetzes, ausgedrückt im CIDR-Format.
Mögliche Werte: 9 ≤ Länge ≤ 18, Wert muss dem regulären Ausdruck entsprechen ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$
Beispiel: 10.0.0.0/24
name
Immer enthalten
string
Der Name dieses Subnetzes. Der Name ist in allen Subnetzen der VPC eindeutig.
Mögliche Werte: 1 ≤ Länge ≤ 63, Wert muss dem regulären Ausdruck entsprechen ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$
Beispiel: my-subnet
network_acl Immer enthalten
NetworkACLReference
resource_group
Immer enthalten
ResourceGroupReference
Die Ressourcengruppe für dieses Subnetz.
resource_type
Immer enthalten
string
Der Ressourcentyp.
Mögliche Werte: 1 ≤ Länge ≤ 128, Wert muss dem regulären Ausdruck entsprechen ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
Beispiel: subnet
routing_table
Immer enthalten
RoutingTableReference
Die Routing-Tabelle für dieses Subnetz.
status
Immer enthalten
string
Der Status des Subnetzes.
Mögliche Werte: available,deleting,failed, pending
total_ipv4_address_count
Immer enthalten
int64
vpc
Immer enthalten
VPCReference
Die VPC, in der sich dieses Subnetz befindet.
zone
Immer enthalten
ZoneReference
Die Zone, in der sich dieses Subnetz befindet.
public_gateway
PublicGatewayReference
Das öffentliche Gateway, das für den Internetverkehr dieses Subnetzes verwendet werden soll.
Statuscodes abrufen
Statuscode Bedeutung
200 Das Subnetz wurde erfolgreich abgerufen.
404 Ein Subnetz mit der angegebenen Kennung konnte nicht gefunden werden.

Weitere Informationen (einschließlich Java, Node, Python und Go-Beispiele) finden Sie unter „Subnetz abrufen“ in der VPC-API-Referenz.