Google Cloud-Dienste in Cloud Foundry auf der SAP Business Technology Platform (SAP BTP) einbinden

Diese Anleitung beschreibt, wie Sie Google Cloud-Dienste mithilfe des Open Service Broker für Google Cloud (Google Cloud Service Broker) in eine Cloud Foundry-Umgebung auf der SAP Business Technology Platform (SAP BTP) einbinden.

Google Cloud Service Broker vereinfacht die Bereitstellung von Google Cloud-Diensten für Anwendungen, die in einer Cloud Foundry-Umgebung auf der SAP BTP ausgeführt werden. Mit Google Cloud Service Broker können Sie Google Cloud-Ressourcen erstellen und die entsprechenden Berechtigungen verwalten. Das erleichtert die Verwendung von Google Cloud-Diensten innerhalb einer SAP BTP-Anwendungsumgebung.

Das folgende Diagramm zeigt eine allgemeine Ansicht der Einrichtungsschritte mit einigen Google Cloud-Beispieldiensten.

Über Cloud Foundry auf der SAP BTP auf Google Cloud-Dienste zugreifen

Kernkomponenten der Lösung

Die folgenden Komponenten sind für die Einrichtung von Google Cloud Service Broker auf der SAP BTP für Cloud Foundry erforderlich.

Dienst Anwendungsfall
Open Service Broker for Google Cloud Einbindung von Google Cloud-Diensten in eine SAP BTP Cloud Foundry-Umgebung
Cloud SQL for MySQL Eine Datenbank für den Backend-Speicher für Google Cloud Service Broker
SAP BTP-Konto Stellen Sie die SAP BTP Cloud Foundry-Umgebung in der ausgewählten Google Cloud-Region bereit
Google Cloud-Projekt Stellen Sie die Google Cloud-Dienste bereit
Cloud Foundry-Befehlszeile Befehlszeile zum Konfigurieren von Cloud Foundry

Kosten

Cloud SQL, das für die Verwendung mit Google Cloud Service Broker empfohlen wird, ist eine kostenpflichtige Google Cloud-Komponente.

Die Nutzung von Google Cloud-Diensten über ihre jeweiligen APIs kann möglicherweise ebenfalls abgerechnet werden.

Der Preisrechner kann eine Kostenschätzung anhand Ihrer voraussichtlichen Nutzung generieren.

Vorbereitung

Bevor Sie die Cloud Foundry-Umgebung auf der SAP BTP einrichten können, müssen Sie zuerst sowohl Ihre lokale Entwicklungsumgebung einrichten als auch ein Projekt in Google Cloud erstellen.

Entwicklungsumgebung einrichten

  1. Installieren Sie die Cloud Foundry-Befehlszeile auf Ihrer Entwicklungs-Workstation gemäß der SAP Portal-Dokumentation.

Google Cloud-Projekt einrichten

Wenn Sie noch kein Google Cloud-Projekt mit aktivierter Abrechnung haben, müssen Sie eines erstellen.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

Google Cloud-Umgebung einrichten

Sie benötigen bestimmte Google Cloud APIs, ein Google Cloud-Dienstkonto und eine Datenbank für Google Cloud Service Broker.

Erforderliche Google Cloud APIs aktivieren

Aktivieren Sie die folgenden APIs in API Manager > Bibliothek.

  1. Aktivieren Sie die Cloud Resource Manager API.
  2. Aktivieren Sie die Identity and Access Management API.
  3. Aktivieren Sie die Cloud SQL Admin API.
  4. Aktivieren Sie die API für alle anderen unterstützten Google Cloud-Dienste, die Sie gegebenenfalls benötigen.

