această pagină oferă o introducere de bază pentru Cloud SQL auth proxy, și descrie opțiunile theproxy.
pentru instrucțiuni pas cu pas despre utilizarea proxy-ului Cloud SQL AUTH, urmați link-ulpentru mediul dvs:
- Quickstart pentru utilizarea proxy-ului Cloud SQL AUTH
- cum se conectează folosind proxy-ul Cloud SQL AUTH
- cum se conectează folosind proxy-ul Cloud SQL AUTH de la GKE
nu este necesar să utilizați proxy-ul Cloud SQL AUTH sau să configurați SSL laconectați-vă la Cloud SQL de la App Engine standardsau conectați-vă la Cloud SQL de la app motor mediu flexibil.
- încercați singur
- ce Cloud SQL auth proxy oferă
- cum funcționează proxy-ul Cloud SQL AUTH
- cerințe pentru utilizarea proxy-ului Cloud SQL AUTH
- Opțiuni de pornire proxy Cloud SQL AUTH
- utilizarea unui cont de serviciu pentru autentificare
- permisiuni necesare pentru conturile de serviciu
- opțiuni pentru specificarea instanțelor Cloud SQL
- menținerea proxy-ului Cloud SQL AUTH actualizat
- utilizare API
- despre crearea unui cont de utilizator special pentru Cloud SQL auth proxy
- Cloud SQL auth parametrii proxy și steaguri
- cum se utilizează FUSE cu Cloud SQL auth proxy
- instalarea FUSE
- utilizarea proxy-ului Cloud SQL AUTH într-un mediu de producție
- asigurați-vă că proxy-ul Cloud SQL AUTH este rulat ca un serviciu persistent
- câte copii ale proxy-ului Cloud SQL AUTH aplicația dvs. are nevoie de
- reducerea ieșirii Proxy Cloud SQL AUTH
- cum failover afectează Cloud SQL auth proxy
- păstrarea imaginii Docker Proxy Cloud SQL auth până la data
încercați singur
dacă sunteți nou în Google Cloud, creați un cont pentru a evalua performanța Cloud SQL în scenarii din lumea reală. Clienții noi primesc, de asemenea, 300 USD în credite gratuite pentru a rula, testa și implementa sarcini de lucru.
încercați Cloud SQL gratuit
ce Cloud SQL auth proxy oferă
Cloud SQL auth proxy oferă acces securizat la instanțele dvs. fără a fi nevoie de rețele autorizate sau pentru configurarea SSL.
accesarea instanței Cloud SQL utilizând proxy-ul Cloud SQL AUTH oferă următoarele avantaje:
- conexiuni securizate: proxy-ul Cloud SQL auth criptează automat traficul către și dinspre baza de date utilizând TLS 1.2 cu un cifru AES pe 128 de biți; Certificatele SSL sunt utilizate pentru a verifica identitatea clientului și a serverului.
- gestionarea mai ușoară a conexiunii: proxy-ul Cloud SQL AUTH gestionează autentificarea WITHCLOUD SQL, eliminând necesitatea de a furniza adrese IP statice.
Cloud SQL auth proxy nu oferă o nouă cale de conectivitate; se bazează pe IPconnectivity existente. Pentru a vă conecta la o instanță Cloud SQL utilizând IP privat, proxy-ul Cloud SQL AUTH trebuie să fie pe o resursă cu acces la aceeași rețea VPC ca instanța.
cum funcționează proxy-ul Cloud SQL AUTH
proxy-ul Cloud SQL AUTH funcționează având un client local care rulează în mediul local. Aplicația dvs. comunică cu Cloud SQL AUTH proxywith protocolul standard de baze de date utilizat de baza de date. Proxy-ul Cloud SQL auth foloseșteun tunel securizat pentru a comunica cu procesul său însoțitor care rulează pe server.
în timp ce proxy-ul poate asculta pe orice port, creează numai conexiuni de ieșire toour instanță Cloud SQL pe portul 3307. Dacă aveți o firewallpolicy de ieșire, asigurați-vă că permite conexiuni la portul 3307 pe IP-ul Cloud SQLinstance.
următoarea diagramă arată modul în care proxy-ul Cloud SQL AUTH se conectează la Cloud SQL:
cerințe pentru utilizarea proxy-ului Cloud SQL AUTH
pentru a utiliza proxy-ul Cloud SQL AUTH,trebuie să îndepliniți următoarele cerințe:
- API-ul Cloud SQL Admin trebuie să fie activat.
- trebuie să furnizați proxy-ul Cloud SQL AUTH cu acreditările de autentificare Google Cloud.
- trebuie să furnizați proxy-ul Cloud SQL AUTH cu un cont de utilizator și o parolă valide pentru baza de date.
-
instanța trebuie fie să aibă o adresă IPv4 publică, fie să fie configurată să utilizeze IP privat.
adresa IP publică nu trebuie să fie accesibilă niciunei adrese externe(nu trebuie adăugată ca adresă de rețea autorizată).
Opțiuni de pornire proxy Cloud SQL AUTH
când porniți proxy-ul Cloud SQL AUTH, îi furnizați următoarele informații:
- ce instanțe Cloud SQL pentru a stabili conexiuni la
- unde va asculta datele provenite din aplicația dvs. pentru a fi trimise la Cloud SQL
- unde va găsi acreditările pe care le va folosi pentru a vă autentifica aplicația la Cloud SQL
- dacă este necesar, ce tip de adresă IP să utilizați.
opțiunile de pornire proxy Cloud SQL AUTH pe care le furnizați determină dacă va asculta pe un TCPport sau pe un soclu Unix. În cazul în care este de ascultare pe un soclu Unix, se creează thesocket la locația pe care o alegeți; de obicei, directorul /cloudsql/.Pentru TCP, proxy-ul Cloud SQL auth Ascultă în mod implicit localhost
.
rulați executabilul cloud_sql_proxy
cu argumentul --help
pentru avizualizați lista completă a opțiunilor de pornire.
puteți instala proxy-ul Cloud SQL AUTH oriunde în mediul dvs. local. Locația binare Proxy Cloud SQL AUTH nu are impact în cazul în care ascultă pentru date de la yourapplication.
utilizarea unui cont de serviciu pentru autentificare
proxy-ul Cloud SQL AUTH necesită autentificare. Avantajul utilizării unui cont de serviciuacest scop este că puteți crea un fișier de acreditare special pentrucloud SQL auth proxy și este legat în mod explicit și permanent de proxy-ul Cloud SQL AUTH, atâta timp cât esterularea. Din acest motiv, utilizarea unui cont de serviciu este metoda recomandată pentru productioninstances care nu rulează pe o instanță Compute Engine.
fișierul de acreditare poate fi duplicat într-o imagine de sistem, dacă aveți nevoie pentru a invokethe Cloud SQL auth proxy de la mai multe mașini.
pentru a utiliza această metodă, trebuie să creați și să gestionați fișierul de acreditare. Doar utilizatorii cu permisiunea resourcemanager.projects.setIamPolicy
(cum ar fi proprietarii de proiecte) pot crea contul de serviciu. Dacă utilizatorul Yourgoogle Cloud nu are această permisiune, trebuie să aveți someoneelse crea contul de serviciu pentru tine, sau de a folosi o altă metodă toauthenticate Cloud SQL auth proxy.
pentru ajutor la crearea unui fișier de acreditare, consultați Crearea unui cont de serviciu.
permisiuni necesare pentru conturile de serviciu
când utilizați un cont de serviciu pentru a furniza acreditările pentru proxy-ul Cloud SQL AUTH, trebuie să îl creați cu permisiuni suficiente. Dacă utilizați rolurile finer-grainedIdentity Access and Management (IAM) pentru a gestiona permisiunile SQL YOURCLOUD, trebuie să acordați contului de serviciu un rol care include permisiunea cloudsql.instances.connect
. Rolurile PREDEFINEDCLOUD SQL care includ această permisiune sunt:
- Cloud SQL Client
- Cloud SQL Editor
- Cloud SQL Admin
dacă utilizați rolurile de proiect vechi (Viewer, Editor, proprietar), serviceaccount trebuie să aibă cel puțin rolul de Editor.
opțiuni pentru specificarea instanțelor Cloud SQL
există mai multe moduri de a spune proxy-ului Cloud SQL AUTH la care instanțe doriți să vă conectați. Unele sunt explicite, iar altele sunt implicite. În unele configurații, youdo nu trebuie să spun Cloud SQL auth proxy înainte de timp, care instanțele pe care doriți să vă conectațila, deoarece Cloud SQL auth proxy se conectează pe baza cererilor de conectare.
opțiunile dvs., de exemplu, specificațiile depind de sistemul dvs. de operare și de mediul înconjurător:
opțiune | beneficii | avertismente și cerințe | Linux/macOS (prize Unix) |
Java | Windows | Note |
---|---|---|---|---|---|---|
FUSE (sistem de fișiere în spațiul utilizatorului) |
creare Socket dinamic bazat pe cereri de conectare; nu repornește proxy necesare ca instanțe schimba. | siguranța trebuie instalată. | acceptate | nu | nu | utilizați -fuse Pavilion. |
descoperire automată instanță | nu este nevoie să specificați instanțe; sockets create pentru toate instanțele din proiectul implicit. | Cloud SQL auth proxy API utilizare este crescut. Trebuie să aibă cloud SDK instalat și autentificat, cu un set de Proiect implicit. Trebuie să reporniți Cloud SQL auth proxy pentru a adăuga o nouă instanță. | acceptat | nu | nu | nu este recomandat pentru instanțele de producție. |
Project discovery | nu este nevoie să specificați instanțe; prize create pentru toate instanțele din proiectele specificate. | Cloud SQL auth proxy API utilizare este crescut. Trebuie să aibă cloud SDK instalat și autentificat. Trebuie să reporniți Cloud SQL auth proxy pentru a adăuga o nouă instanță. | acceptate | nu | nu | utilizați -projects parametru. Nu este recomandat pentru instanțele de producție. |
instanțele specificate pe Cloud SQL auth proxy invocare | listă instanță cunoscute și statice. | trebuie să reporniți Cloud SQL auth proxy pentru a adăuga o nouă instanță. | acceptat | acceptat cu prize TCP | acceptat cu prize TCP | utilizați parametrul -instances . Pentru mai multe instanțe, utilizați o listă separată prin virgulă, fără spații. Aflați mai multe. |
instanțele specificate folosind Compute Engine metadate | Lista de instanțe pot fi actualizate prin modificarea valorii metadatelor fără a reporni proxy-ul Cloud SQL AUTH. | disponibil numai pe motorul de calcul. | suportat | suportat cu prize TCP | suportat cu prize TCP | utilizați steagul -instances_metadata . Aflați mai multe. |
vezi exemple de invocări și șiruri de conexiune.
menținerea proxy-ului Cloud SQL AUTH actualizat
Google lansează ocazional noi versiuni ale proxy-ului Cloud SQL AUTH. Puteți vedea ce este versiunea curentă verificând pagina de versiuni proxy GitHub SQL AUTH proxy.Viitoarele versiuni proxy vor fi, de asemenea, notate înGoogle Groups Cloud SQL announce forum.
utilizare API
proxy-ul Cloud SQL auth emite solicitări către API-ul Cloud SQL Admin. Aceste cereri se numărăîmpotriva cotei API pentru proiectul dvs.
cea mai mare utilizare API apare atunci când porniți proxy-ul Cloud SQL AUTH; acest lucru este în special adevăratdacă utilizați descoperirea automată a instanței sau parametrul -projects
. În timp ce theCloud SQL auth proxy se execută, se emite 2 apeluri API pe oră pe instanță conectat.
despre crearea unui cont de utilizator special pentru Cloud SQL auth proxy
când vă conectați la instanță utilizând Cloud SQL auth proxy, furnizați un cont de utilizatorcare este utilizat pentru a vă conecta la instanță. Puteți utiliza orice cont de utilizator al bazei de dateîn acest scop. Cu toate acestea, deoarece proxy-ul Cloud SQL AUTH se conectează întotdeauna de la un nume de gazdăcare nu poate fi accesat decât de proxy-ul Cloud SQL AUTH, puteți crea un cont de utilizator carepoate fi utilizat numai de proxy-ul Cloud SQL AUTH. Avantajul de a face acest lucru este că putețispecificați acest cont fără o parolă fără a compromite securitateainstanța dvs. sau datele dvs.
pentru a crea un cont de utilizator pentru conexiuni proxy cloud SQL AUTH, specificați numele de gazdă ca'cloudsqlproxy~'
. De asemenea, puteți utiliza adresa IPWILDCARD, ceea ce ar duce la 'cloudsqlproxy~%'
. Numele complet al contului de utilizator ar fi:
''@'cloudsqlproxy~%'
sau
''@'cloudsqlproxy~'
pentru ajutor la crearea unui utilizator, consultați Crearea și gestionarea utilizatorilor.Pentru informații despre modul în care Cloud SQL funcționează cu conturile de utilizator,consultați Utilizatori. Pentru informații despre conturile de utilizator MySQL, vedețiasigurarea conturilor MySQL inițiale în documentația MySQL.
Cloud SQL auth parametrii proxy și steaguri
Cloud SQL auth proxy acceptă mai multe steaguri și parametri atunci când este pornit. Theseoptions determina unde și cum Cloud SQL auth proxy creează sockets se folosește pentrucomunicarea cu Cloud SQL, și modul în care se autentifică.
pentru ajutor cu opțiunile proxy Cloud SQL AUTH, consultați următoarele informații:
- opțiuni pentru autentificarea Cloud SQL auth proxy
- opțiuni pentru specificarea Cloud SQL instanțe
- exemplu Cloud SQL auth proxy invocări
- Cloud SQL auth proxy GitHub page
- Cloud SQL auth proxy ajutor, afișat cu
./cloud_sql_proxy -help
cum se utilizează FUSE cu Cloud SQL auth proxy
FUSE înseamnă”sistem de fișiere în spațiul utilizatorului”.În funcție de modul în care este invocat proxy-ul Cloud SQL AUTH, acesta poateutilizați opțional FUSE pentru a crea soclurile pe care le folosește pentru a vă conecta cu Cloud SQL.
când vă conectați la Compute Engine sau medii de dezvoltare locală, proxy-ul SQL AUTH utilizează FUSE pentru a accesa instanțele SQL Cloud după cum urmează:
-
directorul „/ cloudsql ” este montat ca un sistem de fișiere în Userspace, saufuse, de Cloud SQL auth proxy.
-
un proces (de exemplu,
mysql
) încearcă să caute un fișier numit $instanță. -
proxy-ul Cloud SQL auth interceptează cererea și returnează că
/cloudsql/$INSTANCE
este o legătură asimbolică care indică o priză Unix situată în altă parte a sistemului de fișiere. -
procesul (de exemplu,
mysql
) urmează linkul și deschide priza Unixcă duce și se conectează.
instalarea FUSE
Pentru Linux:
FUSE necesită fusermount
programul, și un modul de kernel, tofunction. Puteți verifica dacă acest program este instalat căutândfișier, /dev/fuse/
. Dacă fusermount
nu este în sistemul dvs., îl puteți instalafolosind managerul de pachete sau compilându-l din sursă.
pentru macOS:
instalați FUSE pentru macOS.
utilizarea proxy-ului Cloud SQL AUTH într-un mediu de producție
când utilizați proxy-ul Cloud SQL AUTH într-un mediu de producție, există câteva etape pe care le puteți lua pentru a vă asigura că proxy-ul Cloud SQL AUTH oferă disponibilitatea necesară pentru aplicația dvs.
asigurați-vă că proxy-ul Cloud SQL AUTH este rulat ca un serviciu persistent
dacă procesul de proxy Cloud SQL AUTH este oprit, toate conexiunile existente prin intermediul acestuia au scăzut și aplicația dvs. nu poate crea mai multe conexiuni la instanța SQL cloud cu proxy-ul Cloud SQL AUTH. Pentru a preveni acest scenariu, asigurați-vă că rulați proxy-ul Cloud SQL AUTH ca serviciu persistent, astfel încât, dacă proxy-ul Cloud SQL AUTH iese pentru orice motiv, acesta este repornit automat. Acest lucru poate fi realizat folosind aservicii precum systemd
, upstart
sau supervisor
. Pentru sistemul de operare Windows, rulați proxy-ul Cloud SQL AUTH ca serviciu Windows. În general, asigurați-vă că proxy-ul Cloud SQL AUTH areaceleași cerințe de uptime ca și procesul de aplicare.
câte copii ale proxy-ului Cloud SQL AUTH aplicația dvs. are nevoie de
nu este nevoie să creați un proces proxy pentru fiecare proces de aplicație; procesele manyapplication pot partaja un singur proces proxy Cloud SQL AUTH. Rulați un client Proxy Cloud SQL authprocess pe stație de lucru sau mașină virtuală.
dacă utilizați auto-scalare pentru mașini virtuale, asigurați-vă că Cloud SQL AUTH proxyeste inclus în configurația mașinii virtuale, astfel încât ori de câte ori o mașină newvirtual este pornit, are propriul proces proxy Cloud SQL AUTH.
depinde de dvs. să gestionați câte conexiuni necesită aplicația dvs.,fie prin limitarea, fie prin punerea în comun a conexiunilor. Proxy-ul Cloud SQL AUTH nu plasează niciunuldeficiențe privind ratele de conectare noi sau numărul de conexiuni persistente.
reducerea ieșirii Proxy Cloud SQL AUTH
dacă trebuie să reduceți dimensiunea jurnalului proxy Cloud SQL AUTH, puteți face acest lucru setând -verbose=false
când porniți proxy-ul Cloud SQL AUTH. Rețineți, totuși, că doingso reduce eficacitatea ieșirii proxy Cloud SQL AUTH în diagnosticarea problemelor de conexiune.
cum failover afectează Cloud SQL auth proxy
dacă executați Cloud SQL auth proxy pe o instanță configurată pentru disponibilitate ridicată,și are loc o failover, conexiuni prin Cloud SQL auth proxy sunt afectate în același modca conexiuni prin IP: toate conexiunile existente sunt pierdute, iar applicationmust stabili noi conexiuni. Cu toate acestea, nu este necesară nicio intervenție manuală; aplicația poate continua să utilizeze aceleași șiruri de conectare pe care le-a avut înainte.
păstrarea imaginii Docker Proxy Cloud SQL auth până la data
imaginea Docker Proxy Cloud SQL AUTH se bazează pe o versiune specifică a proxy-ului Cloud SQL AUTH.Atunci când o nouă versiune a Cloud SQL auth proxy devine disponibil, trageți newversion a imaginii Cloud SQL auth proxy Docker pentru a menține mediul până la data. Youpot vedea versiunea curentă a Cloud SQL auth proxy prin verificarea THECLOUD SQL auth proxy GitHub Comunicate de pagină.
- Aflați mai multe despre proxy-ul Cloud SQL AUTH.