Intégrer des services Google Cloud à Cloud Foundry sur SAP Business Technology (SAP BTP)

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.

Accéder aux services Google Cloud à partir de Cloud Foundry sur SAP BTP

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

  1. 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.

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

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.

  1. Activez l'API Cloud Resource Manager :
  2. Activez l'API Identity and Access Management.
  3. Activez l'API Cloud SQL Admin.
  4. Activez l'API correspondant à tout autre service Google Cloud compatible dont vous avez besoin.

Créer un compte de service racine

  1. Dans Google Cloud Console, accédez à la page Comptes de service.

    Accéder à la page "Comptes de service"

  2. Sélectionnez votre projet Google Cloud.

  3. Cliquez sur Créer un compte de service.

  4. Saisissez un nom dans le champ Nom du compte de service.

  5. Cliquez sur Create and continue (Créer et continuer).

  6. 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.

  7. Cliquez sur Continuer.

  8. Le cas échéant, accordez aux autres utilisateurs l'accès au compte de service.

  9. Cliquez sur OK.

  10. 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.

  11. Sous le nom du compte de service, cliquez sur l'onglet Clés.

  12. Cliquez sur le menu déroulant Ajouter une clé, puis sélectionnez Créer une clé.

  13. Assurez-vous que le type de clé JSON est spécifié.

  14. Cliquez sur Create (Créer). Le fichier de clé JSON est automatiquement téléchargé sur votre poste de travail.

  15. 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.

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    OUVRIR la page "Instances Cloud  SQL"

  2. Cliquez sur Créer une instance.

    1. Sélectionnez MySQL, puis cliquez sur Suivant.
    2. Cliquez sur Créer une instance de deuxième génération
    3. Définissez un ID d'instance.
    4. Définissez un mot de passe racine.
    5. Dans le champ Région, sélectionnez la région dans laquelle votre environnement Cloud Foundry sera situé.
    6. Cliquez sur Créer.

Créer une base de données

  1. Une fois l'instance Cloud SQL démarrée, ouvrez Cloud Shell.

    Ouvrir Cloud Shell

  2. Connectez-vous à l'instance Cloud SQL.

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

    your-cloud-sql-instance correspond au nom de l'instance Cloud SQL que vous avez créée sur Google Cloud.

  3. Créez une base de données nommée servicebroker.

    CREATE DATABASE servicebroker;
    
  4. 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.
  5. 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;
    
  6. Configurez SSL et obtenez les certificats SSL.

    1. Dans la console Google Cloud, ouvrez la page Instances Cloud SQL.

      OUVRIR la page "Instances Cloud  SQL"

    2. Cliquez sur le nom de votre instance Cloud SQL.

    3. Sur la page Détails de l'instance, cliquez sur l'onglet Connexions.

    4. Dans la section SSL, sous Connexions SSL, cliquez sur Autoriser uniquement les connexions SSL. La mise à jour peut prendre quelques secondes.

    5. Dans la section SSL, sous Configurer les certificats de client SSL, cliquez sur Créer un certificat client.

    6. Saisissez un nom, puis cliquez sur Créer.

    7. Téléchargez les trois fichiers de certificat et enregistrez-les dans un emplacement sécurisé.

  7. Sur la page Détails de l'instance, dans la section Connectivité de l'onglet Connexions, procédez comme suit :

    1. Vérifiez que la case Adresse IP publique est bien cochée.
    2. Sous Réseaux autorisés, cliquez sur Ajouter un réseau.
    3. Dans le champ Réseau, saisissez 0.0.0.0/0.
    4. Cliquez sur OK.
  8. Cliquez sur Enregistrer pour enregistrer les modifications d'autorisation.

Obtenir un compte d'essai SAP BTP pour Cloud Foundry sur une infrastructure Google Cloud

  1. 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.
  2. Connectez-vous à SAP BTP Cockpit.
  3. Dans SAP BTP Cockpit, sélectionnez Accueil en haut de l'écran.
  4. Dans le volet de navigation situé sur la gauche de l'écran, cliquez sur Régions.
  5. 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 :

  1. 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'
    
  2. Extrayez les fichiers Google Cloud Service Broker.

    tar zxvf *.tar.gz
    
  3. Changez de répertoire.

    cd gcp-service-broker*
    
  4. Connectez-vous à l'environnement SAP BTP Cloud Foundry.

    cf login
    
  5. Saisissez le point de terminaison de l'API.

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

    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.

  6. Saisissez le nom d'utilisateur et le mot de passe de votre compte SAP BTP.

  7. Déployer l'application Google Cloud Service Broker dans l'environnement Cloud Foundry.

    cf push APP_NAME --no-start
    

    APP_NAME correspond à un nom unique que vous choisissez pour l'application Google Cloud Service Broker. par exemple, gcp-service-broker-001 ou mycompany-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

  1. Connectez-vous à SAP BTP Cockpit.
  2. Dans SAP BTP Cockpit, accédez à Accueil de l'essai > Régions > Your Google Cloud region > Your global account > Your subaccount > Espaces > Your space.
  3. Cliquez sur le nom de l'application Google Cloud Service Broker que vous avez déployée dans la section précédente.
  4. Dans le menu de gauche, cliquez sur Variables fournies par l'utilisateur.
  5. 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

  1. Cliquez sur Aperçu dans le menu de gauche.
  2. 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.

    Un indicateur vert "Started" (Démarré) indique que Google Cloud Service Broker a démarré.

    Un indicateur vert RUNNING (En cours d'exécution) indique que Google Cloud Service Broker est en cours d'exécution.

  3. 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 :

  1. Connectez-vous à l'environnement SAP BTP Cloud Foundry.

    cf login
    
  2. 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
    
  3. 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ù :

  4. 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
    
  5. 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 :