Root-Dienstkonto erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:

    Zur Seite „Dienstkonten“

  2. Wählen Sie Ihr Google Cloud-Projekt aus.

  3. Klicken Sie auf Dienstkonto erstellen.

  4. Geben Sie im Feld Name des Dienstkontos einen Namen ein.

  5. Klicken Sie auf Erstellen und fortfahren.

  6. Klicken Sie in der Liste Rolle auswählen auf Projekt > Inhaber. Dadurch erhalten Sie die Berechtigungen, damit Google Cloud Service Broker mit Google Cloud-Diensten arbeiten kann.

  7. Klicken Sie auf Weiter.

  8. Gewähren Sie Nutzern gegebenenfalls Zugriff auf das Dienstkonto.

  9. Klicken Sie auf Fertig.

  10. Klicken Sie in der Google Cloud Console auf der Seite Dienstkonten auf die E-Mail-Adresse des gerade erstellten Dienstkontos.

  11. Klicken Sie unter dem Namen des Dienstkontos auf den Tab Schlüssel.

  12. Klicken Sie auf das Drop-down-Menü Schlüssel hinzufügen und wählen Sie Neuen Schlüssel erstellen aus.

  13. Achten Sie darauf, dass der Schlüsseltyp JSON angegeben ist.

  14. Klicken Sie auf Erstellen. Die JSON-Schlüsseldatei wird automatisch auf Ihre Workstation heruntergeladen.

  15. Verschieben Sie die JSON-Schlüsseldatei an einen sicheren Speicherort.

Sicherungsdatenbank einrichten

Google Cloud Service Broker benötigt eine MySQL-Datenbank, um den Status der bereitgestellten Ressourcen zu speichern. Es wird eine Cloud SQL for MySQL-Instanz der zweiten Generation empfohlen, die eine vollständig verwaltete MySQL Community Edition-Datenbank mit automatischen Sicherungen, hoher Verfügbarkeit und automatischer Wartung bietet. Sie können jedoch jede beliebige Datenbank verwenden, die mit dem MySQL-Protokoll kompatibel ist.

In den folgenden Schritten wird eine Datenbank mithilfe einer Cloud SQL-Instanz der zweiten Generation in Google Cloud erstellt. Sie gelten jedoch auch für alle anderen Datenbanken, die mit dem MySQL-Protokoll kompatibel sind.

Cloud SQL for MySQL-Instanz erstellen

Bevor Sie eine Datenbank erstellen können, müssen Sie eine Cloud SQL for MySQL-Instanz in Google Cloud erstellen.

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Seite "Cloud SQL-Instanzen" ÖFFNEN

  2. Klicken Sie auf Instanz erstellen.

    1. Wählen Sie MySQL aus und klicken Sie auf Weiter.
    2. Klicken Sie auf Zweite Generation auswählen.
    3. Definieren Sie eine Instanz-ID.
    4. Definieren Sie ein Root-Passwort.
    5. Wählen Sie im Feld Region die Region aus, in der sich die Cloud Foundry-Umgebung befinden wird.
    6. Klicken Sie auf Erstellen.

Datenbank erstellen

  1. Öffnen Sie Cloud Shell, nachdem die Cloud SQL-Instanz gestartet wurde.

    Zu Cloud Shell

  2. Stellen Sie eine Verbindung zur Cloud SQL-Instanz her.

    gcloud sql connect your-cloud-sql-instance --user=root
    

    Dabei ist your-cloud-sql-instance der Name der Cloud SQL-Instanz, die Sie in Google Cloud erstellt haben.

  3. Erstellen Sie eine Datenbank namens servicebroker.

    CREATE DATABASE servicebroker;
    
  4. Legen Sie einen Nutzernamen und ein Passwort für Google Cloud Service Broker fest.

    CREATE USER 'SB_DB_UserName'@'%' IDENTIFIED BY 'SB_DB_Password';
    

    Wobei:

    • SB_DB_UserName ist der Nutzername, der Google Cloud Service Broker als Nutzer der Datenbank darstellt.
    • SB_DB_Password ist das Passwort, mit dem Google Cloud Service Broker für die Datenbank identifiziert wird.
  5. Legen Sie Zugriffsrechte für Google Cloud Service Broker fest.

    GRANT ALL PRIVILEGES ON servicebroker.* TO 'SB_DB_UserName'@'%' WITH GRANT OPTION;
    
  6. Richten Sie SSL ein und rufen Sie die SSL-Zertifikate ab.

    1. Öffnen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen.

      Seite "Cloud SQL-Instanzen" ÖFFNEN

    2. Klicken Sie auf den Namen Ihrer Cloud SQL-Instanz.

    3. Klicken Sie auf der Seite Instanzdetails auf den Tab Verbindungen.

    4. Klicken Sie im Abschnitt SSL unter SSL-Verbindungen auf Nur SSL-Verbindungen zulassen. Der Aktualisierungsvorgang kann einige Sekunden dauern.

    5. Klicken Sie im Abschnitt SSL unter SSL-Clientzertifikate konfigurieren auf Clientzertifikat erstellen.

    6. Geben Sie einen Namen ein und klicken Sie auf Erstellen.

    7. Laden Sie die drei Zertifikatsdateien herunter und speichern Sie sie an einem sicheren Ort.

  7. Führen Sie auf der Seite Instanzdetails im Tab Verbindungen unter Verbindung die folgenden Schritte aus:

    1. Überprüfen Sie, ob das Feld Öffentliche IP ausgewählt ist.
    2. Klicken Sie unter Autorisierte Netzwerke auf Netzwerk hinzufügen.
    3. Geben Sie im Feld Netzwerk den Wert 0.0.0.0/0 ein.
    4. Klicken Sie auf Fertig.
  8. Klicken Sie auf Speichern, um die Autorisierungsänderungen zu speichern.

SAP BTP-Testkonto für Cloud Foundry in der Google Cloud-Infrastruktur erhalten

  1. Registrieren Sie sich für ein SAP BTP-Testkonto. Sie benötigen ein aktives SAP-Konto, um ein SAP BTP-Testkonto zu erhalten.
  2. Melden Sie sich im SAP BTP Cockpit an.
  3. Wählen Sie im SAP BTP Cockpit oben im Bildschirm die Option Home aus.
  4. Klicken Sie im Navigationsbereich am linken Bildschirmrand auf Regions.
  5. Wählen Sie unter Cloud Foundry Environment eine Region aus, in der die Google Cloud-Infrastruktur verwendet wird (z. B. US-Central (IA)). Dadurch werden eine Organisation und ein Bereich in der SAP BTP Cloud Foundry-Umgebung erstellt.

Google Cloud Service Broker für Cloud Foundry installieren und konfigurieren

Google Cloud Service Broker für Cloud Foundry bereitstellen

