GoogleCloudPlatform / cloudsql-proxy

CIOdkaz

Cloud SQL Auth proxy je binární, který poskytuje IAM-basedauthorization a šifrování při připojení k Cloud instance SQL.

další informace o připojení k instanci Cloud SQL naleznete na stránce Connecting Overview nebo na stránce about the proxy.

Poznámka: Proxy nemůže poskytnout síťovou cestu k instanci Cloud SQL, pokud již není přítomen (např. proxy nemůže přistupovat k VPC, pokud k němu již nemá přístup).

Instalace

Pro 64-bit Linux, spusťte:

wget https://storage.googleapis.com/cloudsql-proxy/v1.19.2/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxychmod +x cloud_sql_proxy

verze pro další operační systémy a architektury a lze nalézt na releasespage.

alternativní distribuce viz níže v části třetí strana.

Kontejner Obrázky

Tam jsou kontejnerové verze proxy k dispozici od followingGoogle Cloud Kontejner Registru repozitářů:

  • gcr.io/cloudsql-docker/gce-proxy
  • us.gcr.io/cloudsql-docker/gce-proxy
  • eu.gcr.io/cloudsql-docker/gce-proxy
  • asia.gcr.io/cloudsql-docker/gce-proxy

Každý obraz je označen s tím spojené proxy verze. Následující kategorie arecurrently podporované:

  • $VERSION – výchozí obrázek (doporučeno)
  • $VERSION-alpine – používá alpine:3jako základní obraz (podporován pouze z v1.17 až)
  • $VERSION-buster – používá debian:busterjako základní obraz (podporován pouze z v1.17 až)

doporučujeme používat nejnovější verzi proxy a aktualizaci versionregularly. Doporučujeme však také připnout na konkrétní značku a vyhnout se poslední značce. Poznámka: označená verze je pouze verze serveru proxy. Změny v baseimages může přerušit konkrétní nastavení, a to i na non-hlavní přírůstky verze. Jako takový,je to nejlepší praxe testovat změny před nasazením, a používat automatedrollbacks vrátit potenciální selhání.

instalace ze zdroje

Chcete-li nainstalovat ze zdroje, ujistěte se, že máte nainstalovanou nejnovější verzi GO.

pak jednoduše spusťte:

go get github.com/GoogleCloudPlatform/cloudsql-proxy/cmd/cloud_sql_proxy

cloud_sql_proxy se umístí do $GOPATH/bin po dokončení go get.

použití

všechny následující vyvolání předpokládají, že v prostředí jsou přítomna platná pověření. Následující příklady odkazují na INSTANCE_CONNECTION_NAME, který má tvar: myproject:myregion:myinstance. Chcete-li najítINSTANCE_CONNECTION_NAME, spusťte gcloud sql instances describe <INSTANCE_NAME>kde INSTANCE_NAME je název instance databáze.

TCP socket příklad

# Starts the proxy listening on 127.0.0.1:5432cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:5432
# Starts the proxy listening on on port 5432 on *all* interfacescloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:0.0.0.0:5432

Unix socket příklad

# The proxy will mount a Unix domain socket at /cloudsql/<INSTANCE_CONNECTION_NAME># Note: The directory specified by `-dir` must exist.cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME>

Privátní IP příklad

cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:5432 -ip_address_types=PRIVATE

aby bylo možné připojit pomocí Privátní IP, musíte mít přístup přes yourproject VPC. Pro více informací, viz soukromé požadavky na IP.

pověření

Cloud SQL proxy používá účet Cloud IAM k autorizaci připojení proti instanci aCloud SQL. Proxy zdroje pověření pro tyto účty v následujícím pořadí:

  1. -credential_file vlajky
  2. -token vlajky
  3. účet služby klíč na cestu uloženou vGOOGLE_APPLICATION_CREDENTIALS proměnné prostředí.
  4. gcloud pověření uživatele (nastavení z gcloud auth login)
  5. Použití Výchozí Pověření

Poznámka: každý účet připojení k Cloud SQL databáze bude potřebovat jeden z následujících IAM role:

  • Cloud SQL Klienta (preferované)
  • Cloud SQL Editor
  • Cloud SQL Admin

Nebo jeden může ručně přiřadit následující IAM oprávnění:

  • cloudsql.instances.connect
  • cloudsql.instances.get

Viz Role a Oprávnění v Cloudu SQL pro podrobnosti.

