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 zum Erstellen von VPC-Ressourcen mithilfe der IBM Cloud-Konsole finden Sie unter IBM Cloud-Konsole zum Erstellen von VPC-Ressourcen verwenden.
VPC-Ressourcen mithilfe der Befehlszeilenschnittstelle erstellen
Sie können eine IBM Cloud® Virtual Private Cloud mit Hilfe der IBM Cloud® CLI 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 Boot-Volume 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 ein- und ausgehenden Verkehr für die Instanz festzulegen, konfigurieren Sie ihre 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 z. B. verwenden können:
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 für den klassischen Zugriff aktivieren, während Sie sie erstellen. 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 z. B. verwenden können:
subnet="0738-658756a4-1106-4914-969a-3b43b338524a"
Der Status des Teilnetzes ist 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 z. B. verwenden können:
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 bei der Erstellung der Instanz angegeben, und Sie benötigen ihn später, um sich bei der Instanz anzumelden. 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 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 z. B. verwenden können:
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.
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 images
aus, 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-1
aus 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-offerings
Dieser 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_id
undcatalog_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_crn
für das Angebot und dieoffering_version_crn
für jede Version im Angebot abzurufen.ibmcloud is catalog-image-offering $catalog_id $offering_id
Wenn 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_crn
oder aus der spezifischen Version im Katalogproduktangebot unter Verwendung des Wertsoffering_version_crn
bereitstellen.Speichern Sie die Variablen
offering_crn
undoffering_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 in dem neu erstellten Teilnetz. 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 --key-ids $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 die ID der Instanz aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie z. B. später verwenden können:
instance="0738-21179496-964e-4c00-8210-cf23d75750b3"
Der Status der Instanz ist 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 in der zurückgegebenen Ausgabe die ID der primären Netzwerkschnittstelle (Primary Interface
) in einer Variablen, damit Sie sie z. B. später verwenden können:
nic="0738-4d9b3a58-f796-4e6a-b5ac-84f4216e9b68-glhvl"
Erstellen eines Block Storage Datenvolumens
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 --size 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 ist pending
, wenn es zum ersten Mal 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
Anhängen eines Block Storage Datenvolumens an eine Instanz
Verwenden Sie den folgenden Befehl, um das Volume an die virtuelle Serverinstanz anzuhängen, indem Sie die von Ihnen erstellten Variablen verwenden:
ibmcloud is instance-volume-attachment-add my-volume-attachment $instance $vol --auto-delete true
Hinzufügen von Regeln zur Standardsicherheitsgruppe
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 der zurückgegebenen Ausgabe 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 schwebenden 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 --nic $nic
Speichern Sie die Address
aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später verwenden können:
address=169.48.88.0
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.
Bei IBM Cloud Hyper Protect Virtual Servers für IBM Cloud® Virtual Private Cloud-Instanzen können die Speichermetriken nicht erfasst werden, weil Hyper Protect Virtual Servers für VPC-Instanzen mithilfe von Secure Execution-Images erstellt werden und der Speicher einer sicheren Ausführungsinstanz 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 die ID des VPN-Gateways aus der zurückgegebenen Ausgabe in einer Variablen, damit Sie sie später z. B. verwenden können:
vpn_gateway="0757-7e91085b-dc11-4707-aa4d-66e735e9a2bc"
Der Status des VPN-Gateways ist 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 Kette von Hexadezimalziffern oder eine Passphrase aus druckbaren ASCII-Zeichen. Die Zeichenfolge muss die folgenden Regeln einhalten, damit sie mit den meisten Peer-Gateway-Typen
kompatibel ist:
- Kann eine Kombination aus Ziffern, Klein- oder Großbuchstaben oder den folgenden Sonderzeichen sein:
- + & ! @ # $ % ^ * ( ) . , :
- Die Länge der Zeichenkette muss zwischen 6 und 128 Zeichen liegen.
- Sie darf nicht mit den Zeichen
0x
oder0s
beginnen.
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 IBM Cloud® Virtual Private Cloud Ressourcen 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 ein- und ausgehenden Verkehr für die Instanz festzulegen, konfigurieren Sie ihre 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 benötigen Sie die ID der neu erstellten VPC. 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 echo $vpc
aus und stellen Sie sicher, 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 für den klassischen Zugriff aktivieren, während Sie sie erstellen. 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. 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: $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: $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 bei der Erstellung der Instanz angegeben, und Sie benötigen ihn später, um sich bei der Instanz anzumelden. 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"
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 in dem neu erstellten Teilnetz. 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: $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 Anhängen eines Block Storage Datenvolumens
Sie können ein Block Storage Datenvolumen erstellen und es als Zusatzspeicher an Ihre virtuelle Serverinstanz anhängen. Erstellen Sie einen Datenträger mit einer Anforderung ähnlich dem folgenden Beispiel. Diese Prozedur zeigt die Datenträgerprofile, erstellt einen Datenträger neu, speichert die Datenträger-ID in einer Variablen, überprüft den Datenträgerstatus und erstellt dann die Datenträgerzuordnung.
Liste der Datenträgerprofile anzeigen:
curl -X GET "$vpc_api_endpoint/v1/volumes/profiles?version=$api_version&generation=2" \
-H "Authorization: $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: $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 ist pending
, wenn es zum ersten Mal 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: $iam_token"
Erstellen Sie einen Volume-Anhang, um das neue Datenvolumen an die virtuelle Serverinstanz anzuhängen. 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: $iam_token" \
-d '{
"name": "my-volume-attachment",
"volume": {
"id": "'$volume_id'"
}
}'
Hinzufügen von Regeln zur Standardsicherheitsgruppe
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, die eingehenden SSH-Verkehr zulässt, damit Sie sich mit der Instanz verbinden können:
curl -X POST "$vpc_api_endpoint/v1/security_groups/$sg/rules?version=$api_version&generation=2" \
-H "Authorization: $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).
Erstellen einer schwebenden IP-Adresse
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 freie 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 ihrer Ressourcen finden Sie unter Löschen einer VPC mit den REST-APIs.
Glückwunsch!
Sie haben Ihre VPC mit Hilfe 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.