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.
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 Cloud Foundry-Umgebung der SAP BTP |
Cloud SQL for MySQL | Eine Datenbank für den Backend-Speicher für Google Cloud Service Broker |
SAP BTP-Konto | Stellen Sie die Cloud Foundry-Umgebung der SAP BTP 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
- 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.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
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.
- Aktivieren Sie die Cloud Resource Manager API.
- Aktivieren Sie die Identity and Access Management API.
- Aktivieren Sie die Cloud SQL Admin API.
- Aktivieren Sie die API für alle anderen unterstützten Google Cloud-Dienste, die Sie gegebenenfalls benötigen.
Root-Dienstkonto erstellen
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Wählen Sie Ihr Google Cloud-Projekt aus.
Klicken Sie auf Dienstkonto erstellen.
Geben Sie im Feld Name des Dienstkontos einen Namen ein.
Klicken Sie auf Erstellen und fortfahren.
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.
Klicken Sie auf Weiter.
Gewähren Sie Nutzern gegebenenfalls Zugriff auf das Dienstkonto.
Klicken Sie auf Fertig.
Klicken Sie in der Google Cloud Console auf der Seite Dienstkonten auf die E-Mail-Adresse des gerade erstellten Dienstkontos.
Klicken Sie unter dem Namen des Dienstkontos auf den Tab Schlüssel.
Klicken Sie auf das Drop-down-Menü Schlüssel hinzufügen und wählen Sie Neuen Schlüssel erstellen aus.
Achten Sie darauf, dass der Schlüsseltyp JSON angegeben ist.
Klicken Sie auf Erstellen. Die JSON-Schlüsseldatei wird automatisch auf Ihre Workstation heruntergeladen.
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.
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
Klicken Sie auf Instanz erstellen.
- Wählen Sie MySQL aus und klicken Sie auf Weiter.
- Klicken Sie auf Zweite Generation auswählen.
- Definieren Sie eine Instanz-ID.
- Definieren Sie ein Root-Passwort.
- Wählen Sie im Feld Region die Region aus, in der sich die Cloud Foundry-Umgebung befinden wird.
- Klicken Sie auf Erstellen.
Datenbank erstellen
Öffnen Sie Cloud Shell, nachdem die Cloud SQL-Instanz gestartet wurde.
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.Erstellen Sie eine Datenbank namens
servicebroker
.CREATE DATABASE servicebroker;
Legen Sie einen Nutzernamen und ein Passwort für Google Cloud Service Broker fest.
CREATE USER 'SB_DB_UserName'@'%' IDENTIFIED BY 'SB_DB_Password';
Dabei gilt:
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.
Legen Sie Zugriffsrechte für Google Cloud Service Broker fest.
GRANT ALL PRIVILEGES ON servicebroker.* TO 'SB_DB_UserName'@'%' WITH GRANT OPTION;
Richten Sie SSL ein und rufen Sie die SSL-Zertifikate ab.
Öffnen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen.
Klicken Sie auf den Namen Ihrer Cloud SQL-Instanz.
Klicken Sie auf der Seite Instanzdetails auf den Tab Verbindungen.
Klicken Sie im Abschnitt SSL unter SSL-Verbindungen auf Nur SSL-Verbindungen zulassen. Der Aktualisierungsvorgang kann einige Sekunden dauern.
Klicken Sie im Abschnitt SSL unter SSL-Clientzertifikate konfigurieren auf Clientzertifikat erstellen.
Geben Sie einen Namen ein und klicken Sie auf Erstellen.
Laden Sie die drei Zertifikatsdateien herunter und speichern Sie sie an einem sicheren Ort.
Führen Sie auf der Seite Instanzdetails im Tab Verbindungen unter Verbindung die folgenden Schritte aus:
- Überprüfen Sie, ob das Feld Öffentliche IP ausgewählt ist.
- Klicken Sie unter Autorisierte Netzwerke auf Netzwerk hinzufügen.
- Geben Sie im Feld Netzwerk den Wert
0.0.0.0/0
ein. - Klicken Sie auf Fertig.
Klicken Sie auf Speichern, um die Autorisierungsänderungen zu speichern.
SAP BTP-Testkonto für Cloud Foundry in der Google Cloud-Infrastruktur erhalten
- Registrieren Sie sich für ein SAP BTP-Testkonto. Sie benötigen ein aktives SAP-Konto, um ein SAP BTP-Testkonto zu erhalten.
- Melden Sie sich im SAP BTP Cockpit an.
- Wählen Sie im SAP BTP Cockpit oben im Bildschirm die Option Home aus.
- Klicken Sie im Navigationsbereich am linken Bildschirmrand auf Regions.
- 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 Cloud Foundry-Umgebung der SAP BTP 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:
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'
Extrahieren Sie die Google Cloud Service Broker-Dateien.
tar zxvf *.tar.gz
Wechseln Sie die Verzeichnisse.
cd gcp-service-broker*
Melden Sie sich in der Cloud Foundry-Umgebung von SAP BTP an.
cf login
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.Geben Sie Ihren Nutzernamen und Ihr Passwort für Ihr SAP BTP-Konto ein.
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
odermycompany-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
- Melden Sie sich im SAP BTP Cockpit an.
- Wechseln Sie im SAP BTP Cockpit zu Trial Home > Regions > Your Google Cloud region > Your global account > Your subaccount > Spaces > Your space.
- Klicken Sie auf den Namen der Google Cloud Service Broker-Anwendung, die Sie im vorherigen Abschnitt bereitgestellt haben.
- Klicken Sie im Menü links auf User-provided variables (Vom Nutzer bereitgestellte Variablen).
Ü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
- Klicken Sie im Menü auf der linken Seite auf Overview (Übersicht).
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.
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:
Stellen Sie eine Verbindung zur Cloud Foundry-Umgebung der SAP BTP her.
cf login
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
Registrieren Sie den Broker-Dienst.
cf create-service-broker BROKER_SERVICE_NAME SECURITY_USER_NAME SECURITY_USER_PASSWORD https://BROKER_APPLICATION_ROUTE --space-scoped
Dabei gilt:
BROKER_SERVICE_NAME
ist ein eindeutiger Name, den Sie für den Broker-Dienst auswählen.SECURITY_USER_NAME
ist der Nutzername, der zum Authentifizieren von Broker-Anfragen unter Google Cloud Service Broker-Anwendung für Cloud Foundry konfigurieren festgelegt wurde.SECURITY_USER_PASSWORD
ist das Passwort, das zum Authentifizieren von Broker-Anfragen unter Google Cloud Service Broker-Anwendung für Cloud Foundry konfigurieren festgelegt wurde.BROKER_APPLICATION_ROUTE
ist die URL der Service Broker-Anwendung, die im vorherigen Schritt angezeigt wurde. Beispiel:broker-test-app.cfapps.us30.hana.ondemand.com
Ü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
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:
Dienste in der Cloud Foundry-Umgebung verwenden im SAP-Hilfeportal