In einem Terminal auf Ihrer Entwicklungs-Workstation:

  1. Installieren Sie die neueste Version von Google Cloud Service Broker für Cloud Foundry über GitHub.

    curl -s https://api.github.com/repos/GoogleCloudPlatform/gcp-service-broker/releases/latest \
    |grep 'tag_name' \
    |cut -d\" -f4 \
    |xargs -I {} curl -sOL "https://github.com/GoogleCloudPlatform/gcp-service-broker/archive/"{}'.tar.gz'
    
  2. Extrahieren Sie die Google Cloud Service Broker-Dateien.

    tar zxvf *.tar.gz
    
  3. Wechseln Sie die Verzeichnisse.

    cd gcp-service-broker*
    
  4. Melden Sie sich in der SAP BTP Cloud Foundry-Umgebung an.

    cf login
    
  5. Geben Sie den API-Endpunkt ein.

    https://api.techkey.hana.ondemand.com
    

    Dabei ist techkey ein von SAP definierter technischer Schlüssel, der die Region des API-Endpunkts angibt. Beispielsweise lautet der technische Schlüssel für die Region "US Central", in der die Google Cloud-Infrastruktur enthalten ist, cf.us30. Eine Liste aller Regionen für die Cloud Foundry-Umgebung von SAP BTP finden Sie im SAP-Hilfeportal.

  6. Geben Sie Ihren Nutzernamen und Ihr Passwort für Ihr SAP BTP-Konto ein.

  7. Stellen Sie die Google Cloud Service Broker-Anwendung in der Cloud Foundry-Umgebung bereit.

    cf push APP_NAME --no-start
    

    Dabei ist APP_NAME ein eindeutiger Name, den Sie für die Google Cloud Service Broker-Anwendung auswählen. Beispiel: gcp-service-broker-001 oder mycompany-gcp-svc-broker-app.

    Nachdem die Google Cloud Service Broker-Anwendung von Cloud Foundry bereitgestellt wurde, werden beispielsweise folgende Informationen angezeigt:

    name:              gcp-service-broker-example-app
    requested state:   stopped
    routes:            gcp-service-broker-example-app.cfapps.us30.hana.ondemand.com
    last uploaded:
    stack:
    buildpacks:
    type:           web
    instances:      0/1
    memory usage:   1024M
         state   since                  cpu    memory   disk     details
    #0   down    2018-12-19T23:49:13Z   0.0%   0 of 0   0 of 0
    

Google Cloud Service Broker-Anwendung für Cloud Foundry konfigurieren

  1. Melden Sie sich im SAP BTP Cockpit an.
  2. Wechseln Sie im SAP BTP Cockpit zu Trial Home > Regions > Your Google Cloud region > Your global account > Your subaccount > Spaces > Your space.
  3. Klicken Sie auf den Namen der Google Cloud Service Broker-Anwendung, die Sie im vorherigen Abschnitt bereitgestellt haben.
  4. Klicken Sie im Menü links auf User-provided variables (Vom Nutzer bereitgestellte Variablen).
  5. Über die Schaltfläche Variable hinzufügen können Sie die folgenden Google Cloud Service Broker-Variablen als Schlüssel/Wert-Paare festlegen:

    Key Wert
    
    CA_CERT
    Der Inhalt der Serverzertifikatsdatei, server-ca.pem, die Sie beim Einrichten von SSL unter Sicherungsdatenbank einrichten heruntergeladen haben.
    
    CLIENT_CERT
    Der Inhalt der Clientzertifikatsdatei, client-cert.pem, die Sie beim Einrichten von SSL unter Sicherungsdatenbank einrichten heruntergeladen haben.
    
    CLIENT_KEY
    Der Inhalt der Clientschlüsseldatei, client-key.pem, die Sie beim Einrichten von SSL unter Sicherungsdatenbank einrichten heruntergeladen haben.
    
    DB_HOST
    Die öffentliche IP-Adresse Ihrer Cloud SQL-Instanz, wie im Abschnitt Mit dieser Instanz verbinden auf der Seite Instanzdetails für Ihre Cloud SQL-Instanz in der Google Cloud Console dargestellt.
    
    DB_PASSWORD
    Das Passwort, das Sie für Google Cloud Service Broker festgelegt haben, um auf die Datenbank zugreifen zu können, die Sie unter Sicherungsdatenbank einrichten konfiguriert haben.
    
    DB_USERNAME
    Der Nutzername, den Sie beim Erstellen der Datenbank für Google Cloud Service Broker festgelegt haben. Für eine Cloud SQL-Datenbank können Sie den Nutzernamen unter MySQL-Nutzerkonten im Tab Nutzer auf der Seite Instanzdetails für Ihre Cloud SQL-Instanz in der Google Cloud Console sehen.
    
    ROOT_SERVICE_ACCOUNT_JSON
    Der Inhalt der JSON Schlüsseldatei, die Sie beim Erstellen des Root-Dienstkontos heruntergeladen haben.
    
    SECURITY_USER_NAME
    Ein Nutzername, den Sie für den Service Broker zum Authentifizieren von Broker-Anfragen definieren. Diesen Nutzernamen geben Sie später im Befehl cf create-service-broker ein, wenn Sie den Broker-Dienst erstellen.
    
    SECURITY_USER_PASSWORD
    Ein Passwort, das Sie für den Service Broker definieren, um Broker-Anfragen zu authentifizieren. Sie geben dasselbe Passwort später im Befehl cf create-service-broker ein, wenn Sie den Broker-Dienst erstellen.
    Optionale Umgebungsvariablen Eine Liste der optionalen Variablen, mit denen Sie Google Cloud Service Broker anpassen können, finden Sie unter Installationsanpassung.