když se proxy ověřuje pod výchozím serviceaccount Compute Engine VM, VM musí mít alespoň rozsah API sqlservice.admin ( tj. Výchozí účet služby musí také mítnejméně oprávnění writer nebo editor pro všechny projekty cílových instancí SQL.

CLI Vlajky

Cloud SQL Auth proxy trvá několik argumentů, konfigurovat, jaké případy se connectto a chování připojení. Pro úplný seznam příznaků podporovaných proxy použijte cloud_sql_proxy -help.

Ověřování Vlajky

-credential_file

Určuje cestu k JSON účet služby klíč proxyuses k autorizaci nebo autentizaci připojení.

-token

když je nastaven, proxy používá tento Token na doručitele pro autorizaci.

-enable_iam_login

umožňuje serveru proxy používat ověřování databáze Cloud SQL iam. To způsobí, že proxy použije pověření účtu IAM pro ověření uživatele databáze. Fordetails, viz Přehled Cloud SQL IAM databáze ověřování

Připojení Vlajky

-instances="project1:region:instance1,project3:region:instance1"

čárkami oddělený seznam instancí otevřít uvnitř -dir. Podporuje také vystavení TCP portu a přejmenování výchozích unixových doménových soketů; viz příkladyníže. Stejný seznam může být poskytnuta prostřednictvím instance proměnné prostředí, v případěkdyž jsou k dispozici oba-proxy bude používat příkazový řádek příznak.

Příklad

Pomocí TCP soketů:

./cloud_sql_proxy -instances=my-project:us-central1:sql-inst=tcp:3306 &mysql -u root -h 127.0.0.1

Pomocí Unix sockets:

./cloud_sql_proxy -dir=/cloudsql -instances=my-project:us-central1:sql-inst &mysql -u root -S /cloudsql/my-project:us-central1:sql-inst

zadat vlastní Unix socket jméno:

./cloud_sql_proxy -dir=/cloudsql \ -instances=my-project:us-central1:sql-inst=unix:custom_socket_name &mysql -u root -S /cloudsql/custom_socket_name

určit vlastní umístění pro Unix socket (přepíše -dir):

./cloud_sql_proxy -dir=/cloudsql \ -instances=my-project:us-central1:sql-inst=unix:/my/custom/sql-socket &mysql -u root -S /my/custom/sql-socket

-fuse

Vyžaduje přístup k /dev/fuse stejně jako fusermount binární. Volitelný příznak-fuse_tmp může určit, kam umístit dočasné soubory. Directoryindicated by -dir je namontován.

příklad

pomocí -fuse nemusíte předem zadávat názvy instancí:

./cloud_sql_proxy -dir=/cloudsql -fuse &mysql -u root -S /cloudsql/my-project:us-central1:sql-inst

-instances_metadata=metadata_key

použitelné pouze na GCE. Klíč metadat GCE bude zobrazen pro seznam instancí, které se mají otevřít v -dir. Klíč metadat je relativníod computeMetadata/v1/. Formát hodnoty je stejný jako příznak ‘instances’. Používá se strategie závěsného hlasování, což znamená, že změny hodnoty themetadata se projeví v -dir, i když je proxy spuštěn.Když instance je odstraněna ze seznamu odpovídající zásuvky budou odstraněny z -dir stejně (pokud to bylo také uvedeno v -instances), butany existující připojení k této instanci, NEBUDE ukončen.

Příklad

./cloud_sql_proxy -dir=/cloudsql \ -instances_metadata instance/attributes/<custom-metadata-key> &mysql -u root -S /cloudsql/my-project:us-central1:sql-inst

Poznámka: -instances a -instances_metadata mohou být použity ve stejnou dobu butare není kompatibilní s -fuse vlajky.

-max_connections

pokud je k dispozici, maximální počet připojení k vytvoření před odmítnutím newconnections. Výchozí hodnota je 0 (bez omezení).

další příznaky

-ip_address_types=PUBLIC,PRIVATE

čárkami oddělený seznam preferovaných typů IP pro připojení k instanci. Forexample, nastavení na PRIVATE donutí proxy připojit se k instancímpomocí přidružené soukromé IP adresy instance. Výchozí hodnota PUBLIC,PRIVATE

-term_timeout=30s

jak dlouho čekat na uzavření připojení před vypnutím serveru proxy.Výchozí hodnota je 0.

-skip_failed_instance_config

nastavení tohoto příznaku zabrání ukončení serveru proxy, pokud dojde k chybámběhem konfigurace instance. Vezměte prosím na vědomí, že to znamená, že některé instance mohou být správně nastaveny, zatímco jiné mohou fungovat, pokud se proxy restartuje.

-log_debug_stdout=true

Jedná se o protokolování výstupu bez chyby na standardní místo standardní chyby. Pokud například nechcete, aby se zprávy související s připojením přihlašovaly jako chyby, nastavte tento příznak na hodnotu true. Výchozí hodnota je false.

-structured_logs

zapíše všechny protokolování výstup jako JSON s následujícími klávesami: level, ts, caller, msg. Například, spouštěcí zpráva vypadá:

{"level":"info","ts":1616014011.8132386,"caller":"cloud_sql_proxy/cloud_sql_proxy.go:510","msg":"Usinggcloud's active project: "}

Běží jako Kubernetes Sidecar

Viz příklad zde, stejně jako Připojení z GoogleKubernetes Motoru.

Referenční Dokumentace

  • Cloud SQL
  • Cloud SQL Auth proxy Dokumentace
  • Cloud SQL Auth proxy pomůcky pro začátečníky
  • Cloud SQL Ukázky Kódu
  • Cloud SQL Auth proxy Balíček Dokumentace

Přispívající

Příspěvky jsou vítány. Prosím, podívejte se na přispívající dokument pro podrobnosti.

Upozorňujeme, že tento projekt je vydán s kódem přispěvatele Conduct.By účastí na tomto projektu souhlasíte s dodržováním jeho podmínek. Další informace naleznete v Kodexu chování uživatele.

třetí strana

varování: tyto distribuce nejsou oficiálně podporovány společností Google.

Homebrew

k dispozici je Homebrew vzorec pro Cloud SQL Auth proxy zde.

Kubernetes Cluster Service pomocí kormidla

postupujte podle těchto pokynů.

Tento graf vytváří Nasazení a Služby, ale doporučujeme nasazení theproxy jako sidecar kontejneru v lusky.

. Net Proxy Wrapper (nuget Package)

nainstalujte přes Nuget, postupujte podle těchto instrukcí.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.