ta strona zawiera podstawowe wprowadzenie do Cloud SQL Auth proxy i opisuje opcje Proxy.
aby uzyskać instrukcje krok po kroku dotyczące korzystania z serwera Proxy Cloud SQL Auth, kliknij łącze dla swojego środowiska:
- Quickstart do korzystania z Cloud SQL Auth proxy
- jak połączyć się za pomocą Cloud SQL Auth proxy
- jak połączyć się za pomocą Cloud SQL AUTH proxy z GKE
nie musisz używać Cloud SQL Auth proxy ani konfigurować SSL toconnect do Cloud SQL ze standardu App Engine lub połączyć się z Cloud SQL z elastyczne środowisko app engine.
- Wypróbuj sam
- co zapewnia Cloud SQL Auth proxy
- jak działa Cloud SQL Auth proxy
- wymagania dotyczące korzystania z Cloud SQL Auth proxy
- Opcje uruchamiania usługi Cloud SQL Auth proxy
- Korzystanie z konta usługi do uwierzytelniania
- wymagane uprawnienia dla kont usług
- opcje określania instancji Cloud SQL
- aktualizowanie serwera Proxy Cloud SQL Auth
- użycie API
- informacje o tworzeniu specjalnego konta użytkownika dla Cloud SQL Auth proxy
- parametry i flagi Cloud SQL Auth proxy
- jak FUSE jest używany z Cloud SQL Auth proxy
- instalacja FUSE
- Korzystanie z proxy Cloud SQL Auth w środowisku produkcyjnym
- upewnij się, że Cloud SQL Auth proxy jest uruchamiany jako usługa trwała
- ile kopii Cloud SQL Auth proxy potrzebuje Twoja aplikacja
- redukcja danych wyjściowych Cloud SQL AUTH proxy
- jak przełączanie awaryjne wpływa na serwer Proxy Cloud SQL Auth
- aktualizowanie obrazu dokowania Cloud SQL Auth proxy
Wypróbuj sam
jeśli jesteś nowy w Google Cloud, Utwórz konto, aby ocenić, jak działa Cloud SQL w rzeczywistych scenariuszach. Nowi klienci otrzymują również 300 USD w bezpłatnych kredytach na uruchamianie, Testowanie i wdrażanie obciążeń.
Wypróbuj Cloud SQL free
co zapewnia Cloud SQL Auth proxy
Cloud SQL Auth Proxy zapewnia bezpieczny dostęp do Twoich instancji bez potrzeby posiadania autoryzowanych sieci lub konfigurowania protokołu SSL.
dostęp do instancji Cloud SQL za pomocą Cloud SQL Auth proxy oferuje następujące korzyści:
- bezpieczne połączenia: Cloud SQL Auth proxy automatycznie szyfruje ruch do iz bazy danych przy użyciu TLS 1.2 za pomocą 128-bitowego szyfru AES; Certyfikaty SSL służą do weryfikacji tożsamości klientów i serwerów.
- łatwiejsze zarządzanie połączeniami: Cloud SQL AUTH Proxy obsługuje uwierzytelnianie withCloud SQL, eliminując potrzebę podawania statycznych adresów IP.
Serwer Proxy Cloud SQL Auth nie zapewnia nowej ścieżki łączności; opiera się na istniejącej łączności IPconnectivity. Aby połączyć się z instancją Cloud SQL przy użyciu prywatnego adresu IP, Cloud SQL Auth proxy musi znajdować się na zasobie z dostępem do tej samej sieci VPC co instancja.
jak działa Cloud SQL Auth proxy
Cloud SQL Auth proxy działa poprzez posiadanie lokalnego klienta działającego w środowisku lokalnym. Aplikacja komunikuje się z serwerem proxy Cloud SQL AUTH ze standardowym protokołem bazodanowym używanym przez twoją bazę danych. Serwer Proxy Cloud SQL AUTH używa bezpiecznego tunelu do komunikacji z towarzyszącym mu procesem uruchomionym na serwerze.
chociaż proxy może nasłuchiwać na dowolnym porcie, tworzy tylko połączenia wychodzące do Twojej instancji Cloud SQL na porcie 3307. Jeśli masz firewallpolicy wychodzącej, upewnij się, że pozwala na połączenia do portu 3307 w chmurze SQLINSTANCE IP.
poniższy diagram pokazuje, w jaki sposób Cloud SQL Auth proxy łączy się z Cloud SQL:
wymagania dotyczące korzystania z Cloud SQL Auth proxy
aby korzystać z Cloud SQL Auth proxy, musisz spełnić następujące wymagania:
- Cloud SQL Admin API musi być włączone.
- musisz podać Cloud SQL AUTH proxy z poświadczeniami uwierzytelniania cloudgoogle.
- musisz podać Cloud SQL Auth proxy z prawidłowym kontem użytkownika bazy danych i hasłem.
-
instancja musi mieć publiczny adres IPv4 lub być skonfigurowana do używania prywatnego adresu IP.
publiczny adres IP nie musi być dostępny dla żadnego adresu zewnętrznego(nie musi być dodawany jako autoryzowany adres sieciowy).
Opcje uruchamiania usługi Cloud SQL Auth proxy
po uruchomieniu usługi Cloud SQL Auth proxy należy podać następujące informacje:
- jakie instancje Cloud SQL nawiązać połączenia z
- gdzie będzie nasłuchiwać danych pochodzących z Twojej aplikacji, które zostaną wysłane do Cloud SQL
- gdzie znajdzie poświadczenia, których użyje do uwierzytelnienia Twojej aplikacji do Cloud SQL
- , jeśli jest to wymagane, jakiego typu adresu IP użyć.
opcje uruchamiania Cloud SQL Auth proxy, które podasz, określają, czy będzie nasłuchiwać na TCPport czy na gnieździe Unix. Jeśli nasłuchuje na gnieździe Uniksa, tworzy go w wybranej przez Ciebie lokalizacji; zwykle jest to katalog /cloudsql/.Dla TCP, Cloud SQL Auth proxy nasłuchuje domyślnie na localhost
.
uruchom plik wykonywalny cloud_sql_proxy
z argumentem --help
, aby wyświetlić pełną listę opcji uruchamiania.
możesz zainstalować Cloud SQL Auth proxy w dowolnym miejscu w swoim środowisku lokalnym. Lokalizacja plików binarnych Cloud SQL Auth proxy nie ma wpływu na to, gdzie nasłuchuje danych z Twojej aplikacji.
Korzystanie z konta usługi do uwierzytelniania
Serwer Proxy Cloud SQL AUTH wymaga uwierzytelnienia. Zaletą korzystania z konta serwisowego w tym celu jest to, że można utworzyć plik poświadczeń specjalnie dla proxy auth Cloud SQL i jest on wyraźnie i trwale połączony z proxy Auth Cloud SQL, o ile jest torunning. Z tego powodu korzystanie z konta usługi jest zalecaną metodą dla sytuacji, w których productioninstances nie działa na instancji silnika obliczeniowego.
plik poświadczeń może zostać zduplikowany na obrazie systemu, jeśli chcesz wywołać Cloud SQL Auth proxy z wielu maszyn.
aby użyć tej metody, musisz utworzyć plik poświadczeń i zarządzać nim. Tylko użytkownicy posiadający uprawnienia resourcemanager.projects.setIamPolicy
(np. właściciele projektów) mogą utworzyć konto usługi. Jeśli użytkownik yourGoogle Cloud nie ma tego uprawnienia, musisz mieć kogoś, kto utworzy dla ciebie konto usługi lub użyje innej metody uwierzytelnienia serwera Proxy Cloud SQL AUTH.
aby uzyskać pomoc dotyczącą tworzenia pliku poświadczeń, zobacz Tworzenie konta usługi.
wymagane uprawnienia dla kont usług
gdy używasz konta usługi do podawania poświadczeń dla serwera Proxy Cloud SQL Auth, musisz je utworzyć z odpowiednimi uprawnieniami. Jeśli używasz ról dostępu i zarządzania (iam) o drobnej ziarnistości do zarządzania uprawnieniami SQL w usłudze yourCloud, musisz nadać Kontu serwisowemu rolę, która obejmuje uprawnienia cloudsql.instances.connect
. PredefinedCloud SQL role, które zawierają to uprawnienie są:
- Cloud SQL Client
- Cloud SQL Editor
- Cloud SQL Admin
jeśli używasz starszych ról projektu (przeglądarki, edytora, właściciela), konto serviceaccount musi mieć co najmniej rolę edytora.
opcje określania instancji Cloud SQL
istnieje kilka sposobów, aby powiedzieć serwerowi Cloud SQL Auth proxy, które instancje chcesz połączyć. Niektóre są jawne, a inne niejawne. W niektórych konfiguracjach nie musisz z wyprzedzeniem informować Cloud SQL Auth proxy, które instancje chcesz połączyć, ponieważ Cloud SQL Auth proxy łączy się na podstawie żądań połączenia.
opcje np. Specyfikacja zależą od systemu operacyjnego i środowiska:
opcja | korzyści | zastrzeżenia i wymagania | Linux/macOS (gniazda Unix) |
Java | Windows | uwagi |
---|---|---|---|---|---|---|
FUSE (system plików w przestrzeni użytkownika) |
dynamiczne tworzenie gniazd na podstawie żądań połączenia; nie wymaga ponownego uruchamiania proxy w miarę zmiany wystąpień. | bezpiecznik musi być zainstalowany. | obsługiwane | Nie | Nie | Użyj flagi -fuse . |
Automatyczne wykrywanie wystąpień | nie ma potrzeby określania wystąpień; gniazda utworzone dla wszystkich wystąpień w projekcie domyślnym. | zwiększa się wykorzystanie API Cloud SQL Auth proxy. Musi mieć zainstalowany i uwierzytelniony pakiet SDK w chmurze z domyślnym ustawieniem projektu. Aby dodać nową instancję, należy ponownie uruchomić Cloud SQL Auth proxy. | obsługiwane | Nie | nie | nie jest zalecane dla instancji produkcyjnych. |
wykrywanie projektów | nie ma potrzeby określania wystąpień; gniazda utworzone dla wszystkich wystąpień w określonych projektach. | zwiększa się wykorzystanie API Cloud SQL Auth proxy. Musi mieć zainstalowany i uwierzytelniony Pakiet Cloud SDK. Aby dodać nową instancję, należy ponownie uruchomić Cloud SQL Auth proxy. | obsługiwane | Nie | Nie | użyj parametru -projects . Niezalecane dla instancji produkcyjnych. |
wystąpienia określone w wywołaniu Cloud SQL Auth proxy | lista wystąpień znanych i statycznych. | musi ponownie uruchomić Cloud SQL Auth proxy, aby dodać nową instancję. | obsługiwane | obsługiwane z gniazdami TCP | obsługiwane z gniazdami TCP | użyj parametru -instances . W przypadku wielu instancji Użyj listy rozdzielonej przecinkami, bez spacji. Dowiedz się więcej. |
wystąpienia określone przy użyciu metadanych silnika obliczeniowego | listy wystąpień można aktualizować, zmieniając wartość metadanych bez ponownego uruchamiania serwera Proxy Cloud SQL Auth. | dostępne tylko na silniku obliczeniowym. | obsługiwane | obsługiwane z gniazdami TCP | obsługiwane z gniazdami TCP | Użyj flagi -instances_metadata . Dowiedz się więcej. |
Zobacz przykładowe wywołania i ciągi połączeń.
aktualizowanie serwera Proxy Cloud SQL Auth
Google od czasu do czasu wydaje nowe wersje serwera Proxy Cloud SQL Auth. Możesz sprawdzić aktualną wersję, sprawdzając stronę wydania GitHub SQL AUTH proxy.Przyszłe wersje proxy będą również odnotowywane na forum Cloud SQL announce.
użycie API
Serwer Proxy Cloud SQL AUTH wysyła żądania do interfejsu API administratora Cloud SQL. Te żądania liczą się od kwoty API dla Twojego projektu.
najwyższe użycie API występuje po uruchomieniu serwera Proxy Cloud SQL AUTH; jest to szczególnie prawdziwe, jeśli używasz automatycznego wykrywania instancji lub parametru -projects
. Podczas gdy proxy SQL Auth jest uruchomiony, wydaje 2 połączenia API na godzinę na podłączoną instancję.
informacje o tworzeniu specjalnego konta użytkownika dla Cloud SQL Auth proxy
gdy łączysz się z instancją za pomocą Cloud SQL Auth proxy, udostępniasz konto Użytkownika, które jest używane do logowania się do instancji. W tym celu możesz użyć dowolnego konta użytkownika bazy danych. Ponieważ jednak Cloud SQL Auth proxy zawsze łączy się z hostname, do którego nie można uzyskać dostępu z wyjątkiem Cloud SQL Auth proxy, możesz utworzyć konto Użytkownika, które może być używane tylko przez Cloud SQL Auth proxy. Zaletą tego jest to, że możesz określić To konto bez hasła bez narażania bezpieczeństwa Twojej instancji lub Twoich danych.
aby utworzyć konto użytkownika dla połączeń proxy Cloud SQL Auth, podaj nazwę hosta jako'cloudsqlproxy~'
. Możesz również użyć adresu IP, co spowoduje 'cloudsqlproxy~%'
. Pełna nazwa konta użytkownika powinna być:
''@'cloudsqlproxy~%'
lub
''@'cloudsqlproxy~'
aby uzyskać pomoc dotyczącą tworzenia użytkowników, zobacz Tworzenie użytkowników i zarządzanie nimi.Aby uzyskać informacje o tym,jak Cloud SQL działa z kontami użytkowników, zobacz użytkownicy. Aby uzyskać informacje na temat kont użytkowników MySQL, zobacz Zabezpieczanie początkowych kont MySQL w dokumentacji theMySQL.
parametry i flagi Cloud SQL Auth proxy
podczas uruchamiania Cloud SQL Auth proxy akceptuje kilka flag i parametrów. Teopcje określają, gdzie i w jaki sposób Cloud SQL Auth proxy tworzy gniazda, których używa do komunikacji z Cloud SQL, oraz jak się uwierzytelnia.
aby uzyskać pomoc dotyczącą opcji Cloud SQL Auth proxy, zobacz następujące informacje:
- opcje uwierzytelniania Cloud SQL Auth proxy
- opcje określania instancji Cloud SQL
- przykładowe wywołania Cloud SQL Auth proxy
- Cloud SQL Auth proxy strona GitHub
- pomoc Cloud SQL Auth proxy, wyświetlana za pomocą
./cloud_sql_proxy -help
jak FUSE jest używany z Cloud SQL Auth proxy
Fuse oznacza”system plików w przestrzeni użytkownika”.W zależności od tego, w jaki sposób wywoływany jest Cloud SQL AUTH proxy, może on opcjonalnie użyć FUSE do utworzenia gniazd, których używa do łączenia się z Cloud SQL.
podczas łączenia z silnika obliczeniowego lub lokalnych środowisk programistycznych proxy auth SQL cloud używa FUSE, aby uzyskać dostęp do instancji SQL w chmurze w następujący sposób:
-
katalog „/ cloudsql ” jest montowany jako system plików w przestrzeni użytkownika, orFUSE, przez Cloud SQL Auth proxy.
-
proces (na przykład
mysql
) próbuje wyszukać plik o nazwie $INSTANCE. -
Cloud SQL Auth proxy przechwytuje żądanie i zwraca, że
/cloudsql/$INSTANCE
jest symbolicznym łączem wskazującym na gniazdo Unixowe znajdujące się w innym miejscu systemu plików. -
proces (na przykład
mysql
) podąża za łączem i otwiera Gniazdo Uniksa, do którego prowadzi i łączy się.
instalacja FUSE
dla Linuksa:
FUSE wymaga programu fusermount
i modułu jądra, tofunction. Możesz sprawdzić, czy ten program jest zainstalowany, szukając pliku /dev/fuse/
. Jeśli fusermount
nie ma w Twoim systemie, możesz go zainstalować używając menedżera pakietów lub kompilując go ze źródła.
dla macOS:
zainstaluj bezpiecznik dla macOS.
Korzystanie z proxy Cloud SQL Auth w środowisku produkcyjnym
podczas korzystania z proxy Cloud SQL AUTH w środowisku produkcyjnym można podjąć pewne kroki, aby upewnić się, że Proxy Cloud SQL Auth zapewnia wymaganą dostępność dla danej aplikacji.
upewnij się, że Cloud SQL Auth proxy jest uruchamiany jako usługa trwała
jeśli proces Cloud SQL Auth proxy zostanie zatrzymany, wszystkie istniejące połączenia za jego pośrednictwem zostaną usunięte, a aplikacja nie może utworzyć więcej połączeń z instancją SQL Cloud za pomocą Cloud SQL Auth proxy. Aby zapobiec temu scenariuszowi, upewnij się, że Cloud SQL Auth proxy jest usługą trwałą, dzięki czemu jeśli Cloud SQL Auth proxy zakończy działanie dla anyreason, zostanie automatycznie uruchomiony ponownie. Można to osiągnąć za pomocą usługi, takiej jak systemd
, upstart
lub supervisor
. W systemie operacyjnym Windows uruchom Cloud SQL Auth proxy jako usługę Windows. Ogólnie rzecz biorąc, upewnij się, że Cloud SQL Auth proxy ma takie same wymagania dotyczące czasu pracy, jak proces aplikacji.
ile kopii Cloud SQL Auth proxy potrzebuje Twoja aplikacja
nie ma potrzeby tworzenia procesu proxy dla każdego procesu aplikacji; wiele procesów aplikacji może współdzielić jeden proces Proxy Cloud SQL AUTH. Uruchom jeden proces obsługi klienta Cloud SQL Auth proxy na stację roboczą lub maszynę wirtualną.
jeśli używasz automatycznego skalowania dla maszyn wirtualnych, upewnij się, że proxy Auth Cloud SQL jest zawarte w konfiguracji maszyny wirtualnej, tak aby przy każdym uruchomieniu nowej maszyny wirtualnej miała swój własny proces proxy Auth Cloud SQL.
to od Ciebie zależy,ile połączeń wymaga Twoja aplikacja, czy to poprzez ograniczanie, czy łączenie połączeń. Cloud SQL Auth proxy nie nakłada żadnych ograniczeń na nowe stawki połączeń ani liczbę stałych połączeń.
redukcja danych wyjściowych Cloud SQL AUTH proxy
jeśli chcesz zmniejszyć rozmiar dziennika Cloud SQL Auth proxy, możesz to zrobić, ustawiając-verbose=false
po uruchomieniu serwera Proxy Cloud SQL Auth. Należy jednak pamiętać, że doingso zmniejsza skuteczność wyjścia Cloud SQL Auth proxy w diagnozowaniu połączeń.
jak przełączanie awaryjne wpływa na serwer Proxy Cloud SQL Auth
jeśli korzystasz z serwera Proxy Cloud SQL Auth na instancji skonfigurowanej pod kątem wysokiej dostępności i następuje przełączanie awaryjne, połączenia za pośrednictwem serwera Proxy Cloud SQL Auth są obsługiwane w taki sam sposób, jak połączenia przez IP: wszystkie istniejące połączenia zostają utracone, a aplikacja musi nawiązać nowe połączenia. Jednak nie jest wymagana żadna ręczna interwencja; aplikacja może nadal używać tych samych ciągów połączeń, które były wcześniej.
aktualizowanie obrazu dokowania Cloud SQL Auth proxy
obraz dokowania Cloud SQL Auth proxy jest oparty na określonej wersji Cloud SQL Auth proxy.Gdy pojawi się nowa wersja Cloud SQL Auth proxy, pociągnij nową wersję obrazu Docker Cloud SQL Auth proxy, aby zapewnić aktualność środowiska. Możesz zobaczyć aktualną wersję Cloud SQL Auth proxy, sprawdzając stronę wydania GitHub SQL AUTH Proxy.
- dowiedz się więcej o Cloud SQL Auth proxy.