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.createis.public-gateway.public-gateway.operate(erforderlich, wennpublic_gatewayangegeben 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:
-
Öffnen Sie in Ihrem Browser die IBM Cloud-Konsole.
-
Wählen Sie das Navigationsmenü
aus und klicken Sie dann auf
Infrastruktur- VPC > Netzwerk > Subnetze.
-
Klicken Sie in der Tabelle Subnetze für VPC-Liste auf Erstellen.
-
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.
-
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.
- Name: Geben Sie eine eindeutige Kennung für das Teilnetz ein, z. B.
-
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.
-
-
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:
- Richten Sie die API-Umgebung ein.
- Speichern Sie alle weiteren Variablen, die in API-Befehlen verwendet werden sollen.
| Abfrageparameter | Informationen |
|---|---|
versionErforderlich 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}$ |
generationErforderlich int32 |
Die Infrastruktur-Generation. Gültige Werte: 2 |
| Request Body Erforderlich |
Das Subnetz-Prototyp-Objekt. |
vpcErforderlich string |
Die VPC, in der sich dieses Subnetz befindet. Eines von: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref |
ip_versionstring |
Die IP-Version, die für dieses Subnetz unterstützt werden soll. Zulässige Werte: [ipv4] |
nameErforderlich 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_aclstring |
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_gatewaystring |
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_groupResourceGroupIdentityById |
Die zu verwendende Ressourcengruppe. Sofern nicht anders angegeben, wird die Standard-Ressourcengruppe des Kontos verwendet. |
routing_tablestring |
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 |
SubnetByTotalCountint 64oder SubnetByCIDRstring |
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:
| Antworthauptteil | Details zu |
|---|---|
available_ipv4_address_countImmer 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_atImmer enthalten date-time |
Datum und Uhrzeit der Erstellung dieses Subnetzes. |
crnImmer 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 |
hrefImmer 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 |
idImmer 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_versionImmer enthalten string |
Die IP-Versionen, die von diesem Subnetz unterstützt werden. Gültige Werte: [ipv4] |
ipv4_cidr_blockImmer 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 |
nameImmer 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 enthaltenNetworkACLReference |
resource_groupImmer enthalten ResourceGroupReference |
Die Ressourcengruppe für dieses Subnetz. |
resource_typeImmer 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_tableImmer enthalten RoutingTableReference |
Die Routing-Tabelle für dieses Subnetz. |
statusImmer enthalten string |
Der Status des Subnetzes. Mögliche Werte: available,deleting,failed, pending |
total_ipv4_address_countImmer enthalten int64 |
|
vpcImmer enthalten VPCReference |
Die VPC, in der sich dieses Subnetz befindet. |
zoneImmer enthalten ZoneReference |
Die Zone, in der sich dieses Subnetz befindet. |
public_gatewayPublicGatewayReference |
Das öffentliche Gateway, das für den Internetverkehr dieses Subnetzes verwendet werden soll. |
| 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:
- Richten Sie die API-Umgebung ein.
- Speichern Sie alle weiteren Variablen, die in API-Befehlen verwendet werden sollen.
| Abfrageparameter | Informationen |
|---|---|
idErforderlich string |
Die Subnetz-Kennung. Mögliche Werte: 1 ≤ Länge ≤ 64, der Wert muss dem regulären Ausdruck entsprechen ^[-0-9a-z_]+$ |
versionErforderlich 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}$ |
generationErforderlich int32 |
Die Infrastruktur-Generation. Zulässige Werte: 2 |
- 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:
| Antworthauptteil | Details zu |
|---|---|
available_ipv4_address_countImmer 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_atImmer enthalten Datum-Zeit |
Datum und Uhrzeit der Erstellung dieses Subnetzes. |
crnImmer 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 |
hrefImmer 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 |
idImmer 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_versionImmer enthalten string |
Die von diesem Subnetz unterstützten IP-Versionen. Gültige Werte: [ipv4] |
ipv4_cidr_blockImmer 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 |
nameImmer 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_groupImmer enthalten ResourceGroupReference |
Die Ressourcengruppe für dieses Subnetz. |
resource_typeImmer 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_tableImmer enthalten RoutingTableReference |
Die Routing-Tabelle für dieses Subnetz. |
statusImmer enthalten string |
Der Status des Subnetzes. Mögliche Werte: available,deleting,failed, pending |
total_ipv4_address_countImmer enthalten int64 |
|
vpcImmer enthalten VPCReference |
Die VPC, in der sich dieses Subnetz befindet. |
zoneImmer enthalten ZoneReference |
Die Zone, in der sich dieses Subnetz befindet. |
public_gatewayPublicGatewayReference |
Das öffentliche Gateway, das für den Internetverkehr dieses Subnetzes verwendet werden soll. |
| 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.