Ces instructions vous expliquent comment intégrer des 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).
Google Cloud Service Broker simplifie la prestation de services Google Cloud aux applications qui s'exécutent dans un environnement Cloud Foundry sur SAP BTP. Google Cloud Service Broker crée des ressources Google Cloud et gère les autorisations correspondantes, ce qui 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 services Google Cloud.
Composants principaux de la solution
Les composants suivants sont requis pour la configuration de Google 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 |
Projet Google Cloud | Fournir des 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 de 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 aurez besoin d'activer certaines API Google Cloud, d'un compte de service Google Cloud et d'une base de données pour Google Cloud Service Broker.
Activer 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 correspondant à tout autre service Google Cloud compatible dont vous avez besoin.
Créer un compte de service racine
Dans Google Cloud Console, 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 Create and continue (Créer et continuer).
Dans la liste Sélectionner un rôle, cliquez sur Projet > Propriétaire, ce qui fournit les autorisations nécessaires à Google Cloud Service Broker pour utiliser 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
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éez 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 Google Cloud Console, accédez à la page Instances Cloud SQL.
Cliquez sur Créer une instance.
- Sélectionnez MySQL, puis cliquez sur MySQL.
- 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
est le nom d'utilisateur qui représente Google Cloud Service Broker en tant qu'utilisateur de la base de données.SB_DB_Password
est le mot de passe qui identifie Google Cloud Service Broker dans la base de données.
Définissez les privilèges d'accès pour 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 SSL, cliquez sur SSL. La mise à jour peut prendre quelques secondes.
Dans la section SSL, sous SSL, cliquez sur SSL.
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 infrastructure Google 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 Cloud est la suivante :cf.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éployer 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 :
Key (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 console Google 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 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 console Google 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 page 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.
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
est le nom d'utilisateur défini pour authentifier les requêtes d'agent dans la section Configurer l'application Google Cloud Service Broker pour Cloud Foundry.SECURITY_USER_PASSWORD
est le mot de passe défini pour authentifier les requêtes d'agent dans la section Configurer l'application Google 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 SAP Service Marketplace.
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.
Étapes suivantes
Créez des instances de service Google Cloud et reliez-les à vos applications SAP BTP.
Consultez les pages suivantes pour en savoir plus sur la création et la liaison de services Google Cloud :
Using Services in the Cloud Foundry Environment dans le portail d'aide SAP.
La documentation Google Cloud Service Broker dans GitHub.