over de Cloud SQL Auth proxy

MySQL | PostgreSQL / SQL Server

deze pagina geeft een basis introductie tot de Cloud SQL Auth proxy, en beschrijft de proxy opties.

voor stap-voor-stap instructies over het gebruik van de Cloud SQL Auth proxy, volg de link voor uw omgeving:

  • Quickstart voor het gebruik van de Cloud SQL Auth proxy
  • Hoe te verbinden met de Cloud SQL Auth proxy
  • Hoe te verbinden met de Cloud SQL-Auth-proxy van GKE

hoeft U niet gebruik maken van de Cloud SQL Auth proxy of SSL configureren toconnect Cloud SQL van App Engine standardor connect Cloud SQL van de App Engine flexibele omgeving.

probeer het zelf

Als u nieuw bent bij Google Cloud, maak dan een account aan om te evalueren hoe Cloud SQL presteert in real-world scenario ‘ s. Nieuwe klanten krijgen ook $ 300 aan GRATIS credits om workloads uit te voeren, te testen en te implementeren.

probeer Cloud SQL free

wat biedt de Cloud SQL Auth proxy

de Cloud SQL Auth proxy biedt veilige toegang tot uw instanties zonder de noodzaak van geautoriseerde netwerken of voor het configureren van SSL.

toegang tot uw Cloud SQL instance met behulp van de Cloud SQL Auth proxy biedt de volgende voordelen:

  • beveiligde verbindingen: De Cloud SQL Auth proxy versleutelt Automatisch verkeer van en naar de database met behulp van TLS 1.2 met een 128-bit AES cipher; SSL-certificaten worden gebruikt om client-en serveridentiteiten te verifiëren.
  • eenvoudiger Verbindingsbeheer: de Cloud SQL Auth-proxy verwerkt authenticatie metcloud SQL, waardoor het niet nodig is om statische IP-adressen op te geven.

de Cloud SQL Auth-proxy biedt geen nieuw verbindingspad; het vertrouwt op bestaande Ipconnectiviteit. Om verbinding te maken met een Cloud SQL-instantie met behulp vanprivate IP, moet de Cloud SQL Auth-proxy zich bevinden op een bron met toegang tot hetzelfde VPC-netwerk als de instantie.

Hoe werkt de Cloud SQL Auth proxy

de Cloud SQL Auth proxy werkt door een lokale client te laten draaien in de lokale omgeving. Uw applicatie communiceert met de Cloud SQL Auth Proxy met het standaard databaseprotocol dat door uw database wordt gebruikt. De Cloud SQL Auth proxy gebruikt een beveiligde tunnel om te communiceren met zijn metgezel proces dat op de server wordt uitgevoerd.

hoewel de proxy op elke poort kan luisteren, creëert het alleen uitgaande verbindingen naar uw Cloud SQL-instantie op poort 3307. Als je een outbound firewallpolicy hebt, zorg er dan voor dat het verbindingen toestaat naar poort 3307 op het IP van je Cloud SQLinstance.

het volgende diagram laat zien hoe de Cloud SQL Auth proxy verbinding maakt met Cloud SQL:

Diagram van de Cloud SQL Auth proxy verbinden van client software naar SQL instance

vereisten voor het gebruik van de Cloud SQL Auth proxy

om de Cloud SQL Auth proxy te gebruiken, moet u aan de volgende vereisten voldoen:

  • de Cloud SQL Admin API moet zijn ingeschakeld.
  • u moet de Cloud SQL Auth-proxy voorzien van Google Cloud authenticatiegegevens.
  • u moet de Cloud SQL Auth proxy voorzien van een geldig database gebruikersaccount en wachtwoord.
  • de instantie moet ofwel een openbaar IPv4-adres hebben, ofwel zijn geconfigureerd om privé-IP te gebruiken.

    het openbare IP-adres hoeft niet toegankelijk te zijn voor een extern adres(het hoeft niet te worden toegevoegd als een geautoriseerd netwerkadres).

Cloud SQL Auth proxy opstart opties

Bij het opstarten van de Cloud SQL-Auth-proxy, geeft u het met de volgende informatie:

  • Wat Cloud SQL gevallen om verbindingen tot stand naar
  • Waar het luisteren naar de gegevens van uw toepassing te worden sentto Cloud SQL
  • Waar zal het vinden van de legitimatie die het zal gebruiken om te verifiëren yourapplication Cloud SQL
  • Indien nodig, die IP-adres type te gebruiken.

