Ces instructions vous expliquent comment intégrer les services Google Cloudà un environnement Cloud Foundry sur SAP Business Technology Platform (SAP BTP) à l'aide d'Open Service Broker pour Google Cloud (Google Cloud Service Broker).
Le Google Cloud Service Broker simplifie la prestation de servicesGoogle Cloud aux applications qui s'exécutent dans un environnement Cloud Foundry sur SAP BTP. En créant des ressources Google Cloudet en gérant les autorisations correspondantes,Google Cloud Service Broker facilite l'utilisation des services Google Cloudà partir d'un environnement d'application SAP BTP.
Le schéma suivant présente une vue d'ensemble des étapes de configuration avec quelques exemples de servicesGoogle Cloud .
Composants principaux de la solution
Les composants suivants sont requis pour la configuration deGoogle Cloud Service Broker sur SAP BTP pour Cloud Foundry.
Service | Cas d'utilisation |
---|---|
Open Service Broker pour Google Cloud | Intégration des services Google Cloud à un environnement SAP BTP Cloud Foundry |
Cloud SQL pour MySQL | Base de données destinée au stockage backend pour Google Cloud Service Broker |
Compte SAP BTP | Fournir l'environnement SAP BTP Cloud Foundry dans la région Google Cloud sélectionnée |
Google Cloud Projet | Fournir les services Google Cloud |
CLI Cloud Foundry | Interface de ligne de commande pour la configuration de Cloud Foundry |
Coûts
Cloud SQL, dont l'utilisation avec Google Cloud Service Broker est recommandée, représente un composant Google Cloud facturable.
L'utilisation des services Google Cloud via leurs API respectives peut également être facturée.
Utilisez le Simulateur de coût pour générer une estimation des coûts en fonction de votre utilisation prévue.
Prérequis
Avant de pouvoir configurer l'environnement Cloud Foundry sur SAP BTP, vous devez d'abord configurer votre environnement de développement local et créer un projet sur Google Cloud.
Configurer l'environnement de développement
- Installez l'interface de ligne de commande (CLI) de Cloud Foundry sur votre poste de travail de développement, conformément à la documentation du portail SAP.
Configurer un projet Google Cloud
Si vous ne disposez pas encore d'un projet Google Cloud pour lequel la facturation est activée, vous devez en créer un.
- 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.
Configurer l'environnement Google Cloud
Vous devez activer certaines API Google Cloud , un compte de service Google Cloud et une base de données pour leService Broker Google Cloud .
Activez les API Google Cloud requises.
Activez les API suivantes dans Gestionnaire d'API > Bibliothèque.
- Activez l'API Cloud Resource Manager :
- Activez l'API Identity and Access Management.
- Activez l'API Cloud SQL Admin.
- Activez l'API pour tout autre service Google Cloud compatible dont vous avez besoin.
Créer un compte de service racine
Dans la console Google Cloud , accédez à la page Comptes de service.
Sélectionnez votre projet Google Cloud .
Cliquez sur Créer un compte de service.
Saisissez un nom dans le champ Nom du compte de service.
Cliquez sur Créer et continuer.
Dans la liste Sélectionner un rôle, cliquez sur Projet > Propriétaire, ce qui fournit les autorisations nécessaires pour que Google Cloud Service Broker fonctionne avec les services Google Cloud .
Cliquez sur Continuer.
Le cas échéant, accordez aux autres utilisateurs l'accès au compte de service.
Cliquez sur OK.
Sur la page Comptes de service de la console Google Cloud , cliquez sur l'adresse e-mail du compte de service que vous venez de créer.
Sous le nom du compte de service, cliquez sur l'onglet Clés.
Cliquez sur le menu déroulant Ajouter une clé, puis sélectionnez Créer une clé.
Assurez-vous que le type de clé JSON est spécifié.
Cliquez sur Créer. Le fichier de clé JSON est automatiquement téléchargé sur votre poste de travail.
Déplacez le fichier de clé JSON vers un emplacement sécurisé.
Configurer une base de données de sauvegarde
Le Google Cloud Service Broker nécessite une base de données MySQL pour stocker l'état des ressources provisionnées. Nous recommandons l'utilisation d'une instance Cloud SQL pour MySQL de deuxième génération, qui fournit une base de données MySQL Community Edition entièrement gérée avec des sauvegardes automatiques, une haute disponibilité et une maintenance automatique. Cependant, vous pouvez utiliser n'importe quelle base de données compatible avec le protocole MySQL.
Les étapes suivantes permettent de créer une base de données à l'aide d'une instance Cloud SQL de deuxième génération sur Google Cloud, mais devraient être applicables à toute base de données compatible avec le protocole MySQL.
Créer une instance Cloud SQL pour MySQL
Avant de pouvoir créer une base de données, vous devez créer une instance Cloud SQL pour MySQL sur Google Cloud.
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
Cliquez sur Créer une instance.
- Sélectionnez MySQL, puis cliquez sur Suivant.
- Cliquez sur Créer une instance de deuxième génération
- Définissez un ID d'instance.
- Définissez un mot de passe racine.
- Dans le champ Région, sélectionnez la région dans laquelle votre environnement Cloud Foundry sera situé.
- Cliquez sur Créer.
Créer une base de données
Une fois l'instance Cloud SQL démarrée, ouvrez Cloud Shell.
Connectez-vous à l'instance Cloud SQL.
gcloud sql connect your-cloud-sql-instance --user=root
Où
your-cloud-sql-instance
correspond au nom de l'instance Cloud SQL que vous avez créée sur Google Cloud.Créez une base de données nommée
servicebroker
.CREATE DATABASE servicebroker;
Définissez un nom d'utilisateur et un mot de passe pour Google Cloud Service Broker.
CREATE USER 'SB_DB_UserName'@'%' IDENTIFIED BY 'SB_DB_Password';
Où :
SB_DB_UserName
correspond au nom d'utilisateur qui représenteGoogle Cloud Service Broker en tant qu'utilisateur de la base de données.SB_DB_Password
correspond au mot de passe qui identifie le Google Cloud Service Broker dans la base de données.
Définissez les privilèges d'accès pour le Google Cloud Service Broker.
GRANT ALL PRIVILEGES ON servicebroker.* TO 'SB_DB_UserName'@'%' WITH GRANT OPTION;
Configurez SSL et obtenez les certificats SSL.
Dans la console Google Cloud , ouvrez la page Instances Cloud SQL.
Cliquez sur le nom de votre instance Cloud SQL.
Sur la page Détails de l'instance, cliquez sur l'onglet Connexions.
Dans la section SSL, sous Connexions SSL, cliquez sur Autoriser uniquement les connexions SSL. La mise à jour peut prendre quelques secondes.
Dans la section SSL, sous Configurer les certificats de client SSL, cliquez sur Créer un certificat client.
Saisissez un nom, puis cliquez sur Créer.
Téléchargez les trois fichiers de certificat et enregistrez-les dans un emplacement sécurisé.
Sur la page Détails de l'instance, dans la section Connectivité de l'onglet Connexions, procédez comme suit :
- Vérifiez que la case Adresse IP publique est bien cochée.
- Sous Réseaux autorisés, cliquez sur Ajouter un réseau.
- Dans le champ Réseau, saisissez
0.0.0.0/0
. - Cliquez sur OK.
Cliquez sur Enregistrer pour enregistrer les modifications d'autorisation.
Obtenir un compte d'essai SAP BTP pour Cloud Foundry sur une infrastructure Google Cloud
- Inscrivez-vous pour obtenir un compte d'essai SAP BTP. Vous devez disposer d'un compte SAP actif pour obtenir un compte SAP BTP d'essai.
- Connectez-vous à SAP BTP Cockpit.
- Dans SAP BTP Cockpit, sélectionnez Accueil en haut de l'écran.
- Dans le volet de navigation situé sur la gauche de l'écran, cliquez sur Régions.
- Sous Environment Cloud Foundry, sélectionnez une région utilisant une infrastructureGoogle Cloud , telle que US-Central (IA). Cela permet de créer une organisation et un espace au sein de l'environnement SAP BTP Cloud Foundry.
Installer et configurer Google Cloud Service Broker pour Cloud Foundry
Déployer Google Cloud Service Broker pour Cloud Foundry
Dans un terminal de votre poste de travail de développement, procédez comme suit :
Installez la dernière version de Google Cloud Service Broker pour Cloud Foundry à partir de 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'
Extrayez les fichiers Google Cloud Service Broker.
tar zxvf *.tar.gz
Changez de répertoire.
cd gcp-service-broker*
Connectez-vous à l'environnement SAP BTP Cloud Foundry.
cf login
Saisissez le point de terminaison de l'API.
https://api.techkey.hana.ondemand.com
Où
techkey
correspond à une clé technique définie par SAP qui identifie la région du point de terminaison de l'API. Par exemple, la clé technique du centre des États-Unis qui inclut l'infrastructure Google Cloudestcf.us30
. Pour obtenir la liste de toutes les régions de l'environnement SAP BTP Cloud Foundry, consultez le portail d'aide SAP.Saisissez le nom d'utilisateur et le mot de passe de votre compte SAP BTP.
Déployez l'application Google Cloud Service Broker dans l'environnement Cloud Foundry.
cf push APP_NAME --no-start
Où
APP_NAME
correspond à un nom unique que vous choisissez pour l'application Google Cloud Service Broker. par exemple,gcp-service-broker-001
oumycompany-gcp-svc-broker-app
.Une fois que Cloud Foundry a déployé l'application Google Cloud Service Broker, des informations semblables à l'exemple suivant s'affichent:
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
Configurer l'application Google Cloud Service Broker pour Cloud Foundry
- Connectez-vous à SAP BTP Cockpit.
- Dans SAP BTP Cockpit, accédez à Accueil de l'essai > Régions > Your Google Cloud region > Your global account > Your subaccount > Espaces > Your space.
- Cliquez sur le nom de l'application Google Cloud Service Broker que vous avez déployée dans la section précédente.
- Dans le menu de gauche, cliquez sur Variables fournies par l'utilisateur.
Utilisez le bouton Ajouter une variable pour définir les variables Google Cloud Service Broker suivantes en tant que paires clé/valeur:
Clé Valeur CA_CERT
Contenu du fichier de certificat du serveur ( server-ca.pem
) que vous avez téléchargé lors de la configuration de SSL dans la section Configurer une base de données de sauvegarde.CLIENT_CERT
Contenu du fichier de certificat client ( client-cert.pem
) que vous avez téléchargé lors de la configuration de SSL dans la section Configurer une base de données de sauvegarde.CLIENT_KEY
Contenu du fichier de clé client ( client-key.pem
) que vous avez téléchargé lors de la configuration de SSL dans la section Configurer une base de données de sauvegarde.DB_HOST
Adresse IP publique de votre instance Cloud SQL, comme indiqué dans la section Se connecter à cette instance de la page Détails de l'instance de votre instance Cloud SQL dans la consoleGoogle Cloud . DB_PASSWORD
Mot de passe que vous avez défini pour que Google Cloud Service Broker puisse accéder à la base de données que vous avez configurée dans Configurer une base de données de sauvegarde. DB_USERNAME
Nom d'utilisateur que vous avez défini pour le Google Cloud Service Broker lors de la création de la base de données. Pour une base de données Cloud SQL, vous pouvez voir le nom d'utilisateur sous Comptes utilisateur MySQL dans l'onglet Utilisateurs de la page Détails de l'instance de votre instance Cloud SQL dans la consoleGoogle Cloud . ROOT_SERVICE_ACCOUNT_JSON
Contenu du fichier de clé JSON que vous avez téléchargé lors de la création du compte de service racine. SECURITY_USER_NAME
Nom d'utilisateur que vous définissez pour que l'agent de service puisse l'utiliser lors de l'authentification des requêtes d'agent. Vous indiquerez ce même nom d'utilisateur ultérieurement dans la commande cf create-service-broker
lors de la création de l'agent de service.SECURITY_USER_PASSWORD
Mot de passe que vous définissez pour que l'agent de service puisse l'utiliser lors de l'authentification des requêtes d'agent. Vous indiquerez ce même mot de passe ultérieurement dans la commande cf create-service-broker
lors de la création de l'agent de service.Variables d'environnement facultatives Pour obtenir la liste des variables facultatives que vous pouvez utiliser pour personnaliser Google Cloud Service Broker, consultez la section Personnalisation de l'installation.
Démarrer l'application Google Cloud Service Broker pour Cloud Foundry
- Cliquez sur Aperçu dans le menu de gauche.
Pour démarrer l'application, cliquez sur Start (Démarrer). Lorsque celle-ci est en cours d'exécution, les indicateurs verts Started (Démarré) et Running (En cours d'exécution) apparaissent sur la page Overview (Aperçu), comme illustré ci-dessous.
Si l'application Google Cloud Service Broker ne démarre pas ou affiche Erreur ou Plantage, vérifiez les journaux d'application depuis votre poste de travail de développement et ajustez les variables ou la configuration en conséquence.
cf logs APP_NAME --recent
Enregistrer Google Cloud Service Broker pour Cloud Foundry
Sur votre poste de travail de développement, procédez comme suit :
Connectez-vous à l'environnement SAP BTP Cloud Foundry.
cf login
Répertoriez les applications déployées.
cf apps
Vous obtenez un résultat semblable à celui-ci :
name requested state instances memory disk urls broker-test-app started 1/1 1G 1G broker-test-app.cfapps.us30.hana.ondemand.com
Enregistrez l'agent de service.
cf create-service-broker BROKER_SERVICE_NAME SECURITY_USER_NAME SECURITY_USER_PASSWORD https://BROKER_APPLICATION_ROUTE --space-scoped
Où :
BROKER_SERVICE_NAME
correspond à un nom unique que vous choisissez pour votre agent de service.SECURITY_USER_NAME
correspond au nom d'utilisateur défini pour authentifier les requêtes d'agent dans la section Configurer l'applicationGoogle Cloud Service Broker pour Cloud Foundry.SECURITY_USER_PASSWORD
correspond au mot de passe défini pour authentifier les requêtes d'agent dans la section Configurer l'applicationGoogle Cloud Service Broker pour Cloud Foundry.BROKER_APPLICATION_ROUTE
correspond à l'URL de l'application telle qu'affichée à l'étape précédente. Exemple :broker-test-app.cfapps.us30.hana.ondemand.com
Vérifiez l'enregistrement de l'agent de service.
cf service-brokers
Un résultat semblable aux lignes suivantes doit s'afficher :
name url broker-service-name https://broker-service-name.cfapps.us30.hana.ondemand.com
Vérifiez que les services Google Cloud sont désormais disponibles dans SAP BTP Service Marketplace.
cf marketplace
L'exemple suivant, qui a été modifié pour des raisons de lisibilité et d'espace, montre deux services issus d'une liste de services Google Cloud disponibles dans la place de marché.
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.
Pour obtenir la liste des services Google Cloud disponibles, consultez la page Open Service Broker pour Google Cloud.
Étape suivante
Créez des instances de service Google Cloud et associez-les à vos applications SAP BTP.
Pour en savoir plus sur la création et la liaison de services Google Cloud, consultez les pages suivantes:
Using Services in the Cloud Foundry Environment dans le portail d'aide SAP.
La documentation Service Broker sur GitHub.