denna sida ger en grundläggande introduktion till molnet SQL Auth proxy, och beskriver theproxy alternativ.
för steg-för-steg-instruktioner om hur du använder Cloud SQL Auth proxy, följ länkenför din miljö:
- Snabbstart för att använda molnet SQL Auth proxy
- hur man ansluter med molnet SQL Auth proxy
- hur man ansluter med molnet SQL Auth proxy från GKE
du behöver inte använda molnet SQL Auth proxy eller konfigurera SSL toconnect till molnet SQL från App Engine standardeller ansluta till molnet SQL från appen motor flexibel miljö.
- prova själv
- vad molnet SQL Auth proxy ger
- hur molnet SQL Auth proxy fungerar
- krav för att använda molnet SQL Auth proxy
- Cloud SQL Auth proxy startalternativ
- använda ett servicekonto för autentisering
- nödvändiga behörigheter för servicekonton
- alternativ för att ange Cloud SQL-instanser
- att hålla molnet SQL Auth proxy up-to-date
- API-användning
- om att skapa ett speciellt användarkonto för molnet SQL Auth proxy
- Cloud SQL Auth proxy parametrar och flaggor
- hur säkring används med Cloud SQL Auth proxy
- installera säkring
- använda Cloud SQL Auth-proxy i en produktionsmiljö
- se till att Cloud SQL Auth proxy körs som en beständig tjänst
- hur många kopior av Cloud SQL Auth proxy din ansökan behöver
- minska Cloud SQL Auth proxy output
- hur failover påverkar molnet SQL Auth proxy
- att hålla molnet SQL Auth proxy Docker bilden uppdaterad
prova själv
om du är ny på Google Cloud, skapa ett konto för att utvärdera hur Cloud SQL presterar i verkliga scenarier. Nya kunder får också $300 i Gratis Krediter för att köra, testa och distribuera arbetsbelastningar.
prova Cloud SQL free
vad molnet SQL Auth proxy ger
molnet SQL Auth proxy ger säker åtkomst till dina instanser utanbehovet av auktoriserade nätverkeller för att konfigurera SSL.
åtkomst till din Cloud SQL-instans med Cloud SQL Auth-proxy erbjuder följande fördelar:
- säkra anslutningar: molnet SQL Auth proxy krypterar automatiskt trafik till och fromthe databas med TLS 1.2 med en 128-bitars AES chiffer; SSL-certifikatanvänds för att verifiera klient-och serveridentiteter.
- enklare anslutningshantering: molnet SQL Auth proxy hanterar autentisering withCloud SQL, ta bort behovet av att ge statiska IP-adresser.
Cloud SQL Auth-proxyn tillhandahåller inte en ny anslutningsväg; den förlitar sig på befintlig IP-anslutning. För att ansluta till en Cloud SQL-instans medprivate IP måste Cloud SQL Auth-proxy vara på en resurs med åtkomst till samma VPC-nätverk som instansen.
hur molnet SQL Auth proxy fungerar
molnet SQL Auth proxy fungerar genom att ha en lokal klient runningi den lokala miljön. Din ansökan kommunicerar med molnet SQL Auth proxywith standard databasprotokoll som används av din databas. Cloud SQL Auth proxy använderen säker tunnel för att kommunicera med sin följeslagare som körs på servern.
medan proxyen kan lyssna på vilken port som helst, skapar den bara utgående anslutningar tilldin Cloud SQL-instans på port 3307. Om du har en utgående brandväggspolicy, se till att den tillåter anslutningar till port 3307 på din Cloud SQLinstance IP.
följande diagram visar hur Cloud SQL Auth proxy ansluter till Cloud SQL:
krav för att använda molnet SQL Auth proxy
för att använda molnet SQL Auth proxy, måste du uppfylla följande krav:
- Cloud SQL Admin API måste vara aktiverat.
- du måste tillhandahålla Cloud SQL Auth-proxy withGoogle Cloud-autentiseringsuppgifter.
- du måste tillhandahålla Cloud SQL Auth-proxy med ett giltigt databasanvändarkonto och lösenord.
-
instansen måste antingen ha en offentlig IPv4-adress eller konfigureras för att använda privat IP.
den offentliga IP-adressen behöver inte vara tillgänglig för någon extern adress(den behöver inte läggas till som en auktoriserad nätverksadress).
Cloud SQL Auth proxy startalternativ
när du startar Cloud SQL Auth proxy, ger du den följande information:
- vilka moln SQL-instanser för att upprätta anslutningar till
- där det kommer att lyssna på data som kommer från din applikation som ska skickas till Cloud SQL
- där den hittar de referenser som den kommer att använda för att autentisera dinapplikation till Cloud SQL
- om det behövs, vilken IP-adresstyp som ska användas.
moln SQL Auth proxy startalternativ du anger avgöra om det kommer att lyssna på en TCPport eller på en Unix-uttag. Om det lyssnar på ett Unix-uttag skapar detsocket på den plats du väljer; vanligtvis /cloudsql/ katalogen.För TCP lyssnar Cloud SQL Auth proxy på localhost
som standard.
kör cloud_sql_proxy
körbar med argumentet --help
toview den fullständiga listan över startalternativ.
du kan installera Cloud SQL Auth proxy var som helst i din lokala miljö. Platsen för Cloud SQL Auth proxy-binärer påverkar inte var den lyssnar på data från din ansökan.
använda ett servicekonto för autentisering
Cloud SQL Auth proxy kräver autentisering. Fördelen med att använda ett servicekonto förDetta syfte är att du kan skapa en referensfil specifikt förcloud SQL Auth proxy, och den är uttryckligen och permanent kopplad till Cloud SQL Auth proxy så länge den körs. Av detta skäl är användning av ett servicekonto den rekommenderade metoden för productioninstances som inte körs på en Compute Engine-instans.
referensfilen kan dupliceras i en systembild om du behöver invokethe Cloud SQL Auth proxy från flera maskiner.
för att använda den här metoden måste du skapa och hantera referensfilen. Endast användare med behörigheten resourcemanager.projects.setIamPolicy
(t.ex. projektägare) kan skapa tjänstekontot. Om yourGoogle Cloud användaren inte har denna behörighet, du måste ha someoneelse skapa tjänsten konto för dig, eller använda en annan metod toautenticate molnet SQL Auth proxy.
hjälp med att skapa en referensfil finns i skapa ett servicekonto.
nödvändiga behörigheter för servicekonton
när du använder ett servicekonto för att tillhandahålla autentiseringsuppgifterna för Cloud SQL Auth-proxyn måste du skapa den med tillräckliga behörigheter. Om du använder rollerna finer-grainedIdentity Access and Management (iam) för att hantera yourCloud SQL-behörigheter måste du ge servicekontot en roll som innehåller behörigheten cloudsql.instances.connect
. De fördefinierade clouds SQL-roller som innehåller denna behörighet är:
- Cloud SQL Client
- Cloud SQL Editor
- Cloud SQL Admin
om du använder de äldre projektrollerna (Viewer, Editor, Owner) måste serviceaccount ha åtminstone Redigeringsrollen.
alternativ för att ange Cloud SQL-instanser
det finns flera sätt att berätta för Cloud SQL Auth-proxy vilka instanser du villansluta till. Vissa är explicita och andra är implicita. I vissa konfigurationer behöver du inte berätta för molnet SQL Auth proxy i förväg vilka instanser du vill anslutatill, eftersom molnet SQL Auth proxy ansluter baserat på anslutningsförfrågningar.
dina alternativ till exempel specifikation beror på ditt operativsystem andenvironment:
alternativ | fördelar | varningar och krav | Linux/macOS (Unix-uttag) |
Java | Windows | anteckningar |
---|---|---|---|---|---|---|
säkring (filsystem i användarutrymme) |
dynamiskt uttag skapas baserat på anslutningsförfrågningar; ingen proxy startas om när instanser ändras. | säkring måste installeras. | stöds | Nej | Nej | använd -fuse flagga. |
Automatisk instans upptäckt | inget behov av att ange instanser; sockets skapas för alla instanser i standardprojekt. | Cloud SQL Auth proxy API-användning ökar. Måste ha Cloud SDK installerat och autentiserat, med en standardprojektuppsättning. Måste starta om Cloud SQL Auth proxy för att lägga till ny instans. | stöds | Nej | Nej | rekommenderas inte för produktionsinstanser. |
Project discovery | inget behov av att ange instanser; sockets skapas för alla instanser i angivna projekt. | Cloud SQL Auth proxy API-användning ökar. Måste ha Cloud SDK installerat och autentiserat. Måste starta om Cloud SQL Auth proxy för att lägga till ny instans. | stöds | Nej | Nej | använd -projects parameter. Rekommenderas inte för produktionsinstanser. |
instanser som anges på Cloud SQL Auth proxy anrop | instans lista känd och statisk. | måste starta om Cloud SQL Auth proxy för att lägga till ny instans. | stöds | stöds med TCP sockets | stöds med TCP sockets | använd -instances parameter. För flera instanser, använd en kommaseparerad lista, utan mellanslag. Läs mer. |
instanser som anges med Compute Engine metadata | Instanslista kan uppdateras genom att ändra metadatavärdet utan att starta om molnet SQL Auth proxy. | endast tillgänglig på Compute Engine. | stöds | stöds med TCP-uttag | stöds med TCP-uttag | använd -instances_metadata flagga. Läs mer. |
se exempel på anrop och anslutningssträngar.
att hålla molnet SQL Auth proxy up-to-date
Google släpper ibland nya versioner av molnet SQL Auth proxy. Du kan se vad thecurrent version är genom att kontrollera theCloud SQL Auth proxy GitHub släpper sida.Framtida proxy-utgåvor kommer också att noteras iGoogle Groups Cloud SQL announce forum.
API-användning
molnet SQL Auth proxy frågor förfrågningar till molnet SQL Admin API. Dessa begäranden räknas mot API-kvoten för ditt projekt.
den högsta API-användningen sker när du startar Cloud SQL Auth proxy; detta är särskilt santom du använder automatisk instans upptäckt eller parametern -projects
. Medan theCloud SQL Auth proxy körs, utfärdar den 2 API-samtal per timme per ansluten instans.
om att skapa ett speciellt användarkonto för molnet SQL Auth proxy
när du ansluter till din instans med molnet SQL Auth proxy, ger du ett användarkontosom används för att logga in på instansen. Du kan använda vilket databasanvändarkonto som helstför detta ändamål. Eftersom Cloud SQL Auth proxy alltid ansluter från ett värdnamnsom inte kan nås förutom av Cloud SQL Auth proxy, kan du skapa ett användarkonto som endast kan användas av Cloud SQL Auth proxy. Fördelen med att göra detta är att du kanAnge detta konto utan lösenord utan att äventyra säkerheten för din instans eller dina data.
om du vill skapa ett användarkonto för Cloud SQL Auth-proxyanslutningar anger du värdnamnet som'cloudsqlproxy~'
. Du kan också använda IP-adressenwildcard, vilket skulle resultera i 'cloudsqlproxy~%'
. Det fullständiga användarkontonamnetskulle vara:
''@'cloudsqlproxy~%'
eller
''@'cloudsqlproxy~'
för hjälp med att skapa en användare, se Skapa och hantera användare.Information om hur Cloud SQL fungerar med användarkonton finns i användare. För information om MySQL-användarkonton, sesäkerställa de första MySQL-kontona i Themysql-dokumentationen.
Cloud SQL Auth proxy parametrar och flaggor
Cloud SQL Auth proxy accepterar flera flaggor och parametrar när den startas. Dessa alternativ bestämmer var och hur Cloud SQL Auth-proxyn skapar de uttag som den använder för att kommunicera med Cloud SQL och hur den autentiserar.
för hjälp med Cloud SQL Auth proxyalternativ, se följande information:
- alternativ för att autentisera molnet SQL Auth proxy
- alternativ för att ange moln SQL instanser
- exempel Cloud SQL Auth proxy anrop
- Cloud SQL Auth proxy GitHub sida
- molnet SQL Auth proxy hjälp, visas med
./cloud_sql_proxy -help
hur säkring används med Cloud SQL Auth proxy
säkring står för”filsystem i användarutrymme”.Beroende på hur molnet SQL Auth proxy åberopas, det kanoptionellt använda säkring för att skapauttagen som den använder för att ansluta till Cloud SQL.
när du ansluter från Compute Engine eller lokala utvecklingsmiljöer använder theCloud SQL Auth proxy FUSE för att komma åt Cloud SQL-instanser enligt följande:
-
katalogen ”/ cloudsql ” är monterad som ett filsystem i användarrymden, orFUSE, av Cloud SQL Auth proxy.
-
en process (till exempel
mysql
) försöker slå upp en fil med namnet $INSTANCE. -
Cloud SQL Auth proxy avlyssnar begäran och returnerar att
/cloudsql/$INSTANCE
är asymbolisk länk som pekar på ett Unix-uttag som finns någon annanstans på filsystemet. -
processen (till exempel
mysql
) följer länken och öppnar Unix-socketatt det leder till och ansluter.
installera säkring
för Linux:
säkring kräver programmet fusermount
och en kärnmodul, tofunction. Du kan kontrollera om det här programmet är installerat genom att leta efter thefile, /dev/fuse/
. Om fusermount
inte finns på ditt system kan du installera detmed din pakethanterare eller kompilera den från källan.
för macOS:
installera säkring för macOS.
använda Cloud SQL Auth-proxy i en produktionsmiljö
när du använder Cloud SQL Auth-proxy i en produktionsmiljö finns det några steg du kan ta för att säkerställa att Cloud SQL Auth-proxy ger den nödvändiga tillgängligheten för din applikation.
se till att Cloud SQL Auth proxy körs som en beständig tjänst
om Cloud SQL Auth proxy processen stoppas, alla befintliga anslutningar genom det aredropped, och ditt program kan inte skapa några fler anslutningar tillcloud SQL instans med Cloud SQL Auth proxy. För att förhindra detta scenario, se till attkör molnet SQL Auth proxy som en beständig tjänst, så att om molnet SQL Auth proxy avslutas för anyreason, startas den automatiskt om. Detta kan åstadkommas genom att använda aservice som systemd
, upstart
eller supervisor
. För Windows operatingsystem, kör Cloud SQL Auth proxy som en Windows-tjänst. I allmänhet, se till att Cloud SQL Auth proxy harsamma upptidskrav som din ansökningsprocess.
hur många kopior av Cloud SQL Auth proxy din ansökan behöver
det finns inget behov av att skapa en proxy process för varje applikationsprocess; manyapplication processer kan dela en enda Cloud SQL Auth proxy process. Kör ett moln SQL Auth proxy Client per arbetsstation eller virtuell maskin.
om du använder automatisk skalning för virtuella maskiner, se till att Cloud SQL Auth proxy ingår i din virtuella maskinkonfiguration, så att när en nyvirtuell maskin startas har den sin egen Cloud SQL Auth proxy-process.
det är upp till dig att hantera hur många anslutningar din ansökan kräver,antingen genom att begränsa eller slå samman anslutningarna. Cloud SQL Auth proxy placerar inte någonbegränsningar på nya anslutningshastigheter eller ihållande anslutningsantal.
minska Cloud SQL Auth proxy output
om du behöver minska storleken på Cloud SQL Auth proxy log kan du göra det genom att ställa in-verbose=false
när du startar Cloud SQL Auth proxy. Tänk dock på att doingso minskar effektiviteten hos Cloud SQL Auth proxy-utgången vid diagnos av anslutningsproblem.
hur failover påverkar molnet SQL Auth proxy
om du kör molnet SQL Auth proxy på en instans konfigurerad för hög tillgänglighet,och en failover inträffar, anslutningar via molnet SQL Auth proxy påverkas på samma sättsom anslutningar över IP: alla befintliga anslutningar går förlorade, och programmåste upprätta nya anslutningar. Ingen manuell åtgärd krävs dock; applikationen kan fortsätta använda samma anslutningssträngar som tidigare.
att hålla molnet SQL Auth proxy Docker bilden uppdaterad
molnet SQL Auth proxy Docker bilden är baserad på en specifik version av molnet SQL Auth proxy.När en ny version av Cloud SQL Auth proxy blir tillgänglig, dra den nyaversionen av Cloud SQL Auth proxy Docker-bilden för att hålla din miljö uppdaterad. Dukan se den aktuella versionen av molnet SQL Auth proxy genom att kontrollera Cloud SQL Auth proxy GitHub släpper sida.
- Läs mer om Cloud SQL Auth proxy.