de opstartopties van de Cloud SQL Auth-proxy bepalen of het zal luisteren op een tcpport of op een Unix-socket. Als het luistert op een Unix socket, maakt het de socket op de locatie die u kiest; meestal, de /cloudsql/ directory.Voor TCP luistert de Cloud SQL Auth-proxy standaard op localhost.

voer het cloud_sql_proxy uitvoerbare bestand uit met het argument --help om de volledige lijst met opstartopties te bekijken.

u kunt de Cloud SQL Auth proxy overal in uw lokale omgeving installeren. De locatie van de Cloud SQL Auth proxy binaries heeft geen invloed op waar het luistert naar gegevens van je application.

een serviceaccount gebruiken voor authenticatie

de Cloud SQL Auth-proxy vereist authenticatie. Het voordeel van het gebruik van een serviceaccount voor dit doel is dat u een credential bestand speciaal voor de cloudsql Auth proxy kunt maken, en het is expliciet en permanent gekoppeld aan de Cloud SQL Auth proxy zolang het isrunning. Om deze reden, het gebruik van een service-account is de aanbevolen methode voor de productie van stoffen die niet draaien op een computer Motor instantie.

het referentiebestand kan worden gedupliceerd in een systeemimage als u de Cloud SQL-Auth-proxy vanaf meerdere machines wilt gebruiken.

om deze methode te gebruiken, moet u het referentiebestand aanmaken en beheren. Alleen gebruikers met de resourcemanager.projects.setIamPolicy toestemming (zoals projecteigenaren) kunnen het service account aanmaken. Als uw Google Cloud-gebruiker deze toestemming niet heeft, moet u iemand het serviceaccount voor u laten maken, of een andere methode gebruiken om de Cloud SQL-Auth-proxy te authenticeren.

zie een serviceaccount maken voor meer informatie over het aanmaken van een referentiebestand.

vereiste machtigingen voor serviceaccounts

wanneer u een serviceaccount gebruikt om de referenties voor de Cloud SQL Auth-proxy op te geven, moet u deze met voldoende machtigingen aanmaken. Als u de fijnere identity Access and Management-rollen (iam) gebruikt om uwcloud SQL-rechten te beheren, moet u het serviceaccount een rol geven die de cloudsql.instances.connect – rechten bevat. De vooraf gedefinieerde Cloud SQL-rollen die deze machtiging bevatten, zijn:

  • Cloud SQL Client
  • Cloud SQL Editor
  • Cloud SQL Admin

Als u de oudere projectrollen gebruikt (Viewer, Editor, eigenaar), moet het serviceaccount ten minste de Editorrol hebben.

opties voor het opgeven van Cloud SQL instances

er zijn verschillende manieren om de Cloud SQL Auth proxy te vertellen met welke instances u verbinding wilt maken. Sommige zijn expliciet en andere impliciet. In sommige configuraties hoef je de Cloud SQL Auth proxy niet van tevoren te vertellen met welke instanties je verbinding wilt maken, omdat de Cloud SQL Auth proxy verbinding maakt op basis van verbindingsaanvragen.

uw opties bijvoorbeeld specificatie zijn afhankelijk van uw besturingssysteem en omgeving:

optie voordelen voorbehouden en vereisten Linux / macOS
(Unix sockets)
Java Windows opmerkingen
FUSE
(bestandssysteem in gebruikersruimte)
dynamische socket aanmaken op basis van verbindingsaanvragen; geen proxy opnieuw opstarten nodig als instanties veranderen. de zekering moet worden geïnstalleerd. ondersteund Nee Nee gebruik -fuse vlag.
automatische instantie detectie geen noodzaak om instanties te specificeren; sockets gemaakt voor alle instanties in standaard project. Cloud SQL Auth proxy API gebruik is verhoogd. Moet Cloud SDK geïnstalleerd en geverifieerd hebben, met een standaard project ingesteld. Moet Cloud SQL Auth-proxy opnieuw opstarten om een nieuwe instantie toe te voegen. ondersteund Nee Nee niet aanbevolen voor productie-instanties.
Project discovery het is niet nodig om instanties op te geven; sockets aangemaakt voor alle instanties in opgegeven projecten. Cloud SQL Auth proxy API gebruik is verhoogd. Moet Cloud SDK geïnstalleerd en geverifieerd hebben. Moet Cloud SQL Auth-proxy opnieuw opstarten om een nieuwe instantie toe te voegen. ondersteunde Nee gebruik -projects parameter. Niet aanbevolen voor productie-instanties.
instanties gespecificeerd op Cloud SQL Auth proxy aanroep Instantielijst bekend en statisch. moet Cloud SQL Auth-proxy herstarten om een nieuwe instantie toe te voegen. ondersteund ondersteund met TCP-sockets ondersteund met TCP-sockets gebruik -instances parameter. Gebruik voor meerdere instanties een door komma ‘ s gescheiden lijst, zonder spaties. Meer informatie.
instanties die zijn opgegeven met behulp van Rekenmachine-metadata Instance-lijst kunnen worden bijgewerkt door de metadatawaarde te wijzigen zonder de Cloud SQL-Auth-proxy opnieuw op te starten. alleen beschikbaar op Rekenmotor. ondersteund ondersteund met TCP-sockets ondersteund met TCP-sockets gebruik -instances_metadata vlag. Meer informatie.