Google Cloud Service Broker-Anwendung für Cloud Foundry starten

  1. Klicken Sie im Menü auf der linken Seite auf Overview (Übersicht).
  2. Zum Starten der Broker-Anwendung klicken Sie auf Start (Starten). Bei erfolgreicher Ausführung der Anwendung werden auf der Seite Overview die grün hervorgehobenen Statusanzeigen Started und Running angezeigt, wie in den folgenden Abbildungen dargestellt.

    Grafik: Die grüne Anzeige „Started“ gibt an, dass Google Cloud Service Broker gestartet wurde.

    Grafik: Die grüne Anzeige „RUNNING“ gibt an, dass Google Cloud Service Broker ausgeführt wird.

  3. Wenn die Google Cloud Service Broker-Anwendung nicht gestartet oder die Meldung Error oder Crashed ausgegeben wird, prüfen Sie die Anwendungslogs auf Ihrer Entwicklungs-Workstation und passen Sie die Variablen oder Konfiguration entsprechend an.

    cf logs APP_NAME --recent
    

Google Cloud Service Broker für Cloud Foundry registrieren

Auf Ihrer Entwicklungs-Workstation:

  1. Stellen Sie eine Verbindung zur Cloud Foundry-Umgebung von SAP BTP her.

    cf login
    
  2. Listen Sie die bereitgestellten Anwendungen auf.

    cf apps
    

    Die Ausgabe sollte folgendem Beispiel ähneln:

    name              requested state   instances   memory   disk   urls
    broker-test-app   started           1/1         1G       1G     broker-test-app.cfapps.us30.hana.ondemand.com
    
  3. Registrieren Sie den Broker-Dienst.

    cf create-service-broker BROKER_SERVICE_NAME SECURITY_USER_NAME
    SECURITY_USER_PASSWORD https://BROKER_APPLICATION_ROUTE --space-scoped
    

    Hierbei gilt:

  4. Überprüfen Sie die Registrierung von Service Broker.

    cf service-brokers
    

    Die Ausgabe sollte in etwa wie im folgenden Beispiel aussehen:

    name                  url
    broker-service-name   https://broker-service-name.cfapps.us30.hana.ondemand.com
    
  5. Prüfen Sie, ob die Google Cloud-Dienste jetzt auf dem Dienst-Marktplatz von SAP BTP verfügbar sind.

    cf marketplace
    

    Das folgende Beispiel wurde zur besseren Lesbarkeit und Anpassung an die Seite bearbeitet und zeigt zwei Dienste aus einer Auflistung von Google Cloud-Diensten im Marktplatz.

    service          plans                      description
    ...
    google-bigquery  default                    A fast, economical and fully managed data warehouse for large-scale data analytics.
    google-bigtable  three-node-production-hdd  A high performance NoSQL database service for large analytical and operational workloads.
    

    Eine Liste der verfügbaren Google Cloud-Dienste finden Sie unter Open Service Broker für Google Cloud.

Nächste Schritte

Erstellen Sie Google Cloud-Dienst-Instanzen und verknüpfen Sie sie mit den Anwendungen von SAP BTP.

Weitere Informationen zum Erstellen und Verknüpfen von Google Cloud-Diensten finden Sie unter: