API- und CLI-Umgebung einrichten

Vor der Erstellung einer VPC-Instanz (VPC = IBM Cloud® Virtual Private Cloud) mithilfe der API oder CLI müssen Sie Ihre Umgebung einrichten.

Allgemeine Voraussetzungen

  1. Richten Sie Ihr Konto für den Zugriff auf VPC ein. Stellen Sie sicher, dass Ihr Konto auf ein gebührenpflichtiges Konto hochgestuft ist.

  2. Vergewissern Sie sich, dass Sie über einen öffentlichen SSH-Schlüssel verfügen, der verwendet werden kann, um eine Verbindung zur Virtual Server-Instanz herzustellen. Generieren Sie z. B. einen SSH-Schlüssel auf Ihrem Linux-Server, indem Sie den folgenden Befehl ausführen:

    ssh-keygen -t rsa
    

    Dieser Befehl generiert zwei Dateien. Der generierte öffentliche Schlüssel befindet sich in der Datei id_rsa.pub unter einem Verzeichnis .ssh in Ihrem Ausgangsverzeichnis, z. B. .../.ssh/id_rsa.pub.

    Weitere Informationen hierzu finden Sie unter SSH-Schlüssel.

CLI-Voraussetzungen

Bevor Sie die Befehlszeilenschnittstelle (CLI) zum Erstellen Ihrer VPC-Instanz verwenden können, müssen Sie die IBM Cloud-CLI und das VPC-CLI-Plug-in installieren.

[Veraltete] Befehle „{: tag-deprecated} “ und „ IBM Cloud “ werden auf LinuxONE ( s390x-Prozessorarchitektur) nicht unterstützt. Sie können die Befehlszeilenschnittstelle jedoch auf einer anderen unterstützten Plattform installieren und sie bei Virtual Server-Instanzen mit LinuxONE (s390x-Prozessorarchitektur) verwenden.

  1. Installieren Sie die IBM Cloud-CLI.

  2. Installieren Sie das VPC-CLI-Plug-in.

    ibmcloud plugin install vpc-infrastructure
    

    Die VPC-CLI-Aktionen verwenden die Erweiterung is. Wenn Sie Informationen zur Verwendung der CLI-Befehle benötigen, dann führen Sie die folgenden Befehle aus:

    ibmcloud is help
    ibmcloud is help vpc-create
    ibmcloud is help instance-create
    

    Informationen zum Erstellen von Ressourcen mithilfe der CLI finden Sie unter „ VPC-Ressourcen erstellen “.

Zugriff auf die Befehlszeilenschnittstelle über den privaten Endpunkt der VPC-API

Führen Sie die folgenden Schritte aus, um die Befehlszeilenschnittstelle für die Verwendung des privaten VPC-API-Endpunkts festzulegen:

Wenn Sie die IBM Cloud CLI und die zugehörigen Plug-Ins herunterladen möchten, müssen Sie auf das öffentliche Repository zugreifen können, in dem sie sich befinden.

  1. Stellen Sie sicher, dass die zentrale IBM Cloud-CLI und das Plug-in für den VPC-Infrastrukturservice auf die neueste Version aktualisiert werden:

    ibmcloud update
    ibmcloud plugin update vpc-infrastructure
    
  2. Geben Sie den folgenden Befehl ein, um auf in den Modus für private API-Endpunkte zu wechseln:

    ibmcloud login -a private.cloud.ibm.com
    

    Derzeit unterstützt der Modus „Privater API-Endpunkt“ nur die Regionen us-south und us-east.

API-Voraussetzungen

Bevor Sie die API zur Erstellung Ihrer VPC-Instanz nutzen können, müssen Sie ein IAM-Token abrufen, den Endpunkt als Variable speichern und überprüfen, ob Sie über Zugriff auf den VPC-API-Service verfügen.

Bei den folgenden Beispielen wird der regionale Endpunkt us-south verwendet. Weitere API-Endpunkte finden Sie im Abschnitt zur Virtual Private Cloud-API.

Schritt 1: API-Schlüssel als Variable speichern

Führen Sie den folgenden Befehl aus, um den API-Schlüssel Ihres Kontos in einer Umgebungsvariablen zu speichern. Wenn Sie keinen API-Schlüssel haben, lesen Sie den Abschnitt API-Schlüssel erstellen.

apikey="<YOUR_API_KEY>"

Schritt 2: IBM IAM-Token (IAM - Identity and Access Management) abrufen

Führen Sie den folgenden Befehl aus, um mithilfe des JSON-Verarbeitungsprogramms „jq“ ein IAM-Token abzurufen und zu analysieren. Sie können den Befehl so ändern, dass ein anderes Parsing-Tool verwendet wird. Alternativ können Sie den letzten Teil des Befehls entfernen, wenn Sie das Token manuell parsen möchten.

iam_token=`curl -k -X POST \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --header "Accept: application/json" \
  --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
  --data-urlencode "apikey=$apikey" \
  "https://iam.cloud.ibm.com/identity/token"  |jq -r '(.token_type + " " + .access_token)'`

Führen Sie echo $iam_token aus, um das IAM-Token anzuzeigen. Das Ergebnis sollte wie folgt aussehen:

Bearer <your token>

Vom Berechtigungsheader wird erwartet, dass das Token mit "Bearer" beginnt. Wenn das Ergebnis die Zeichenfolge "Bearer" nicht enthält, aktualisieren Sie die Variable iam_token so, dass sie diese Angabe enthält. Diese Beispiele setzen voraus, dass "Bearer" in iam_token enthalten ist.

Sie müssen den vorherigen Schritt wiederholen, um das IAM-Token stündlich zu aktualisieren, da das Token sonst abläuft.

Schritt 3: API-Endpunkt als Variable speichern

Führen Sie den folgenden Befehl aus, um den API-Endpunkt in einer Variablen zu speichern, sodass er zu einem späteren Zeitpunkt in Ihrer Sitzung erneut verwendet werden kann.

Öffentlicher Endpunkt:

vpc_api_endpoint="https://us-south.iaas.cloud.ibm.com"

Virtueller privater Endpunkt:

vpc_api_endpoint="https://us-south.private.iaas.cloud.ibm.com"

Um sicherzustellen, dass diese Variable gespeichert wurde, führen Sie echo $vpc_api_endpoint aus und stellen Sie sicher, dass die Antwort nicht leer ist.

Informationen zu unterstützten Endpunktregionen finden Sie unter Verfügbare Endpunkte.

Schritt 4: API-Version als Variable speichern

Jede API-Anforderung muss den Parameter version im Format YYYY-MM-DD enthalten. Führen Sie den folgenden Befehl aus, um das Versionsdatum in einer Variablen zu speichern, sodass es in einer zukünftigen Sitzung erneut verwendet werden kann. Weitere Informationen zum Festlegen des Parameters „ version “ finden Sie unter „Versionierung“ in der Virtual Private Cloud-API.

api_version="2019-09-30"

Um sicherzustellen, dass diese Variable gespeichert wurde, führen Sie echo $api_version aus und stellen Sie sicher, dass die Antwort nicht leer ist.

Schritt 5: API-Zugriff überprüfen

Wenn unerwartete Ergebnisse auftreten, fügen Sie nach dem Befehl --verbose das Flag curl (Debug) hinzu, um detaillierte Protokollierungsinformationen zu erhalten. Weitere Informationen zu allgemein auftretenden Fehlern finden Sie unter Fehlerbehebung.

  • Rufen Sie die API zum Abrufen von Regionen auf, um die für VPC verfügbaren Regionen im JSON-Format anzuzeigen. Es sollte mindestens ein Objekt zurückgegeben werden.

    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 finden Sie unter „Generation“ in der Virtual Private Cloud-API.

    curl -X GET "$vpc_api_endpoint/v1/regions?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Rufen Sie die API zum Abrufen von Zonen auf, um alle für VPC in einer bestimmten Region verfügbaren Zonen (z. B. us-south) im JSON-Format anzuzeigen.

    curl -X GET "$vpc_api_endpoint/v1/regions/us-south/zones?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Rufen Sie die API zum Abrufen von Profilen auf, um die für Ihre Virtual Server-Instanzen verfügbaren Profile im JSON-Format anzuzeigen. Es sollte mindestens ein Objekt zurückgegeben werden.

    Fügen Sie nach dem Befehl 'curl' die Angabe | json_pp hinzu, um eine lesbare JSON-Zeichenfolge zu erhalten. Der Befehl json_pp ist ein JSON-Präprozessor, der bei den meisten Linux-Distributionen standardmäßig installiert ist.

    curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Rufen Sie die API zum Abrufen von Images auf, um die für Ihre Instanzen verfügbaren Images im JSON-Format zurückzugeben. Es sollte mindestens ein Objekt zurückgegeben werden.

    curl -X GET "$vpc_api_endpoint/v1/images?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Rufen Sie die API zum Abrufen von VPC-Instanzen auf, um alle VPC-Instanzen, die bereits unter Ihrem Konto erstellt wurden, im JSON-Format anzuzeigen.

    curl -X GET "$vpc_api_endpoint/v1/vpcs?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    

Informationen zum Erstellen von Ressourcen mithilfe der Anwendungsprogrammierschnittstelle finden Sie unter VPC-Ressourcen mit Befehlszeilenschnittstelle und API erstellen.