zie voorbeeldaanroepingen en verbindingsreeksen.

de Cloud SQL Auth-proxy up-to-date houden

Google brengt af en toe nieuwe versies van de Cloud SQL Auth-proxy uit. U kunt zien wat de huidige versie is door het controleren van de Cloud SQL Auth proxy GitHub releases pagina.Toekomstige proxy releases zal ook worden opgemerkt in de Google Groepen Cloud SQL announce forum.

API gebruik

de Cloud SQL Auth proxy geeft aanvragen uit aan de Cloud SQL Admin API. Deze verzoeken tellen mee tegen de API-quota voor uw project.

het hoogste API-gebruik treedt op wanneer u de Cloud SQL Auth proxy start; dit is vooral trueif u automatische instantie detectie of de -projects parameter gebruikt. Terwijl de Cloud SQL Auth-proxy wordt uitgevoerd, geeft het 2 API-oproepen per uur per aangesloten instantie.

over het aanmaken van een speciaal gebruikersaccount voor de Cloud SQL Auth-proxy

wanneer u verbinding maakt met uw instantie met behulp van de Cloud SQL Auth-proxy, geeft u een gebruikersaccount aan dat wordt gebruikt om in te loggen bij de instantie. U kunt voor dit doel elke database – gebruikersaccount gebruiken. Omdat de Cloud SQL Auth-proxy echter altijd verbinding maakt vanaf een hostname die alleen toegankelijk is voor de Cloud SQL Auth-proxy, kunt u een gebruikersaccount aanmaken dat alleen kan worden gebruikt door de Cloud SQL Auth-proxy. Het voordeel hiervan is dat u dit account zonder wachtwoord kunt opgeven zonder de veiligheid van uw instantie of uw gegevens in gevaar te brengen.

om een gebruikersaccount aan te maken voor Cloud SQL Auth proxy verbindingen, geeft u de hostnaam op als'cloudsqlproxy~'. U kunt ook de IP addresswildcard gebruiken, wat resulteert in 'cloudsqlproxy~%'. De volledige naam van het gebruikersaccount zou moeten zijn:

''@'cloudsqlproxy~%'

of

''@'cloudsqlproxy~'

zie gebruikers maken en beheren voor meer informatie over het maken van een gebruiker.Zie gebruikers voor informatie over hoe Cloud SQL werkt met gebruikersaccounts. Zie voor informatie over MySQL gebruikersaccounts de initiële MySQL Accounts beveiligen in theMySQL documentatie.

Cloud SQL Auth proxy parameters en vlaggen

de Cloud SQL Auth proxy accepteert meerdere vlaggen en parameters wanneer deze wordt gestart. Deze opties bepalen waar en hoe de Cloud SQL Auth proxy de sockets maakt die het gebruikt voor communicatie met Cloud SQL, en hoe het authenticeert.

Voor hulp met Cloud SQL Auth proxy-opties, zie de volgende informatie:

  • Opties voor het verifiëren van de Cloud SQL Auth proxy
  • Opties voor het opgeven van Cloud SQL-exemplaren
  • Voorbeeld Cloud SQL Auth proxy aanroepen
  • Cloud SQL Auth proxy GitHub pagina
  • De Cloud SQL Auth proxy helpen, weergegeven met ./cloud_sql_proxy -help

Hoe ZEKERING wordt gebruikt in combinatie met Cloud SQL Auth proxy

ZEKERING staat voor”Bestandssysteem in User Space”.Afhankelijk van hoe de Cloud SQL Auth proxy wordt aangeroepen, kan het optioneel FUSE gebruiken om de sockets te maken die het gebruikt om verbinding te maken met Cloud SQL.

bij het verbinden vanuit computer Engine of lokale ontwikkelomgevingen, gebruikt de Cloudsql Auth-proxy FUSE om als volgt toegang te krijgen tot Cloudsql-instances:

  • de” / cloudsql ” directory wordt aangekoppeld als een bestandssysteem in Userspace, offuse, door Cloud SQL Auth proxy.

  • een proces (bijvoorbeeld mysql) probeert een bestand met de naam $INSTANCE op te zoeken.

  • de Cloud SQL Auth-proxy onderschept het verzoek en geeft terug dat /cloudsql/$INSTANCE een asymbolische link is die verwijst naar een Unix-socket elders op het bestandssysteem.

  • het proces (bijvoorbeeld mysql) volgt de link en opent de UNIX-socket waar het naartoe leidt en verbindt.

het installeren van FUSE

Voor Linux:

FUSE vereist het fusermount programma en een kernelmodule. U kunt controleren of dit programma is geïnstalleerd door te zoeken naar het bestand, /dev/fuse/. Als fusermount niet op uw systeem staat, kunt u het installeren met behulp van uw package manager of het compileren van de broncode.

voor macOS:

installeer FUSE voor macOS.

de Cloud SQL Auth-proxy gebruiken in een productieomgeving

wanneer u de Cloud SQL Auth-proxy gebruikt in een productieomgeving, zijn er enkele stappen die u kunt nemen om ervoor te zorgen dat de Cloud SQL Auth-proxy de requiredbeschikbaarheid biedt voor uw toepassing.

zorg ervoor dat de Cloud SQL Auth-proxy wordt uitgevoerd als een permanente service

als het Cloud SQL Auth-proxyproces is gestopt, alle bestaande verbindingen erdoor worden uitgeschakeld en uw toepassing geen verbindingen meer kan maken met de cloudsql-instantie met de Cloud SQL Auth-proxy. Om dit scenario te voorkomen, zorg ervoor dat torun de Cloud SQL Auth proxy als een permanente service, zodat als de Cloud SQL Auth proxy verlaat voor anyreason, het automatisch opnieuw wordt opgestart. Dit kan worden bereikt door gebruik te maken van een dienst zoals systemd, upstart, of supervisor. Voor het Windows operatingsystem, voer de Cloud SQL Auth proxy als een Windows-Service. In het algemeen, zorg ervoor dat de Cloud SQL Auth proxy heeft dezelfde uptime eisen als uw aanvraagproces.

hoeveel kopieën van de Cloud SQL Auth-proxy uw toepassing nodig heeft

het is niet nodig om een proxy-proces aan te maken voor elk toepassingsproces; veel toepassingsprocessen kunnen een enkele Cloud SQL Auth-proxy-proces delen. Voer een Cloud SQL Auth proxy clientproces per werkstation of virtuele machine.

als u auto-scaling gebruikt voor virtuele machines, moet u ervoor zorgen dat de Cloud SQL Auth Proxy is opgenomen in uw virtuele machineconfiguratie, zodat wanneer een nieuwe virtuele machine wordt gestart, deze zijn eigen Cloud SQL Auth proxy proces heeft.

het is aan u om te beheren hoeveel verbindingen uw toepassing nodig heeft,hetzij door de verbindingen te beperken of te bundelen. De Cloud SQL Auth-proxy plaatst geen beperkingen op nieuwe verbindingssnelheden of een blijvend aantal verbindingen.

Reducing Cloud SQL Auth proxy output

Als u de grootte van de Cloud SQL Auth proxy log wilt verkleinen, kunt u dit doen door-verbose=false in te stellen wanneer u de Cloud SQL Auth proxy start. Houd er echter rekening mee dat doingso vermindert de effectiviteit van de Cloud SQL Auth proxy output bij het diagnosticeren van verbindingsproblemen.

hoe failover de Cloud SQL Auth-proxy

beïnvloedt Als u de Cloud SQL Auth-proxy draait op een instantie die is geconfigureerd voor hoge beschikbaarheid,en er een failover optreedt, worden verbindingen via de Cloud SQL Auth-proxy op dezelfde manier beïnvloed als verbindingen via IP: alle bestaande verbindingen gaan verloren, en de applicationmoetnieuwe verbindingen tot stand brengen. Er is echter geen handmatige interventie vereist; de toepassing kan doorgaan met het gebruik van dezelfde verbindingsstrings als voorheen.

het Cloud SQL Auth proxy Docker-image up to date houden

het Cloud SQL Auth proxy Docker-image is gebaseerd op een specifieke versie van de Cloud SQL Auth-proxy.Wanneer een nieuwe versie van de Cloud SQL Auth proxy beschikbaar komt, trek de newversion van de Cloud SQL Auth proxy Docker image om uw omgeving up-to-date te houden. U kunt de huidige versie van de Cloud SQL Auth proxy zien door het controleren van de Cloud SQL Auth proxy GitHub releases pagina.

  • meer informatie over de Cloud SQL Auth proxy.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.