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

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

Google Cloud Service Broker semplifica la distribuzione dei servizi Google Cloud alle applicazioni eseguite in un ambiente Cloud Foundry su SAP BTP. Creando le risorse Google Cloud e gestendo le autorizzazioni corrispondenti, Google Cloud Service Broker semplifica l'utilizzo dei servizi Google Cloud dall'interno di un ambiente applicativo SAP BTP.

Il seguente diagramma è una vista generale dei passaggi di configurazione con alcuni esempi di servizi Google Cloud.

Accesso ai servizi Google Cloud da Cloud Foundry su SAP BTP

Componenti principali della soluzione

I componenti seguenti sono necessari per la configurazione del broker di servizi Google Cloud su SAP BTP per Cloud Foundry.

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 back-end per il Google Cloud Service Broker
Conto BTP SAP Fornisci l'ambiente SAP BTP Cloud Foundry nella regione Google Cloud selezionata
Progetto Google Cloud Fornire i servizi Google Cloud
Interfaccia a riga di comando Cloud Foundry Interfaccia a riga di comando per la configurazione di Cloud Foundry

Costi

Cloud SQL, consigliato per l'uso con Google Cloud Service Broker, è un componente Google Cloud fatturabile.

Anche 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 configurare il tuo 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 indicato nella documentazione del portale SAP.

Configura un progetto Google Cloud

Se non hai già un progetto Google Cloud con fatturazione abilitata, devi crearne uno.

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

configura l'ambiente Google Cloud

Devi abilitare alcune API Google Cloud, un account di servizio Google Cloud e un database per il service broker di Google Cloud.

Abilita le API Google Cloud richieste

Abilita le seguenti API in Gestore API > Libreria.

  1. Abilitare l'API Cloud Resource Manager.
  2. Abilita l'API Identity and Access Management.
  3. Abilitare 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 radice

  1. Nella console Google Cloud, vai alla pagina Account di servizio.

    Vai alla pagina Account di servizio

  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 al broker di servizi Google Cloud per utilizzare i servizi Google Cloud.

  7. Fai clic su Continua.

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

  9. Fai clic su Fine.

  10. Nella pagina Account di servizio della console Google Cloud, fai clic sull'indirizzo email dell'account di servizio appena creato.

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

  12. Fai clic sul menu a discesa Aggiungi chiave e 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 workstation.

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

Configura un database di supporto

Il service broker di Google Cloud richiede un database MySQL per archiviare lo stato delle risorse di cui è stato eseguito il provisioning. È consigliabile un'istanza Cloud SQL per MySQL di seconda generazione, 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 passaggi seguenti 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 delle 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à l'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. Connettersi 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 su Google Cloud.

  3. Crea un database denominato servicebroker.

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

    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 broker di servizi Google Cloud nel database.
  5. Imposta i privilegi di accesso per il Service Broker di Google Cloud.

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

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

      APRI la pagina delle 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 i certificati client SSL, fai clic su Crea un certificato client.

    6. Inserisci un nome e fai clic su Crea.

    7. Scarica i tre file di certificato e salvali in un percorso sicuro.

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

    1. Verifica che la casella IP pubblico sia selezionata.
    2. In 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 BTP SAP per Cloud Foundry sull'infrastruttura Google Cloud

  1. Registrati per creare un account di prova BTP SAP. Per ottenere un account di prova SAP BTP, devi avere un account SAP attivo.
  2. Accedi a SAP BTP Cockpit.
  3. In SAP BTP Cockpit, scegli Home nella parte superiore della schermata.
  4. Nel riquadro di navigazione sul lato sinistro dello schermo, fai clic su Regioni.
  5. In Ambiente Cloud Foundry, seleziona una regione che utilizza l'infrastruttura Google Cloud, ad esempio US-Central (IA). Ciò crea 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 workstation di sviluppo:

  1. Installa la versione più recente 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 del service broker di Google Cloud.

    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 US Central che include l'infrastruttura Google Cloud è cf.us30. Per un elenco di tutte le regioni per l'ambiente SAP BTP Cloud Foundry, visita il Portale di assistenza SAP.

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

  7. Eseguire 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 ha eseguito il deployment dell'app Google Cloud Service Broker, vedrai informazioni simili a quelle nell'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
    

Configurare l'app Google Cloud Service Broker per Cloud Foundry

  1. Accedi a SAP BTP Cockpit.
  2. Nel SAP BTP Cockpit, vai a Home page di prova > Regioni > Your Google Cloud region > Your global account > Your subaccount > Spazi > 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 del broker di servizi Google Cloud come coppie chiave-valore:

    Chiave Valore
    
    CA_CERT
    I contenuti del file del certificato del server, server-ca.pem, che hai scaricato durante la configurazione di SSL in Configurare un database di supporto.
    
    CLIENT_CERT
    I contenuti del file del certificato client, client-cert.pem, che hai scaricato durante la configurazione di SSL in Configurare un database di supporto.
    
    CLIENT_KEY
    I contenuti del file della chiave client, client-key.pem, che hai scaricato durante la configurazione di SSL in Configurare un database di supporto.
    
    DB_HOST
    L'indirizzo IP pubblico dell'istanza Cloud SQL, come mostrato nella sezione Connetti a questa istanza della pagina Dettagli istanza della tua istanza Cloud SQL nella console Google Cloud.
    
    DB_PASSWORD
    La password che hai definito per consentire al broker di servizi Google Cloud di accedere al database configurato in Configurare un database di supporto.
    
    DB_USERNAME
    Il nome utente che hai definito per il broker di servizi Google Cloud 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 della tua istanza Cloud SQL nella console Google Cloud.
    
    ROOT_SERVICE_ACCOUNT_JSON
    I contenuti del file di chiave JSON che hai scaricato quando hai creato l'account di servizio principale.
    
    SECURITY_USER_NAME
    Un nome utente definito affinché il service broker utilizzi durante l'autenticazione delle richieste del broker. Devi specificare questo stesso nome utente in un secondo momento nel comando cf create-service-broker quando crei il servizio di broker.
    
    SECURITY_USER_PASSWORD
    Una password definita da te affinché il service broker utilizzi durante l'autenticazione delle richieste del broker. Devi specificare questa stessa password in un secondo momento nel comando cf create-service-broker quando crei il servizio di broker.
    Variabili di ambiente facoltative Per un elenco di variabili facoltative che puoi utilizzare per personalizzare il service broker di Google Cloud, consulta Personalizzazione dell'installazione.

Avvia l'app Google Cloud Service Broker per Cloud Foundry

  1. Nel menu a sinistra, fai clic su Panoramica.
  2. Per avviare la richiesta di intermediario, fai clic su Avvia. Quando l'applicazione è in esecuzione, nella pagina Panoramica vengono visualizzati gli indicatori verdi Started (Avviata) e Running (In esecuzione), come mostrato nelle immagini seguenti.

    Un indicatore di avvio verde indica che Google Cloud Service Broker è stato avviato

    Un indicatore RUNNING verde mostra che il service broker di 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 regola 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
    

    Vedrai 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 del 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 in SAP BTP Service Marketplace.

    cf marketplace
    

    L'esempio seguente, modificato per una migliore leggibilità e adattabilità alla pagina, mostra due servizi di un elenco di servizi Google Cloud 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, consulta Aprire Service Broker per Google Cloud.

Passaggi successivi

Creare istanze di servizio Google Cloud e associarle alle applicazioni SAP BTP.

Per ulteriori informazioni sulla creazione e sull'associazione dei servizi Google Cloud, consulta: