VPC-Ressourcen mit CLI und API erstellen
Neben der Erstellung einer VPC können Sie auch VPC-Ressourcen wie eine Instanz, ein Teilnetz und einen Blockspeicherdatenträger erstellen.
Weitere Informationen zur Erstellung von VPC-Ressourcen mithilfe der IBM Cloud Konsole finden Sie unter Verwendung der IBM Cloud Konsole zur Erstellung von VPC-Ressourcen.
VPC-Ressourcen mithilfe der Befehlszeilenschnittstelle erstellen
Sie können einen „ IBM Cloud® Virtual Private Cloud “ mithilfe der CLI „ IBM Cloud® “ erstellen und konfigurieren.
Um eine Virtual Private Cloud-Instanz (VPC) und andere zugeordnete Ressourcen zu erstellen und zu konfigurieren, führen Sie die Schritte in den nachfolgenden Abschnitten in der angegebenen Reihenfolge aus:
- Erstellen Sie eine VPC-Instanz und ein Teilnetz, um das Netz zu definieren.
- Wenn alle Ressourcen im Teilnetz mit dem öffentlichen Internet kommunizieren können sollen, dann ordnen Sie ihnen ein öffentliches Gateway zu.
- Erstellen Sie eine Virtual Server-Instanz. Standardmäßig ist der Instanz ein Startvolume zugeordnet. Für die meisten virtuellen Serverinstanzen beträgt die Standardbootdatenträgergröße 100 GB. Die Standardbootdatenträgergröße für eine virtuelle z/OS-Serverinstanz beträgt 250 GB.
- Wenn Sie mehr Speicherplatz benötigen, dann können Sie einen Blockspeicherdatenträger erstellen und ihn Ihrer Instanz zuordnen.
- Um den zulässigen eingehenden und ausgehenden Datenverkehr für die Instanz festzulegen, konfigurieren Sie deren Sicherheitsgruppe.
- Wenn Sie möchten, dass Ihre Instanz über das Internet erreichbar ist, dann reservieren Sie eine variable IP-Adresse und ordnen Sie diese zu.
Vorbereitende Schritte
Stellen Sie sicher, dass Sie Ihre CLI-Umgebung eingerichtet haben.
Bei IBM Cloud anmelden
ibmcloud login --sso -a cloud.ibm.com
Mit diesem Befehl wird eine URL zurückgegeben und die Eingabe eines Kenncodes angefordert. Rufen Sie diese URL im Browser auf und melden Sie sich an. Wenn dieser Vorgang erfolgreich ausgeführt werden kann, dann erhalten Sie einen Einmalkenncode. Kopieren Sie diesen Kenncode und fügen Sie ihn als Antwort auf die Eingabeaufforderung ein. Nach den Authentifizierungsschritten werden Sie aufgefordert, Ihr Konto auszuwählen. Wenn Sie Zugriff auf mehrere Benutzer haben, wählen Sie den Benutzer aus, unter dem Sie sich anmelden möchten.
Wenn Sie aufgefordert werden, eine Region auszuwählen, wählen Sie 'us-south' (Vereinigte Staaten (Süden)) aus.
Antworten Sie auf alle verbleibenden Eingabeaufforderungen, um die Anmeldung abzuschließen.
VPC erstellen
Verwenden Sie den folgenden Befehl, um eine VPC mit dem Namen meine-vpc zu erstellen.
ibmcloud is vpc-create my-vpc
Speichern Sie die ID aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später verwenden können, zum Beispiel:
vpc="0738-59de4046-3434-4d87-bb29-0c99c428c96e"
Im obigen Beispiel wird keine VPC mit klassischem Zugriff erstellt. Wenn die VPC Zugriff auf Ihre klassischen Ressourcen benötigt, lesen Sie den Abschnitt Zugriff auf klassische Infrastruktur einrichten. Sie können eine VPC nur während der Erstellung für den klassischen Zugriff aktivieren. Ihr Konto kann darüber hinaus jeweils nur eine einzige VPC mit klassischem Zugriff enthalten.
Privaten Katalog erstellen
Dieser Schritt ist optional. Wenn Sie Images aus einem privaten Katalog gemeinsam nutzen möchten, muss der private Katalog zuerst erstellt werden. Wenn Sie ein Katalogimage auswählen, das zu einem anderen Konto gehört, müssen Sie weitere Überlegungen und Einschränkungen berücksichtigen. Siehe Kontenübergreifende Imageverweise in einem privaten Katalog verwenden. Informationen zum Erstellen eines privaten Katalogs finden Sie im Lernprogramm Software mithilfe der Befehlszeilenschnittstelle in Ihren Katalog integrieren.
Teilnetz erstellen
Bevor Sie ein Teilnetz erstellen, wählen Sie das Zonen- und Adresspräfix aus, in dem es erstellt werden soll. Führen Sie den folgenden Befehl aus, um die Adresspräfixe für jede Zone in Ihrer VPC-Instanz aufzulisten:
ibmcloud is vpc-address-prefixes $vpc
Jetzt müssen Sie das Standardadresspräfix für die Zone us-south-3 auswählen. Notieren Sie den in der Befehlsausgabe angegebenen CIDR-Block des Adresspräfixes. Wenn Sie ein Teilnetz erstellen, müssen Sie einen IP-Bereich angeben,
der in einer der Adresspräfixe der ausgewählten Zone liegt.
Die Größe eines Teilnetzes kann nach der Erstellung des Teilnetzes nicht mehr geändert werden.
ibmcloud is subnet-create my-subnet $vpc us-south-3 --ipv4-cidr-block "10.0.1.0/24"
Speichern Sie die ID aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später verwenden können, zum Beispiel:
subnet="0738-658756a4-1106-4914-969a-3b43b338524a"
Der Status des Subnetzes lautet „ pending “, wenn Sie es zum ersten Mal erstellen. Bevor Sie im Teilnetz Ressourcen erstellen können, muss das Teilnetz in den Status available (verfügbar) versetzt werden. Dies kann
einige Sekunden dauern. Führen Sie den folgenden Befehl aus, um den Status des Teilnetzes zu überprüfen:
ibmcloud is subnet $subnet
Öffentliches Gateway anhängen
Ordnen Sie dem Teilnetz ein öffentliches Gateway zu, damit alle zugeordneten Ressourcen mit dem öffentlichen Internet kommunizieren können.
Führen Sie den folgenden Befehl aus, um ein öffentliches Gateway zu erstellen:
ibmcloud is public-gateway-create my-gateway $vpc us-south-3
Speichern Sie die ID aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später verwenden können, zum Beispiel:
gateway="0738-446c0c63-f0b1-4043-b30d-644f55fde391"
Führen Sie den folgenden Befehl aus, um das öffentliche Gateway dem Teilnetz zuzuordnen:
ibmcloud is subnet-update $subnet --pgw $gateway
Es ist zwar nur ein öffentliches Gateway pro Zone in einer VPC-Instanz zulässig, dieses öffentliche Gateway kann jedoch mehreren Teilnetzen in der Zone zugeordnet werden. Wenn Sie das öffentliche Gateway für eine Zone suchen, führen Sie den
Befehl ibmcloud is public-gateways aus und überprüfen die konkreten Werte für die VPC-Instanz und die Zone.
SSH-Schlüssel hinzufügen
Fügen Sie Ihren öffentlichen SSH-Schlüssel zu Ihrem IBM Cloud-Konto hinzu. Dieser Schlüssel wird beim Erstellen der Instanz festgelegt und wird später für die Anmeldung bei der Instanz benötigt. Sie können mit einem Schlüssel mehrere Instanzen bereitstellen.
Führen Sie den folgenden Befehl aus, um die verfügbaren Schlüssel in Ihrem IBM Cloud-Konto anzuzeigen:
ibmcloud is keys
Führen Sie den folgenden Befehl aus, um einen Schlüssel hinzuzufügen. Ersetzen Sie den Pfad durch den Pfad zu Ihrer SSH-Schlüsseldatei. Für einen RSA-SSH-Schlüssel können Sie den Pfad zu Ihrer Datei id_rsa.pub verwenden. Für einen
SSH-Schlüssel Ed25519 können Sie den Pfad zu Ihrer Datei id_ed25519.pub verwenden.
ibmcloud is key-create my-key @$HOME/.ssh/id_rsa.pub
Speichern Sie die ID aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später verwenden können, zum Beispiel:
key="0738-859b4e97-7540-4337-9c64-384792b85653"
Profil für die Instanz auswählen
Führen Sie den folgenden Befehl aus, um alle verfügbaren Instanzprofile aufzulisten:
ibmcloud is instance-profiles
Speichern Sie das Profil, das Sie verwenden möchten, als Variable, die später zum Bereitstellen einer Instanz verwendet wird.
Vergewissern Sie sich, dass das von Ihnen verwendete Profil in der Zone verfügbar ist, in der Sie die Instanz erstellen möchten.
Einige Profile sind möglicherweise aus einem der folgenden Gründe nicht verfügbar:
- Die Anzahl der Netzwerkschnittstellen des virtuellen Servers überschreitet die Profilgrenzen. Sie können Netzwerkschnittstellen entfernen, um aus mehr Profilen auszuwählen. Weitere Informationen finden Sie unter „ Größe eines virtuellen Servers anpassen “.
- Das ausgewählte Bild enthält einen Ausdruck für die zulässige Verwendung, der nicht mit dem Profil kompatibel ist. Wählen Sie in diesen Fällen ein Bild mit einem Ausdruck für die zulässige Verwendung, der mit dem gewünschten Profil kompatibel ist. Weitere Informationen finden Sie unter Hinzufügen von Ausdrücken für die zulässige Verwendung zu benutzerdefinierten Bildern.
Image für die Instanz auswählen
Sie können eine Instanz erstellen, indem Sie ein Börsenimage, ein angepasstes Image Ihres Kontos oder ein Image, das mit Ihrem Konto gemeinsam genutzt wurde, aus einem privaten Katalog verwenden. Führen Sie abhängig von dem Image, das Sie verwenden möchten, einen der folgenden Befehle aus:
-
Wählen Sie ein Bestandsbild oder ein angepasstes Bild aus Ihrem Konto für Ihre Instanz aus.
-
Führen Sie den Befehl
ibmcloud is imagesaus, um alle verfügbaren Images aufzulisten. Wenn die Liste zu lang ist, ziehen Sie in Betracht, sie wie im folgenden Beispiel zu filtern.$ ibmcloud is images | grep -i "debian.*available.*amd64.*public" r006-17cc6c08-f628-46f4-8bf4-a8edab749722 ibm-debian-10-13-minimal-amd64-4 available amd64 debian-10-amd64 10.x Buster/Stable - Minimal Install 1 public provider none Default - r006-b721bf3b-393b-4386-a618-d1ea8c004e1c ibm-debian-11-7-minimal-amd64-2 available amd64 debian-11-amd64 11.x Bullseye/Stable - Minimal Install 1 public provider none Default - r006-e66ebfcd-4aac-44e2-b504-1f6f4c003518 ibm-debian-12-0-minimal-amd64-1 available amd64 debian-12-amd64 12.x Bookworm/Stable - Minimal Install 1 public provider none Default -Veraltete Images beinhalten nicht die aktuelle Unterstützung.
-
Wählen Sie ein Image wie
ibm-debian-12-0-minimal-amd64-1aus und speichern Sie die Image-ID als Variable für die spätere Bereitstellung einer Instanz.image=$(ibmcloud is images | grep -i "ibm-debian-12-0-minimal-amd64-1" | cut -d" " -f1)
-
-
Wählen Sie ein gemeinsam genutztes Image aus einem privaten Katalog für die Instanz aus.
Wenn Sie ein Katalogimage auswählen, das zu einem anderen Konto gehört, müssen Sie weitere Überlegungen und Einschränkungen berücksichtigen. Siehe Kontenübergreifende Imageverweise in einem privaten Katalog in der Befehlszeilenschnittstelle verwenden.
-
Führen Sie den folgenden Befehl aus, um alle verfügbaren privaten Katalogimageangebote aufzulisten:
ibmcloud is catalog-image-offeringsDieser Befehl gibt die ID jedes Imageangebots und die ID des privaten Katalogs zurück, in dem sich das Image befindet. Speichern Sie die Variablen
offering_idundcatalog_id, die später zum Bereitstellen einer Instanz verwendet werden.offering_id=6bf79f7b-de48-4ce8-8cae-866b376f2889 catalog_id=71306253-8444-4cae-a45d-64d35e5393ec -
Führen Sie den folgenden Befehl aus, um die
offering_crnfür das Angebot und dieoffering_version_crnfür jede Version im Angebot abzurufen.ibmcloud is catalog-image-offering $catalog_id $offering_idWenn Sie eine Instanz bereitstellen, können Sie entweder die Instanz aus dem privaten katalogverwalteten Image in der neuesten Version in einem Katalogproduktangebot unter Verwendung des Werts
offering_crnoder aus der spezifischen Version im Katalogproduktangebot unter Verwendung des Wertsoffering_version_crnbereitstellen.Speichern Sie die Variablen
offering_crnundoffering_version_crn, die später zum Bereitstellen einer Instanz verwendet werden.offering_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:offering:136559f6-4588-4af2-8585-f3c625eee09d" offering_version_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:version:136559f6-4588-4af2-8585-f3c625eee09d/8ae92879-e253-4a7c-b09f-8d30af12e518"
-
Instanz erstellen
Erstellen Sie die Instanz im neu erstellten Subnetz. Geben Sie Ihren öffentlichen SSH-Schlüssel an, damit Sie sich anmelden können, nachdem die Instanz bereitgestellt wurde.
Führen Sie einen der folgenden CLI-Befehle basierend auf dem Image aus, das Sie verwenden möchten.
-
Erstellen Sie eine Instanz mithilfe eines Bestandsbilds oder eines angepassten Bilds aus Ihrem Konto für Ihre Instanz.
ibmcloud is instance-create my-instance $vpc us-south-3 bx2-2x8 $subnet --image-id $image --keys $key -
Erstellen Sie eine Instanz, indem Sie ein privates katalogverwaltetes Image aus der neuesten Imageversion verwenden.
ibmcloud is instance-create my-instance $vpc us-south-3 bx2-2x8 $subnet --catalog-offering $offering_crn --keys $key -
Erstellen Sie eine Instanz, indem Sie ein privates katalogverwaltetes Image aus einer bestimmten Version des Image verwenden.
ibmcloud is instance-create my-instance $vpc us-south-3 bx2-2x8 $subnet --catalog-offering-version $offering_version_crn --keys $key
Die Informationen zu der Netzschnittstelle, die für die neue Instanz erstellt wird, werden nach der Erstellung der Instanz nicht zurückgegeben.
Speichern Sie aus der zurückgegebenen Ausgabe die ID der Instanz in einer Variablen, damit Sie sie später verwenden können, zum Beispiel:
instance="0738-21179496-964e-4c00-8210-cf23d75750b3"
Der Status der Instanz lautet „ pending “, wenn Sie sie zum ersten Mal erstellen. Bevor Sie fortfahren können, muss die Instanz in den Status running versetzt werden, was einige Minuten in Anspruch nimmt. Führen Sie
den folgenden Befehl aus, um den Status der Instanz zu überprüfen:
ibmcloud is instance $instance
Speichern Sie die ID der VNI (Virtual Network Interface) in einer Variablen, damit Sie sie später verwenden können:
vni="0717-0b45c763-fada-4d44-8f46-e71154ec11e0"
Erstellen eines „ Block Storage “-Datenvolumes
Sie können einen Blockspeicherdatenträger erstellen und ihn Ihrer Virtual Server-Instanz zuordnen, wenn Sie mehr Speicherplatz benötigen. Wenn Sie einen Blockspeicherdatenträger erstellen, dann wählen Sie ein Profil aus, um die Leistung Ihrer Rechenressourcensworkloads zu optimieren. Weitere Informationen zur Datenträgerkapazität und zu IOPS-Bereichen auf der Basis des ausgewählten Datenträgerprofils finden Sie unter Profile.
Führen Sie die folgenden Befehle aus, um eine Liste der Datenträgerprofile anzuzeigen:
ibmcloud is volume-profiles
Führen Sie den folgenden Befehl aus, um einen Blockspeicherdatenträger zu erstellen. Geben Sie einen Namen für den Datenträger, das Datenträgerprofil und die Zone an, in der der Datenträger erstellt wird. Damit ein Blockspeicherdatenträger einer Instanz zugeordnet werden kann, müssen die Instanz und der Blockspeicherdatenträger in derselben Zone erstellt werden.
ibmcloud is volume-create my-volume custom us-south-3 --iops 1000 --capacity 500
Speichern Sie die ID des Datenträgers aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später verwenden können:
vol=0738-933c8781-f7f5-4a8f-8a2d-3bfc711788ee
Der Status des Volumes lautet „ pending “, wenn es erstmals erstellt wird. Damit Sie fortfahren können, muss der Datenträger in den Status available (verfügbar) wechseln; dies kann einige Minuten dauern.
Führen Sie den folgenden Befehl aus, um den Status des Datenträgers zu überprüfen:
ibmcloud is volume $vol
Ein „ Block Storage “-Datenvolume an eine Instanz anhängen
Verwenden Sie den folgenden Befehl, um das Volume unter Verwendung der von Ihnen erstellten Variablen an die virtuelle Serverinstanz anzuhängen:
ibmcloud is instance-volume-attachment-add my-volume-attachment $instance $vol --auto-delete true
Regeln zur Standard-Sicherheitsgruppe hinzufügen
Sie können die Sicherheitsgruppe konfigurieren, um den eingehenden und ausgehenden Datenverkehr zu definieren, der für die Instanz zulässig ist. Sie können beispielsweise eine Regel hinzufügen, um den SSH-Datenverkehr zu ermöglichen.
Suchen Sie die Sicherheitsgruppe für die VPC:
ibmcloud is vpc-sg $vpc
Speichern Sie die ID aus der Rückgabe in einer Variablen, damit Sie sie später verwenden können:
sg=0738-2d364f0a-a870-42c3-a554-000000981149
Erstellen Sie jetzt eine Regel, die den SSH-Datenverkehr ermöglicht:
ibmcloud is sg-rulec $sg inbound tcp --port-min=22 --port-max=22
Optional können Sie auch eine Regel hinzufügen, um den Pingdatenverkehr zu ermöglichen:
ibmcloud is sg-rulec $sg inbound icmp --icmp-type 8 --icmp-code 0
Stellen Sie bei Windows-Images sicher, dass die der Instanz zugeordnete Sicherheitsgruppe den ein- und ausgehenden Datenverkehr für Remote Desktop Protocol (RDP) zulässt (TCP-Port 3389).
Erstellen einer Floating-IP-Adresse für die Instanz
Erstellen Sie eine variable IP-Adresse, wenn Sie möchten, dass Ihre Instanz über das Internet erreichbar ist.
ibmcloud is floating-ip-reserve my-fip --vni $vni
Zum Beispiel:
ibmcloud is floating-ip-reserve my-fip --vni $vni
Creating floating IP my-fip under account rnos's Account as user bob@ibm.com...
ID r006-a398f234-7785-4e28-8861-02a96c928fa3
Address 52.118.151.163
Name my-fip
CRN crn:v1:bluemix:public:is:us-south-1:a/b21af5a9874242b7851e780943d795a9::floating-ip:r006-a398f234-7785-4e28-8861-02a96c928fa3
Status pending
Zone us-south-1
Created 2026-03-04T10:48:37+05:30
Target ID Target type Name
0717-0b45c763-fada-4d44-8f46-e71154ec11e0 virtual_network_interface alto-uncrushed-disliking-dismiss
Resource group Default
Speichern Sie aus der zurückgegebenen Ausgabe den Wert „ Address “ in einer Variablen, damit Sie ihn später verwenden können:
address=52.118.151.163
Anmeldung bei Ihrer Instanz
Unter Linux können Sie z. B. einen Befehl in diesem Format verwenden:
ssh -i $HOME/.ssh/id_rsa root@$address
Die Benutzeranmeldung „root“ ist in Fedora Core OS standardmäßig inaktiviert. Die Benutzeranmeldung „core“ kann für die Anmeldung bei Fedora Core OS-Instanzen verwendet werden.
Wenn Sie aufgefordert werden, die Verbindung fortzusetzen, geben Sie yes ein.
Der SSH-Zugriff auf die Instanz kann durch Sicherheitsgruppen verhindert werden. Vergewissern Sie sich, dass die Sicherheitsgruppe der Instanz den SSH-Zugriff erlaubt.
Um die Verbindung zu einem Windows-Image herzustellen, melden Sie sich mit dem zugehörigen entschlüsselten Kennwort an. Anweisungen hierzu finden Sie unter Verbindung zu Windows-Instanz herstellen.
Instanz überwachen
Sie können die CPU-, Datenträger-, Speicher- und Netzauslastung Ihrer Instanz im Zeitverlauf in der IBM Cloud-Konsole überwachen. Da die Überwachungsdaten in IBM Cloud Monitoring gespeichert werden, müssen Sie sich gegenüber einer Instanz des Überwachungsservice in Ihrem Konto authentifizieren. Weitere Informationen finden Sie in der Einführung in die Überwachung.
Für IBM Cloud Hyper Protect Virtual Servers für IBM Cloud® Virtual Private Cloud Instanzen können die Speichermetriken nicht erfasst werden, da Hyper Protect Virtual Servers für VPC-Instanzen unter Verwendung von Secure Execution-Images erstellt werden und der Speicher einer Secure Execution-Instanz nicht zugänglich ist.
VPN-Gateway erstellen
Erstellen Sie ein VPN-Gateway in Ihrem Teilnetz, um eine geschützte Verbindung von Ihrer VPC zu einem anderen privaten Netz herzustellen.
Führen Sie den folgenden Befehl aus, um ein VPN Gateway zu erstellen:
ibmcloud is vpn-gateway-create my-vpn-gateway $subnet
Speichern Sie aus der zurückgegebenen Ausgabe die ID des VPN-Gateways in einer Variablen, damit Sie sie später verwenden können, zum Beispiel:
vpn_gateway="0757-7e91085b-dc11-4707-aa4d-66e735e9a2bc"
Der Status des VPN-Gateways lautet „ pending “, wenn Sie es zum ersten Mal erstellen. Damit Sie fortfahren können, muss das VPN-Gateway in den Status available (verfügbar) wechseln; dies kann einige Minuten dauern.
Führen Sie den folgenden Befehl aus, um den Status des VPN-Gateways zu überprüfen:
ibmcloud is vpn-gateway $vpn_gateway
Führen Sie den folgenden Befehl aus, um eine VPN-Verbindung auf dem VPN-Gateway zur Peeradresse 169.61.161.150 und dem vorab bekannten gemeinsamen Schlüssel mykey zu erstellen:
ibmcloud is vpn-gateway-connection-create my-vpn-conn $vpn_gateway 169.61.161.150 mykey
In diesem Beispiel ist 169.61.161.150 die Peer-Gateway-Adresse, die die IP-Adresse des VPN-Gateways für das Netz außerhalb Ihrer VPC angibt. Der Wert „ mykey “ ist der Authentifizierungsschlüssel des VPN-Gateways
für das Netzwerk außerhalb Ihrer VPC. Es handelt sich um eine Folge von Hexadezimalziffern oder um eine Passphrase aus druckbaren ASCII-Zeichen. Die Zeichenfolge muss die folgenden Regeln einhalten, damit sie mit den meisten Peer-Gateway-Typen
kompatibel ist:
- Kann aus einer Kombination aus Ziffern, Klein- oder Großbuchstaben oder den folgenden Sonderzeichen bestehen:
- + & ! @ # $ % ^ * ( ) . , : - Die Länge der Zeichenfolge muss zwischen 6 und 128 Zeichen betragen.
- Sie darf nicht mit den Zeichen
0xoder0sbeginnen.
Der Status der VPN-Verbindung lautet bei der ersten Erstellung down und wechselt zu up, nachdem die Verbindung hergestellt wurde. Führen Sie den folgenden Befehl aus, um den Status der VPN-Verbindungen zu überprüfen:
ibmcloud is vpn-gateway-connections $vpn_gateway
Glückwunsch!
Sie haben Ihre VPC erfolgreich über die Befehlszeilenschnittstelle IBM Cloud erstellt und konfiguriert. Wenn Sie weitere CLI-Befehle testen möchten, dann lesen Sie die Informationen unter CLI-Referenz.
VPC-Ressourcen mithilfe der REST-APIs erstellen
Sie können Ressourcen von „ IBM Cloud® Virtual Private Cloud “ mithilfe der REST-APIs erstellen und konfigurieren.
Um eine Virtual Private Cloud-Instanz (VPC) und andere zugeordnete Ressourcen zu erstellen und zu konfigurieren, führen Sie die Schritte in den nachfolgenden Abschnitten in der angegebenen Reihenfolge aus:
- Erstellen Sie eine VPC-Instanz und ein Teilnetz, um das Netz zu definieren.
- Wenn alle Ressourcen im Teilnetz mit dem öffentlichen Internet kommunizieren können sollen, dann ordnen Sie ihnen ein öffentliches Gateway zu.
- Erstellen Sie eine Virtual Server-Instanz. Standardmäßig wird der Instanz ein Bootdatenträger mit 100 GB zugeordnet.
- Wenn Sie mehr Speicherplatz benötigen, dann können Sie einen Blockspeicherdatenträger erstellen und ihn Ihrer Instanz zuordnen.
- Um den zulässigen eingehenden und ausgehenden Datenverkehr für die Instanz festzulegen, konfigurieren Sie deren Sicherheitsgruppe.
- Wenn Sie möchten, dass Ihre Instanz über das Internet erreichbar ist, dann reservieren Sie eine variable IP-Adresse und ordnen Sie diese zu.
Vorbereitende Schritte
Definieren Sie Variablen für das IAM-Token, den API-Endpunkt und die API-Version. Anweisungen hierzu finden Sie unter API- und CLI-Umgebung einrichten.
Wenn Sie weitere Informationen zur API erhalten möchten, klicken Sie auf den Bereitstellungsseiten in der IBM Cloud-Konsole auf Beispiel-API-Aufruf abrufen. Daraufhin wird die korrekte Abfolge der API-Anforderungen angezeigt, sodass Sie die ausgeführten Aktionen und deren Abhängigkeiten besser nachvollziehen können.
VPC erstellen
Erstellen Sie eine IBM Cloud VPC-Instanz namens my-vpc.
curl -X POST "$vpc_api_endpoint/v1/vpcs?version=$api_version&generation=2" \
-H "Authorization:$iam_token" \
-d '{
"name": "my-vpc"
}'
Sie müssen den Parameter generation mit jeder API-Anforderung senden, um anzugeben, welche Generation verwendet werden soll. Geben Sie für Virtual Server-Instanzen der zweiten Generation generation=2 an. Weitere Informationen
hierzu finden Sie unter Generation in der Virtual Private Cloud-API.
Für die übrigen Aufrufe müssen Sie die ID der neu erstellten VPC kennen. Speichern Sie die ID in einer Variablen. Beispiel:
vpc="0738-59de4046-3434-4d87-bb29-0c99c428c96e"
Um zu überprüfen, ob die Variable gespeichert wurde, führen Sie den Befehl „ echo $vpc “ aus und vergewissern Sie sich, dass die Antwort nicht leer ist.
Im obigen Beispiel wird keine VPC mit klassischem Zugriff erstellt. Wenn die VPC Zugriff auf Ihre klassischen Ressourcen benötigt, lesen Sie den Abschnitt Zugriff auf klassische Infrastruktur einrichten. Sie können eine VPC nur während der Erstellung für den klassischen Zugriff aktivieren. Ihr Konto kann darüber hinaus jeweils nur eine einzige VPC mit klassischem Zugriff enthalten.
Privaten Katalog erstellen
Dieser Schritt ist optional. Wenn Sie Images aus einem privaten Katalog gemeinsam nutzen möchten, muss der private Katalog zuerst erstellt werden. Wenn Sie ein Katalogimage auswählen, das zu einem anderen Konto gehört, müssen Sie weitere Überlegungen und Einschränkungen berücksichtigen. Siehe Verwendung von kontoübergreifenden Bildreferenzen in einem privaten Katalog in der Konsole. Informationen zum Erstellen eines privaten Katalogs finden Sie im Lernprogramm Software mithilfe der Befehlszeilenschnittstelle in Ihren Katalog integrieren.
Teilnetz erstellen
Bevor Sie ein Teilnetz erstellen, wählen Sie das Zonen- und Adresspräfix aus, in dem es erstellt werden soll. Führen Sie den folgenden Befehl aus, um die Adresspräfixe für jede Zone in Ihrer VPC-Instanz aufzulisten:
curl -X GET "$vpc_api_endpoint/v1/vpcs/$vpc/address_prefixes?version=$api_version&generation=2" \
-H "Authorization:$iam_token"
Wählen Sie nun das Standard-Adresspräfix für die Zone „ us-south-3 “ aus. Notieren Sie den in der Antwort angegebenen CIDR-Block des Adresspräfixes. Wenn Sie ein Teilnetz erstellen, müssen Sie einen IP-Bereich angeben, der in einer der Adresspräfixe der ausgewählten Zone liegt.
Die Größe eines Teilnetzes kann nach der Erstellung des Teilnetzes nicht mehr geändert werden.
curl -X POST "$vpc_api_endpoint/v1/subnets?version=$api_version&generation=2" \
-H "Authorization:$iam_token" \
-d '{
"name": "my-subnet",
"ipv4_cidr_block": "10.0.1.0/24",
"zone": { "name": "us-south-3" },
"vpc": { "id": "'$vpc'" }
}'
Speichern Sie die ID des Teilnetzes in einer Variablen.
subnet="0738-35fb0489-7105-41b9-99de-033fae723006"
Damit Ressourcen im Teilnetz bereitgestellt werden können, muss das Teilnetz den Status Ready (bereit) aufweisen. Fragen Sie die Teilnetzressource ab und stellen Sie sicher, dass der Status Ready lautet, bevor Sie
fortfahren. Falls der Status failed lautet, wenden Sie sich mit den entsprechenden Details an den Support. Sie können versuchen fortzufahren, indem Sie versuchen, ein weiteres
Teilnetz bereitzustellen.
curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token"
Öffentliches Gateway anhängen
Ordnen Sie dem Teilnetz ein öffentliches Gateway zu, damit alle zugeordneten Ressourcen mit dem öffentlichen Internet kommunizieren können.
Erstellen Sie ein öffentliches Gateway für die Zone:
curl -X POST "$vpc_api_endpoint/v1/public_gateways?version=$api_version&generation=2" \
-H "Authorization:$iam_token" \
-d '{
"name": "my-gateway",
"zone": { "name": "us-south-3" },
"vpc": { "id": "'$vpc'" }
}'
Speichern Sie die ID des öffentlichen Gateways in einer Variablen.
gateway="0738-ad0cded3-53a3-4d4a-9809-8c59b50d2b80"
Ordnen Sie das öffentliche Gateway Ihrem Teilnetz zu.
curl -X PUT "$vpc_api_endpoint/v1/subnets/$subnet/public_gateway?version=$api_version&generation=2" \
-H "Authorization:$iam_token" \
-d '{
"id": "'$gateway'"
}'
Es ist zwar nur ein öffentliches Gateway pro Zone in einer VPC-Instanz zulässig, dieses öffentliche Gateway kann jedoch mehreren Teilnetzen in der Zone zugeordnet werden. Wenn Sie das öffentliche Gateway für eine Zone suchen, führen Sie den
Befehl ibmcloud is public-gateways aus und überprüfen die konkreten Werte für die VPC-Instanz und die Zone.
Anschließend können Sie mit dem folgenden Befehl das mit dem Teilnetz verbundene öffentliche Gateway abrufen und anzeigen.
curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet/public_gateway?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token"
SSH-Schlüssel hinzufügen
Fügen Sie Ihren öffentlichen SSH-Schlüssel zu Ihrem IBM Cloud-Konto hinzu. Dieser Schlüssel wird beim Erstellen der Instanz festgelegt und wird später für die Anmeldung bei der Instanz benötigt. Sie können mit einem Schlüssel mehrere Instanzen bereitstellen.
curl -X POST "$vpc_api_endpoint/v1/keys?version=$api_version&generation=2" \
-H "Authorization:$iam_token" \
-d '{
"name": "my-key",
"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
}'
Speichern Sie die ID des SSH-Schlüssels in einer Variablen. Beispiel:
key="0738-35fb0489-7105-41b9-8764-033fae723006"
Profil für Ihre Instanz auswählen
Rufen Sie die API auf, um alle Profile aufzulisten. Mit dem folgenden Befehl werden die verfügbaren Profile aufgelistet.
curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=$api_version&generation=2" \
-H "Authorization:$iam_token"
Speichern Sie den Namen des Profils in einer Variablen, die später zum Bereitstellen einer Instanz verwendet wird. Beispiel:
profile_name="b2-2x8"
Vergewissern Sie sich, dass das von Ihnen verwendete Profil in der Zone verfügbar ist, in der Sie die Instanz erstellen möchten.
Einige Profile sind möglicherweise aus einem der folgenden Gründe nicht verfügbar:
- Die Anzahl der Netzwerkschnittstellen des virtuellen Servers überschreitet die Profilgrenzen. Sie können Netzwerkschnittstellen entfernen, um aus mehr Profilen auszuwählen. Weitere Informationen finden Sie unter „ Größe eines virtuellen Servers anpassen “.
- Das ausgewählte Bild enthält einen Ausdruck für die zulässige Verwendung, der nicht mit dem Profil kompatibel ist. Wählen Sie in diesen Fällen ein Bild mit einem Ausdruck für die zulässige Verwendung, der mit dem gewünschten Profil kompatibel ist. Weitere Informationen finden Sie unter Hinzufügen von Ausdrücken für die zulässige Verwendung zu benutzerdefinierten Bildern.
Image für Ihre Instanz auswählen
Sie können eine Instanz erstellen, indem Sie ein Börsenimage, ein angepasstes Image Ihres Kontos oder ein Image, das mit Ihrem Konto gemeinsam genutzt wurde, aus einem privaten Katalog verwenden. Führen Sie einen der folgenden API-Aufrufe basierend auf dem Image aus, das verwendet werden soll.
-
Wählen Sie ein Bestandsbild oder ein angepasstes Bild aus Ihrem Konto für Ihre Instanz aus.
Mit dem folgenden Befehl werden die verfügbaren Images aufgelistet.
curl -X GET "$vpc_api_endpoint/v1/images?version=$api_version&generation=2" \ -H "Authorization:$iam_token"Speichern Sie die ID des Image in einer Variablen, die später zum Bereitstellen einer Instanz verwendet werden soll. Beispiel:
image_id="0738-660198a6-52c6-21cd-7b57-e37917cef586" -
Wählen Sie ein gemeinsam genutztes Image aus einem privaten Katalog für Ihre Instanz aus.
Wenn Sie ein Katalogimage auswählen, das zu einem anderen Konto gehört, müssen Sie weitere Überlegungen und Einschränkungen berücksichtigen. Siehe Kontoübergreifende Imageverweise in einem privaten Katalog in der API verwenden.
Sie können entweder eine Instanz aus dem privaten Katalogimage der neuesten Version in einem Katalogproduktangebot oder aus einer bestimmten Version im Katalogproduktangebot bereitstellen.
Informationen zur Auswahl des Images des privaten Katalogs aus der neuesten Version eines Katalogproduktangebots finden Sie unter Katalogverwaltungs-API-Angebot abrufen. Suchen Sie den CRN des Angebots und speichern Sie ihn zur späteren Verwendung in einer Variablen:
offering_crn="crn:v1:bluemix:public:globalcatalog-collection:global::1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:offering:00111601-0ec5-41ac-b142-96d1e64e6442-global"Informationen zum Auswählen des privaten Katalogimages aus einer bestimmten Version eines Katalogproduktangebots finden Sie unter Katalogverwaltungs-API-Angebot abrufen. Rufen Sie anschließend Angebot abrufen > Kinds > Versionen > CRN auf, um die CRN der Version abzurufen und zur späteren Verwendung in einer Variablen zu speichern:
version_crn="crn:v1:bluemix:public:globalcatalog-collection:global::1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc:version:00111601-0ec5-41ac-b142-96d1e64e6442-global/ec66bec2-6a33-42d6-9323-26dd4dc8875d-global"
Instanz erstellen
Erstellen Sie die Instanz im neu erstellten Subnetz. Geben Sie Ihren öffentlichen SSH-Schlüssel an, damit Sie sich anmelden können, nachdem die Instanz bereitgestellt wurde. Führen Sie einen der folgenden API-Aufrufe abhängig vom Typ des Images aus, das verwendet werden soll.
-
Wählen Sie ein Bestandsbild oder ein angepasstes Bild aus Ihrem Konto für Ihre Instanz aus.
curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \ -H "Authorization:$iam_token" \ -d '{ "name": "my-instance", "zone": { "name": "us-south-3" }, "vpc": { "id": "'$vpc'" }, "primary_network_interface": { "subnet": { "id": "'$subnet'" } }, "keys":[{"id": "'$key'"}], "profile": { "name": "'$profile_name'" }, "image": { "id": "'$image_id'" } }' -
Erstellen Sie eine Instanz mithilfe eines privaten Katalogimages aus der neuesten Version eines Katalogproduktangebots.
curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \ -H "Authorization:$iam_token" \ -d '{ "name": "my-instance", "zone": { "name": "us-south-3" }, "vpc": { "id": "'$vpc'" }, "primary_network_interface": { "subnet": { "id": "'$subnet'" } }, "keys":[{"id": "'$key'"}], "profile": { "name": "'$profile_name'" }, "catalog_offering": { "offering": { "crn": "'$offering_crn'" } }' -
Erstellen Sie eine Instanz mithilfe eines privaten Katalogimages aus einer bestimmten Version eines Katalogproduktangebots.
curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \ -H "Authorization:$iam_token" \ -d '{ "name": "my-instance", "zone": { "name": "us-south-3" }, "vpc": { "id": "'$vpc'" }, "primary_network_interface": { "subnet": { "id": "'$subnet'" } }, "keys":[{"id": "'$key'"}], "profile": { "name": "'$profile_name'" }, "catalog_offering": { "version": { "crn": "'$version_crn'" } }'
Speichern Sie die ID der Instanz in einer Variablen. Beispiel:
instance="0738-35fb0489-7105-41b9-99de-033fae723006"
Der Status der Instanz ist stopped, wenn Sie sie erstellen. Bevor Sie fortfahren können, muss die Instanz in den Status running versetzt werden, was einige Minuten in Anspruch nimmt. Fragen Sie den Status der Instanz
ab und vergewissern Sie sich, dass sie den Status running aufweist.
curl -X GET "$vpc_api_endpoint/v1/instances/$instance?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token"
Speichern Sie die ID der primären Netzschnittstelle der Instanz, die im Aufruf GET/instance API zurückgegeben wird. Beispiel:
network_interface="0738-7710e766-dd6e-41ef-9d36-06f7adbef33d"
Sie können die ID der primären Netzschnittstelle erst abrufen, wenn Sie die jeweilige Instanz abgefragt haben.
(Optional) Erstellen und Anbinden eines „ Block Storage “-Datenvolumes
Sie können ein „ Block Storage “-Datenvolume erstellen und es Ihrer virtuellen Serverinstanz als Zusatzspeicher zuweisen. Erstellen Sie einen Datenträger mit einer Anforderung ähnlich dem folgenden Beispiel. Dieses Verfahren zeigt die Datenträgerprofile an, legt einen Datenträger an, speichert die Datenträger-ID in einer Variablen, prüft den Status des Datenträgers und erstellt dann den Datenträgeranhang.
Liste der Datenträgerprofile anzeigen:
curl -X GET "$vpc_api_endpoint/v1/volumes/profiles?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token" \
Zur Verfügung stehen Universalprofile (3 IOPS/GB), Profile mit 5 IOPS-Schichten (5iops-tier), Profile mit 10 IOPS-Schichten (10-iops-tier) und angepasste Profile. Weitere Informationen zur Datenträgerkapazität und zu IOPS-Bereichen auf der Basis des ausgewählten Datenträgerprofils finden Sie unter Profile.
Erstellen Sie den Datenträger:
curl -X POST "$vpc_api_endpoint/v1/volumes?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"name": "my-volume",
"iops": 1000,
"capacity": 100,
"zone": {
"name": "us-south-3"
},
"profile": {
"name": "custom"
}
}'
Speichern Sie die ID des Datenträgers in einer Variablen:
volume_id="0738-640774d7-2adc-4609-add9-6dfd96167a8f"
Der Status des Volumes lautet „ pending “, wenn es erstmals erstellt wird. Damit Sie fortfahren können, muss der Datenträger in den Status available (verfügbar) wechseln; dies kann einige Minuten dauern.
Überprüfen Sie den Status des Datenträgers:
curl -X GET "$vpc_api_endpoint/v1/volumes/$volume_id?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token"
Erstellen Sie eine Datenträgerzuordnung, um den neuen Datenträger an die virtuelle Serverinstanz anzuschließen. Verwenden Sie die Variable mit der Instanz-ID, die Sie zuvor in der Anforderung erstellt haben. Verwenden Sie die Variable für die Datenträger-IDs, um den Datenträger anzugeben.
Erstellen Sie die Datenträgerzuordnung:
curl -X POST "$vpc_api_endpoint/v1/instances/$instance/volume_attachments?version=$version&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"name": "my-volume-attachment",
"volume": {
"id": "'$volume_id'"
}
}'
Regeln zur Standard-Sicherheitsgruppe hinzufügen
Sie können die Sicherheitsgruppe konfigurieren, um den eingehenden und ausgehenden Datenverkehr zu definieren, der für die Instanz zulässig ist. Sie können beispielsweise eine Regel hinzufügen, um den SSH-Datenverkehr zu ermöglichen.
Suchen Sie die Sicherheitsgruppe für die VPC:
curl -X GET "$vpc_api_endpoint/v1/vpcs/$vpc/default_security_group?version=$api_version&generation=2" \
-H "Authorization:$iam_token"
Speichern Sie die ID der Sicherheitsgruppe in einer Variablen. Beispiel:
sg=0738-2d364f0a-a870-42c3-a554-000000981149
Erstellen Sie nun eine Regel, um eingehenden SSH-Datenverkehr zuzulassen, damit Sie eine Verbindung zur Instanz herstellen können:
curl -X POST "$vpc_api_endpoint/v1/security_groups/$sg/rules?version=$api_version&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"direction": "inbound",
"protocol": "tcp",
"port_min": 22,
"port_max": 22
}'
Stellen Sie bei Windows-Images sicher, dass die der Instanz zugeordnete Sicherheitsgruppe den ein- und ausgehenden Datenverkehr für Remote Desktop Protocol (RDP) zulässt (TCP-Port 3389).
Eine Floating-IP-Adresse erstellen
Erstellen Sie eine variable IP-Adresse, wenn Sie möchten, dass Ihre Instanz über das Internet erreichbar ist. Verwenden Sie die primäre Netzschnittstelle der Instanz als Ziel für die variable IP-Adresse.
curl -X POST "$vpc_api_endpoint/v1/floating_ips?version=$api_version&generation=2" \
-H "Authorization:$iam_token" \
-d '{
"name": "my-floatingip",
"target": {
"id":"'$network_interface'"
}
}
'
Speichern Sie die ID der variablen IP-Adresse in einer Variablen. Beispiel:
floating_ip="0738-35fb0489-7105-41b9-99de-033fae723006"
Anmeldung bei Ihrer Instanz
Um eine Verbindung zur Instanz herzustellen, verwenden Sie die von Ihnen erstellte Floating-IP-Adresse. Führen Sie den folgenden Befehl aus, um die variable IP-Adresse abzurufen:
curl -X GET "$vpc_api_endpoint/v1/floating_ips/$floating_ip?version=$api_version&generation=2" \
-H "Authorization:$iam_token"
Verwenden Sie unter Linux den Wert von address der variablen IP-Adresse, um mit SSH eine Verbindung zur Instanz herzustellen:
ssh -i <private_key_file> root@<floating ip address>
Die Benutzeranmeldung „root“ ist in Fedora Core OS standardmäßig inaktiviert. Die Benutzeranmeldung „core“ kann für die Anmeldung bei Fedora Core OS-Instanzen verwendet werden.
Um die Verbindung zu einem Windows-Image herzustellen, melden Sie sich mit dem zugehörigen entschlüsselten Kennwort an. Anweisungen hierzu finden Sie unter Verbindung zu Windows-Instanz herstellen.
Instanz überwachen
Sie können die CPU-, Datenträger-, Speicher- und Netzauslastung Ihrer Instanz im Zeitverlauf in der IBM Cloud-Konsole überwachen. Da die Überwachungsdaten in IBM Cloud Monitoring gespeichert werden, müssen Sie sich an einer IBM Cloud Monitoring-Instanz in Ihrem Konto authentifizieren. Weitere Informationen finden Sie unter IBM Cloud Monitoring.
(Optional): Ressourcen löschen
Sie können Ressourcen jederzeit löschen. Eine Ressource kann jedoch nicht gelöscht werden, wenn sie von anderen Ressourcen benötigt wird. Ein VPC-Instanz kann zum Beispiel nicht gelöscht werden, wenn sie Instanzen, Teilnetze oder öffentliche Gateways enthält. Anweisungen zum Löschen einer VPC und aller zugehörigen Ressourcen finden Sie unter „ Löschen einer VPC mit den REST-APIs “.
Glückwunsch!
Sie haben Ihre VPC mithilfe der REST-APIs erfolgreich erstellt und konfiguriert. Wenn Sie weitere API-Befehle testen möchten, dann lesen Sie die Informationen unter Virtual Private Cloud-API.