Integrazione dei servizi Google Cloud con Cloud Foundry su SAP Business Technology Platform (SAP BTP)

Queste istruzioni mostrano come integrare Google Cloud i servizi in un ambiente Cloud Foundry su SAP Business Technology Platform (SAP BTP) utilizzando Open Service Broker per Google Cloud (Google Cloud service broker).

Il Google Cloud service broker semplifica la fornitura di Google Cloud servizi alle applicazioni eseguite in un ambiente Cloud Foundry su SAP BTP. Creando risorse Google Cloud e gestendo le relative autorizzazioni, ilGoogle Cloud Service Broker semplifica l'utilizzo Google Cloud dei servizi all'interno di un ambiente applicativo SAP BTP.

Il seguente diagramma mostra una panoramica generale dei passaggi di configurazione con alcuni servizi di esempio Google Cloud .

Accesso ai servizi Google Cloud da Cloud Foundry su SAP BTP

Componenti principali della soluzione

Per la configurazione del Google Cloud Service Broker su SAP BTP per Cloud Foundry sono necessari i seguenti componenti.

Servizio Caso d'uso
Apri Service Broker per Google Cloud Integrazione dei servizi Google Cloud in un ambiente SAP BTP Cloud Foundry
Cloud SQL per MySQL Un database per l'archiviazione del backend per Google Cloud Service Broker
Account SAP BTP Fornisci l'ambiente SAP BTP Cloud Foundry nella Google Cloud regione selezionata.
Google Cloud Progetto Fornire i Google Cloud servizi
Cloud Foundry CLI Interfaccia a riga di comando per configurare Cloud Foundry

Costi

Cloud SQL, il cui utilizzo è consigliato con Google Cloud Service Broker, è un componente Google Cloud fatturabile.

L'utilizzo dei servizi Google Cloud tramite le rispettive API potrebbe essere fatturabile.

Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Prerequisiti

Prima di poter configurare l'ambiente Cloud Foundry su SAP BTP, devi prima configurare l'ambiente di sviluppo locale e creare un progetto su Google Cloud.

Configurazione dell'ambiente di sviluppo

  1. Installa l'interfaccia a riga di comando (CLI) di Cloud Foundry sulla workstation di sviluppo come descritto nella documentazione del portale SAP.

Configurare un progetto Google Cloud

Se non hai ancora un progetto Google Cloud con la fatturazione abilitata, devi crearne uno.

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Configura l'ambiente Google Cloud

    Devi attivare determinate Google Cloud API, un Google Cloud service account e un database per il Google Cloud Service Broker.

    Abilita le API Google Cloud richieste

    Attiva le seguenti API in API Manager > Libreria.

    1. Abilita l'API Cloud Resource Manager.
    2. Abilita l'API Identity and Access Management.
    3. Abilita l'API Cloud SQL Admin.
    4. Abilita l'API per qualsiasi altro servizio Google Cloud supportato di cui hai bisogno.

    Crea un account di servizio root

    1. Nella Google Cloud console, vai alla pagina Service account.

      Vai alla pagina Service account

    2. Selezionare il tuo progetto Google Cloud .

    3. Fai clic su Crea account di servizio.

    4. Inserisci un nome nel campo Nome account di servizio.

    5. Fai clic su Crea e continua.

    6. Nell'elenco Seleziona un ruolo, fai clic su Progetto > Proprietario, che fornisce le autorizzazioni necessarie per il Google Cloud Service Broker per interagire con i servizi Google Cloud .

    7. Fai clic su Continua.

    8. Se necessario, concedi ad altri utenti l'accesso al account di servizio.

    9. Fai clic su Fine.

    10. Nella pagina Service account della console Google Cloud , fai clic sull'indirizzo email del account di servizio che hai appena creato.

    11. Sotto il nome del account di servizio, fai clic sulla scheda Chiavi.

    12. Fai clic sul menu a discesa Aggiungi chiave, quindi seleziona Crea nuova chiave.

    13. Assicurati che sia specificato il tipo di chiave JSON.

    14. Fai clic su Crea. Il file della chiave JSON viene scaricato automaticamente sulla tua workstation.

    15. Sposta il file della chiave JSON in una posizione sicura.

    Configurare un database di backend

    Il Google Cloud Service Broker richiede un database MySQL per archiviare lo stato delle risorse di cui è stato eseguito il provisioning. È consigliata un'istanza di seconda generazione di Cloud SQL per MySQL, che fornisce un database MySQL Community Edition completamente gestito con backup automatici, alta disponibilità e manutenzione automatica. Tuttavia, puoi utilizzare qualsiasi database compatibile con il protocollo MySQL.

    I seguenti passaggi creano un database utilizzando un'istanza Cloud SQL di seconda generazione su Google Cloud, ma dovrebbero essere applicabili a qualsiasi database compatibile con il protocollo MySQL.

    Crea un'istanza Cloud SQL per MySQL

    Prima di poter creare un database, devi creare un'istanza Cloud SQL per MySQL su Google Cloud.

    1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

      APRI la pagina Istanze Cloud SQL

    2. Fai clic su Crea istanza.

      1. Seleziona MySQL e fai clic su Avanti.
      2. Fai clic su Scegli seconda generazione.
      3. Definisci un ID istanza.
      4. Definisci una password root.
      5. Nel campo Regione, seleziona la regione in cui si troverà il tuo ambiente Cloud Foundry.
      6. Fai clic su Crea.

    Crea un database

    1. Dopo l'avvio dell'istanza Cloud SQL, apri Cloud Shell.

      APRI Cloud Shell

    2. Connettiti all'istanza Cloud SQL.

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

      Dove your-cloud-sql-instance è il nome dell'istanza Cloud SQL che hai creato il giorno Google Cloud.

    3. Crea un database di nome servicebroker.

      CREATE DATABASE servicebroker;
      
    4. Definisci un nome utente e una password per Google Cloud Service Broker.

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

      Dove:

      • SB_DB_UserName è il nome utente che rappresenta Google Cloud Service Broker come utente del database.
      • SB_DB_Password è la password che identifica il Google Cloud Service Broker nel database.
    5. Imposta i privilegi di accesso per il Google Cloud Service Broker.

      GRANT ALL PRIVILEGES ON servicebroker.* TO 'SB_DB_UserName'@'%' WITH GRANT OPTION;
      
    6. Configura SSL e ottieni i certificati SSL.

      1. Nella console Google Cloud , apri la pagina Istanze Cloud SQL.

        APRI la pagina Istanze Cloud SQL

      2. Fai clic sul nome dell'istanza Cloud SQL.

      3. Nella pagina Dettagli istanza, fai clic sulla scheda Connessioni.

      4. Nella sezione SSL in Connessioni SSL, fai clic su Consenti solo connessioni SSL. L'aggiornamento potrebbe richiedere alcuni secondi.

      5. Nella sezione SSL, in Configura certificati client SSL, fai clic su Crea un certificato client.

      6. Inserisci un nome e fai clic su Crea.

      7. Scarica i tre file del certificato e salvali in una posizione sicura.

    7. Nella sezione Connettività della scheda Connessioni nella pagina Dettagli istanza:

      1. Verifica che la casella IP pubblico sia selezionata.
      2. Nella sezione Reti autorizzate, fai clic su Aggiungi rete.
      3. Nel campo Rete, inserisci 0.0.0.0/0.
      4. Fai clic su Fine.
    8. Fai clic su Salva per salvare le modifiche all'autorizzazione.

    Ottieni un account di prova SAP BTP per Cloud Foundry sull'infrastruttura Google Cloud

    1. Registrati per un account di prova SAP BTP. Per ottenere un account di prova SAP BTP, devi disporre di un account SAP attivo.
    2. Accedi a SAP BTP Cockpit.
    3. In SAP BTP Cockpit, scegli Home nella parte superiore dello schermo.
    4. Nel riquadro di navigazione a sinistra dello schermo, fai clic su Regioni.
    5. Nella sezione Cloud Foundry Environment, seleziona una regione che utilizza l'infrastrutturaGoogle Cloud , ad esempio US-Central (IA). In questo modo vengono creati un'organizzazione e uno spazio all'interno dell'ambiente SAP BTP Cloud Foundry.

    Installa e configura Google Cloud Service Broker per Cloud Foundry

    Esegui il deployment di Google Cloud Service Broker per Cloud Foundry

    In un terminale sulla tua workstation di sviluppo:

    1. Installa l'ultima versione di Google Cloud Service Broker per Cloud Foundry da 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. Estrai i file di Google Cloud Service Broker.

      tar zxvf *.tar.gz
      
    3. Cambia directory.

      cd gcp-service-broker*
      
    4. Accedi all'ambiente SAP BTP Cloud Foundry.

      cf login
      
    5. Inserisci l'endpoint API.

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

      dove techkey è una chiave tecnica definita da SAP che identifica la regione dell'endpoint API. Ad esempio, la chiave tecnica per la regione Stati Uniti centrali che include l'infrastruttura Google Cloud è cf.us30. Per un elenco di tutte le regioni per l'ambiente SAP BTP Cloud Foundry, consulta il portale di assistenza SAP.

    6. Inserisci il nome utente e la password del tuo account SAP BTP.

    7. Esegui il deployment dell'app Google Cloud Service Broker nell'ambiente Cloud Foundry.

      cf push APP_NAME --no-start
      

      dove APP_NAME è un nome univoco che scegli per l'applicazione Google Cloud Service Broker. Ad esempio, gcp-service-broker-001 o mycompany-gcp-svc-broker-app.

      Dopo che Cloud Foundry esegue il deployment dell'app Google Cloud Service Broker, vengono visualizzate informazioni simili a quelle dell'esempio seguente:

      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
      

    Configura l'app Google Cloud Service Broker per Cloud Foundry

    1. Accedi a SAP BTP Cockpit.
    2. In SAP BTP Cockpit, vai a Trial Home > Regions > Your Google Cloud region > Your global account > Your subaccount > Spaces > Your space.
    3. Fai clic sul nome dell'app Google Cloud Service Broker di cui hai eseguito il deployment nella sezione precedente.
    4. Nel menu a sinistra, fai clic su Variabili fornite dall'utente.
    5. Utilizza il pulsante Aggiungi variabile per definire le seguenti variabili di Service Broker come coppie chiave-valore: Google Cloud

      Chiave Valore
      CA_CERT
      I contenuti del file del certificato server, server-ca.pem, che hai scaricato quando hai configurato SSL in Configura un database di backend.
      CLIENT_CERT
      I contenuti del file del certificato client, client-cert.pem, che hai scaricato quando hai configurato SSL in Configura un database di backend.
      CLIENT_KEY
      I contenuti del file della chiave client, client-key.pem, che hai scaricato quando hai configurato SSL in Configurare un database di backup.
      DB_HOST
      L'indirizzo IP pubblico dell'istanza Cloud SQL, come mostrato nella sezione Connettiti a questa istanza della pagina Dettagli istanza per l'istanza Cloud SQL nella Google Cloud console.
      DB_PASSWORD
      La password che hai definito per Google Cloud Service Broker per accedere al database che hai configurato in Configurare un database di backend.
      DB_USERNAME
      Il nome utente che hai definito per il Google Cloud Service Broker quando hai creato il database. Per un database Cloud SQL, puoi visualizzare il nome utente in Account utente MySQL nella scheda Utenti della pagina Dettagli istanza per la tua istanza Cloud SQL nella Google Cloud console.
      ROOT_SERVICE_ACCOUNT_JSON
      I contenuti del file della chiave JSON che hai scaricato quando hai creato l'account di servizio principale.
      SECURITY_USER_NAME
      Un nome utente che definisci per il service broker da utilizzare per autenticare le richieste del broker. Specifichi lo stesso nome utente in un secondo momento nel comando cf create-service-broker quando crei il servizio broker.
      SECURITY_USER_PASSWORD
      Una password definita per il service broker da utilizzare durante l'autenticazione delle richieste del broker. Specifichi questa stessa password più avanti nel comando cf create-service-broker quando crei il servizio broker.
      Variabili di ambiente facoltative Per un elenco di variabili facoltative che puoi utilizzare per personalizzare Google Cloud Service Broker, vedi Personalizzazione dell'installazione.

    Avvia l' Google Cloud app Service Broker per Cloud Foundry

    1. Fai clic su Panoramica nel menu a sinistra.
    2. Per avviare la richiesta di broker, fai clic su Avvia. Quando l'applicazione è in esecuzione, nella pagina Panoramica vengono visualizzati gli indicatori verdi Avviato e In esecuzione, come mostrato nelle immagini seguenti.

      Un indicatore verde Avviato mostra che il service broker Google Cloud è stato avviato

      Un indicatore verde RUNNING (IN ESECUZIONE) mostra che il service broker Google Cloud è in esecuzione

    3. Se l'app Google Cloud Service Broker non si avvia o mostra Errore o Arresto anomalo, controlla i log dell'applicazione dalla workstation di sviluppo e modifica le variabili o la configurazione di conseguenza.

      cf logs APP_NAME --recent
      

    Registra Google Cloud Service Broker per Cloud Foundry

    Sulla workstation di sviluppo:

    1. Connettiti all'ambiente SAP BTP Cloud Foundry.

      cf login
      
    2. Elenca le applicazioni di cui è stato eseguito il deployment.

      cf apps
      

      Vedi un output simile al seguente esempio:

      name              requested state   instances   memory   disk   urls
      broker-test-app   started           1/1         1G       1G     broker-test-app.cfapps.us30.hana.ondemand.com
      
    3. Registra il servizio broker.

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

      Dove:

    4. Verifica la registrazione del servizio di broker.

      cf service-brokers
      

      Dovresti vedere un output simile al seguente esempio:

      name                  url
      broker-service-name   https://broker-service-name.cfapps.us30.hana.ondemand.com
      
    5. Verifica che i servizi Google Cloud siano ora disponibili nel Service Marketplace di SAP BTP.

      cf marketplace
      

      L'esempio seguente, modificato per facilitare la lettura e adattarsi alla pagina, mostra due servizi di un elenco di Google Cloud servizi nel 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.
      

      Per un elenco dei servizi Google Cloud disponibili, vedi Open Service Broker per Google Cloud.

    Passaggi successivi

    Crea istanze di servizio Google Cloud e collegale alle tue applicazioni SAP BTP.

    Per ulteriori informazioni sulla creazione e l'associazione di servizi Google Cloud, consulta: