arrow_back

Implementare Cloud SQL (Azure)

Accedi Partecipa
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi

Implementare Cloud SQL (Azure)

Lab 1 ora 30 minuti universal_currency_alt 5 crediti show_chart Introduttivi
info This lab may incorporate AI tools to support your learning.
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi

Di recente un'azienda IT che utilizza Google Cloud ti ha assunto come principale fornitore di servizi cloud. In qualità di esperto di database SQL, avrai il compito di ricercare e adottare i servizi SQL offerti da Google Cloud. Alcune delle maggiori preoccupazioni sono:

  • Deployment
  • Sicurezza
  • Integrazione app
  • Metodi di connettività

Diagramma Azure Poiché hai lavorato con Azure nel tuo post precedente, sai come eseguire il deployment di SQL Server. Il modello di prezzi si basa su una quantità personalizzabile di unità di transazione del database (DTU) classificate in varie opzioni mirate a diversi scenari di utilizzo.

In Azure utilizzi quanto segue:

  • Un'implementazione del proxy per garantire una connessione sicura al database.
  • Un bilanciatore del carico HTTP per mantenere la disponibilità del database dell'applicazione.

Puoi utilizzare vari metodi per collegare diverse applicazioni di cui hai eseguito il deployment in precedenza, tra cui:

  • Stringhe di connessione
  • Integrazione dei servizi delle app web
  • Cloud SQL con indirizzi IP privati.

Ora vedrai come puoi usare le funzionalità di Cloud SQL per creare e collegare un database sicuro a un'applicazione.

Panoramica

In questo lab configurerai un server Cloud SQL e imparerai a collegarvi un'applicazione tramite proxy su una connessione esterna. Inoltre, configurerai una connessione su un link IP privato che offre vantaggi in termini di prestazioni e sicurezza. L'app che abbiamo scelto di dimostrare in questo lab è Wordpress, ma le informazioni e le best practice sono applicabili a qualsiasi applicazione che richieda SQL Server.

Alla fine di questo lab, avrai due istanze operative del frontend di Wordpress collegate tra loro su due diversi tipi di connessione al backend dell'istanza SQL, come mostrato in questo diagramma:

Diagramma del lab su SQL

Obiettivi

In questo lab imparerai a svolgere le seguenti attività:

  • Creare un database Cloud SQL
  • Configurare una macchina virtuale perché esegua un proxy
  • Creare una connessione tra un'applicazione e Cloud SQL
  • Connettere un'applicazione a Cloud SQL utilizzando un indirizzo IP privato

Configurazione

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  1. Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.

  2. Tieni presente la durata dell'accesso al lab (ad esempio, 1:15:00) e assicurati di finire entro quell'intervallo di tempo.
    Non è disponibile una funzionalità di pausa. Se necessario, puoi riavviare il lab ma dovrai ricominciare dall'inizio.

  3. Quando è tutto pronto, fai clic su Inizia lab.

  4. Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.

  5. Fai clic su Apri console Google.

  6. Fai clic su Utilizza un altro account e copia/incolla le credenziali per questo lab nei prompt.
    Se utilizzi altre credenziali, compariranno errori oppure ti verranno addebitati dei costi.

  7. Accetta i termini e salta la pagina di ripristino delle risorse.

Attività 1: crea un database Cloud SQL

In questa attività configurerai un server SQL in base alle best practice di Google Cloud e creerai una connessione mediante IP privato.

  1. Nel menu di navigazione (Icona menu di navigazione), fai clic su SQL.
  2. Fai clic su Crea istanza.
  3. Fai clic su Scegli MySQL.
  4. Specifica quanto segue e non modificare le altre impostazioni predefinite:
Proprietà Valore
ID istanza wordpress-db
Password root digita una password
Regione
Zona Qualsiasi
Versione database MySQL 5.7
Nota: prendi nota della password root. Sarà utilizzata in un secondo momento e indicata come [ROOT_PASSWORD].
  1. Espandi Mostra opzioni di configurazione.

  2. Espandi la sezione Tipo di macchina.

  3. Esegui il provisioning della quantità corretta di vCPU e memoria. Per scegliere un Tipo di macchina, fai clic sul menu a discesa ed esplora le opzioni.

Nota: alcuni punti da considerare:

  • Le macchine con core condivisi sono ideali per la prototipazione e non sono coperte dallo SLA di Cloud.
  • Ogni vCPU è soggetta a un limite di velocità effettiva di rete di 250 MB/s per offrire prestazioni di massimo livello. Ogni core aggiuntivo aumenta il limite di rete, fino a un massimo teorico di 2000 MB/s.
  • Per i carichi di lavoro sensibili alle prestazioni come l'elaborazione delle transazioni online (OLTP), una linea guida generale è quella di garantire che l'istanza disponga di memoria sufficiente per contenere l'intero set di lavoro e contenere il numero di connessioni attive.
    1. Per questo lab, seleziona standard dal menu a discesa, quindi seleziona 1 vCPU, 3,75 GB.

    2. Espandi la sezione Spazio di archiviazione, quindi scegli Tipo di archiviazione e Capacità dello spazio di archiviazione.

    Nota: alcuni punti da considerare:

  • SSD (unità a stato solido) è la scelta migliore per la maggior parte dei casi d'uso. HDD (unità a disco rigido) offre prestazioni inferiori, ma i costi di archiviazione sono ridotti notevolmente, pertanto HDD potrebbe essere preferibile per l'archiviazione di dati a cui si accede raramente e che non richiedono una bassissima latenza.
  • Esiste una relazione diretta tra la capacità di archiviazione e la velocità effettiva.
    1. Fai clic su ciascuna opzione di capacità per vedere in che modo questa influisce sulla velocità effettiva. Reimposta l'opzione su 10 GB.
    Nota: l'impostazione di una capacità di archiviazione troppo bassa senza abilitare un aumento automatico dello spazio di archiviazione può provocare la perdita dello SLA (accordo sul livello del servizio) dell'istanza.
    1. Espandi la sezione Connessioni.

    2. Seleziona IP privato.

    3. Nel menu a discesa Rete, seleziona predefinita.

    4. Fai clic sul pulsante Configura connessione che viene mostrato.

    5. Nel riquadro a destra, fai clic su Abilita API, fai clic su Utilizza un intervallo IP allocato automaticamente, poi fai clic su Continua e infine su Crea connessione.

    6. Fai clic su Crea istanza nella parte inferiore della pagina per creare l'istanza di database.

    Nota: potresti dover attendere la propagazione delle modifiche all'IP privato prima che il pulsante Crea diventi cliccabile.

    Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un'istanza di Cloud SQL

    Attività 2: configura un proxy su una macchina virtuale

    Se l'applicazione non risiede nella stessa rete connessa VPC e nella stessa area geografica della tua istanza Cloud SQL, utilizza un proxy per proteggere la connessione esterna.

    Per configurare il proxy devi avere il nome della connessione dell'istanza Cloud SQL.

    Nota: il lab include due macchine virtuali preconfigurate con Wordpress e le sue dipendenze. Puoi visualizzare lo script di avvio e l'accesso all'account di servizio facendo clic sul nome di una macchina virtuale. Abbiamo utilizzato il principio del privilegio minimo e concediamo l'accesso SQL solo per questa VM. Inoltre sono presenti un tag di rete e un firewall preconfigurati per autorizzare la porta 80 da qualsiasi host.
    1. Nel menu di navigazione (Icona menu di navigazione) fai clic su Compute Engine.

    2. Fai clic su SSH accanto a wordpress-proxy.

    3. Scarica il proxy Cloud SQL e rendilo eseguibile:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxy

    Per poter avviare il proxy devi avere il nome della connessione dell'istanza Cloud SQL. Tieni aperta la finestra SSH e torna alla console Cloud.

    1. Nel menu di navigazione (Icona menu di navigazione), fai clic su SQL.

    2. Fai clic sull'istanza wordpress-db e attendi che accanto al nome venga mostrato un segno di spunta verde che indica che è operativa. L'operazione potrebbe richiedere un paio di minuti.

    3. Prendi nota del Nome connessione istanza; verrà usato in un secondo momento e denominato [SQL_CONNECTION_NAME].

    4. Inoltre, affinché l'applicazione funzioni, è necessario creare una tabella. Fai clic su Database.

    5. Fai clic su Crea database, digita wordpress, ovvero il nome dell'applicazione, e fai clic su Crea.

    6. Torna alla finestra SSH e salva il nome della connessione in una variabile di ambiente, sostituendo [SQL_CONNECTION_NAME] con il nome univoco che hai copiato in un passaggio precedente:

    export SQL_CONNECTION=[SQL_CONNECTION_NAME]
    1. Per verificare che la variabile di ambiente sia impostata, esegui:
    echo $SQL_CONNECTION

    Il nome della connessione deve essere stampato.

    1. Per attivare la connessione proxy al database Cloud SQL e inviare il processo in background, esegui questo comando:
    ./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &

    L'output previsto è:

    Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME] Ready for new connections
    1. Premi Invio.
    Nota: il proxy rimane in ascolto su 127.0.0.1:3306 (localhost) e sul proxy che si connette in modo sicuro a Cloud SQL tramite un tunnel protetto usando l'indirizzo IP esterno della macchina.

    Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un database e configura un proxy su una macchina virtuale

    Attività 3: collega un'applicazione all'istanza Cloud SQL

    In questa attività collegherai un'applicazione di esempio all'istanza Cloud SQL.

    1. Configura l'applicazione Wordpress. Per trovare l'indirizzo IP esterno della tua macchina virtuale, esegui una query sui relativi metadati:
    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echo
    1. Vai all'indirizzo IP esterno del server wordpress-proxy e configura l'applicazione Wordpress.

    2. Fai clic su Iniziamo.

    3. Specifica quanto segue, sostituendo [ROOT_PASSWORD] con la password che hai configurato al momento della creazione della macchina e lascia le restanti impostazioni come predefinite:

    Proprietà Valore
    Nome utente root
    Password [ROOT_PASSWORD]
    Host database 127.0.0.1
    Nota: stai utilizzando 127.0.0.1, localhost come IP di database, perché il proxy che hai avviato ascolti su questo indirizzo e reindirizzi il traffico al tuo server SQL in modo sicuro.
    1. Fai clic su Invia.

    2. Una volta stabilita una connessione, fai clic su Esegui l'installazione per creare un'istanza di Wordpress e del relativo database in Cloud SQL. L'operazione potrebbe richiedere qualche istante.

    3. Completa le informazioni del tuo sito dimostrativo con informazioni casuali e fai clic su Installa Wordpress. Non dovrai ricordare né utilizzare questi dettagli.

    Nota: l'installazione di Wordpress potrebbe richiedere fino a tre minuti perché propaga tutti i suoi dati al tuo SQL Server.
    1. Quando viene visualizzata la finestra "Operazione riuscita", rimuovi il testo che segue l'indirizzo IP nella barra degli indirizzi del browser web e premi Invio.
      Verrà visualizzato un blog Wordpress funzionante.

    Attività 4: connettiti a Cloud SQL tramite IP interno

    Se puoi ospitare l'applicazione nella stessa regione e nella stessa rete connessa VPC del tuo Cloud SQL, puoi utilizzare una configurazione più sicura ed efficiente mediante l'IP privato.

    Se utilizzi l'IP privato, puoi aumentare le prestazioni diminuendo la latenza e ridurre al minimo la superficie di attacco dell'istanza Cloud SQL, perché puoi comunicare con quest'ultima solo su IP interni.

    1. Nella console Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su SQL.
    2. Fai clic su wordpress-db.
    3. Prendi nota dell'indirizzo IP privato del server Cloud SQL. Si chiamerà [SQL_PRIVATE_IP].
    4. Nel menu di navigazione, fai clic su Compute Engine.
    Nota: tieni presente che wordpress-private-ip si trova in us-central1, dove si trova il tuo Cloud SQL, il che ti consente di sfruttare una connessione più sicura.
    1. Copia l'indirizzo IP esterno di wordpress-us-private-ip, incollalo in una finestra del browser e premi Invio.

    2. Fai clic su Iniziamo.

    3. Specifica quanto segue e non modificare le altre impostazioni predefinite:

    Proprietà Valore
    Nome utente root
    Password digita la [ROOT_PASSWORD] configurata al momento della creazione dell'istanza Cloud SQL
    Host database [SQL_PRIVATE_IP]
    1. Fai clic su Invia.
    Nota: tieni presente che questa volta devi creare una connessione diretta a un IP privato, anziché configurare un proxy. Questa connessione è privata, vale a dire che non trasmette traffico in uscita verso internet, con conseguente miglioramento delle prestazioni e della sicurezza.
    1. Fai clic su Esegui l'installazione.
      Viene visualizzata la finestra "Già installata", a indicare che l'applicazione è connessa al server Cloud SQL tramite IP privato.

    2. Nella barra degli indirizzi del browser web, rimuovi il testo che segue l'indirizzo IP e premi Invio.
      Verrà visualizzato un blog Wordpress funzionante.

    Attività 5: riepilogo

    In questo lab hai creato un database Cloud SQL e lo hai configurato in modo che utilizzasse sia una connessione esterna su un proxy sicuro sia su un indirizzo IP privato, più sicuro e più efficiente. Ricorda che puoi connetterti tramite IP privato solo se l'applicazione e il server Cloud SQL si trovano nella stessa regione e fanno parte della stessa rete VPC. Se la tua applicazione è ospitata in un'altra regione, in un altro VPC o anche in un altro progetto, utilizza un proxy per proteggerne la connessione sulla connessione esterna.

    Ora che conosci meglio la creazione e la configurazione di un database in Cloud SQL, vediamo alcune analogie e differenze tra Google Cloud SQL e Azure SQL.

    Analogie:

    • Azure e Google Cloud gestiscono l'infrastruttura dei database, che comprende le istanze, i backup, gli aggiornamenti e il failover.
    • Entrambi Cloud SQL e Azure SQL eseguono il deployment di un proxy per ricevere in modo sicuro le connessioni al di fuori del VPC.
    • Entrambi i servizi creano una connessione tramite una stringa di connessione.
    • Entrambi i servizi possono utilizzare un IP interno per connettere direttamente un'applicazione e un'istanza di SQL Server se sono collocati all'interno della stessa regione e fanno parte della stessa rete VPC; utilizzando solo indirizzi IP interni puoi migliorare la sicurezza perché in questo modo le connessioni pubbliche non sono consentite.

    Differenze:

    • Le specifiche per la creazione di un SQL Server sono concepite in modo diverso tra Google Cloud e Azure. In Azure, puoi scegliere tra categorie, DTU e spazio di archiviazione definito. In Google Cloud specifichi direttamente il numero di CPU e lo spazio di archiviazione di cui hai bisogno.
    • In Google Cloud disponi di un'autenticazione integrata del database (utente-password) e puoi implementare le librerie del proxy di autenticazione Cloud SQL e del connettore Cloud SQL per fornire un accesso basato su IAM. In Azure, invece, puoi usare i criteri per definire le modalità di ammissione delle richieste. Puoi anche usare un metodo di reindirizzamento (per impostazione predefinita) o un criterio di connessione proxy per elaborare la richiesta. È supportata anche l'autenticazione di Azure Active Directory.
    • In Google Cloud ti colleghi all'istanza utilizzando Cloud SQL con due opzioni principali:
      • Proxy di autenticazione Cloud SQL: un tunnel sicuro che non richiede una rete autorizzata o un SSL; l'autenticazione e l'autorizzazione avvengono tramite Identity and Access Management (IAM) e OAuth 2.0.
      • IP privato: una connessione privata tra la tua rete VPC e la rete VPC del producer di servizi Google sottostante.

    Termina il lab

    Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

    Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

    Il numero di stelle corrisponde alle seguenti valutazioni:

    • 1 stella = molto insoddisfatto
    • 2 stelle = insoddisfatto
    • 3 stelle = esperienza neutra
    • 4 stelle = soddisfatto
    • 5 stelle = molto soddisfatto

    Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

    Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

    Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.

    This content is not currently available

    We will notify you via email, when it becomes available

    Great!

    We will contact you via email, if it becomes available