1. Wprowadzenie
Ostatnia aktualizacja: 2020-05-04
Zastanów się nad połączeniem
Istnieje wiele rodzajów aplikacji i platform. W tym laboratorium pokażemy, jak łączyć się z Cloud SQL z dowolnego miejsca. Możliwość połączenia jest włączana przez wyraźne autoryzowanie adresów IP, które mogą się łączyć. Jest to prawdopodobnie najmniej bezpieczna opcja łączenia się z bazą danych Cloud SQL, ale też najłatwiejsza w konfiguracji i rozpoczęciu użytkowania.
Czasami jest to konieczne w środowisku produkcyjnym, ale jeśli możesz tego uniknąć, wybierz bezpieczniejszą alternatywę (np. użyj serwera proxy Cloud SQL). Ta konfiguracja najlepiej sprawdza się w przypadku programowania i testowania.
Co utworzysz
Te warsztaty są bardzo minimalistyczne. Chodzi o to, aby wyjaśnić Ci podstawy połączenia bez zbytniego zagłębiania się w samą aplikację. W idealnym świecie łączenie się z Cloud SQL jest takie samo jak łączenie się z dowolną inną instancją bazy danych SQL, więc to, co utworzysz w tym ćwiczeniu, możesz zastosować w dowolnej aplikacji produkcyjnej.
Instrukcje będą zawierać zarówno opis czynności do wykonania w konsoli Google Cloud, jak i odpowiedniki poleceń gcloud do użycia w interfejsie wiersza poleceń lub w automatyzacji.
Poszczególne kroki to:
- Utwórz instancję Cloud SQL (w tym samouczku używamy Postgres, ale podobnie działa to w przypadku MySQL lub SQL Server) i autoryzuj określone adresy IP, które mogą się z nią łączyć.
Czego potrzebujesz
- konto GCP, na którym masz uprawnienia do włączania interfejsów API i tworzenia usług;
- Klient Postgres zainstalowany w celu weryfikacji połączenia (lub klient MySQL, jeśli chcesz używać MySQL zamiast Postgres).
2. Tworzenie instancji Cloud SQL
Cloud SQL to nasza oferta zarządzanych relacyjnych baz danych. Obsługuje bazy danych MySQL, PostgreSQL i SQL Server. W tym samouczku utworzymy bazę danych Postgres, ale instrukcje są podobne w przypadku wszystkich 3 usług.
W konsoli
Otwórz stronę Cloud SQL i kliknij przycisk
.
Jak już wspomniałem, większość tego laboratorium jest ogólna dla każdego dialektu SQL, ale w tym laboratorium wybierz PostgreSQL.
- Określ identyfikator instancji
- Wybierz region w pobliżu miejsca, w którym się znajdujesz.
- Wpisz hasło domyślnego użytkownika (nazwa użytkownika będzie domyślna dla wybranej bazy danych, np.
rootw przypadku MySQL lubpostgresw przypadku PostgreSQL). - Przewiń w dół i kliknij
show configuration options. - Rozwiń sekcję
Connectivity - Sprawdź, czy pole
Public IPjest zaznaczone, a polePrivate IP– nie. - Kliknij przycisk
. - Uzyskaj adres IP, z którego się łączysz. Najłatwiej jest wyszukać w Google hasło „Jaki jest mój adres IP”. W wynikach wyszukiwania znajdziesz swój publiczny adres IP.
- Wpisz specyfikację adresu IP w polu sieci, w razie potrzeby nadaj jej nazwę i kliknij Gotowe w polu
New Network. - Przewiń w dół i kliknij Utwórz.
Uruchomienie instancji zajmuje zwykle kilka minut.
Po utworzeniu instancji kliknij ją na liście, a na stronie przeglądu w sekcji Connect to this instance skopiuj podany tam adres public IP address. Nie będzie tam widoczny, dopóki instancja nie zostanie w pełni utworzona, chociaż możesz kliknąć szczegóły, zanim zostanie w pełni utworzona.
Korzystanie z gcloud
Najpierw musisz pobrać adres IP, który chcesz autoryzować do nawiązywania połączenia z instancją Cloud SQL. Najprostszym sposobem jest otwarcie przeglądarki i wyszukanie hasła „Jaki jest mój adres IP”. W wynikach wyszukiwania pojawi się Twój publiczny adres IP. Jeśli nie możesz otworzyć przeglądarki w miejscu, w którym to robisz, możesz użyć narzędzia takiego jak dig.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
Musisz określić region instancji Cloud SQL, który jest najbliżej Ciebie. Listę regionów możesz wyświetlić, uruchamiając to polecenie:
gcloud sql tiers list
Każdy poziom jest dostępny tylko w określonych regionach. W części samouczka dotyczącej gcloud tworzymy tylko mikroinstancję, więc regiony dostępne dla tego poziomu możesz znaleźć, uruchamiając to polecenie (o ile masz zainstalowane narzędzie grep):
gcloud sql tiers list | grep db-f1-micro
Polecenie utworzenia instancji wygląda następująco (nie zapomnij zastąpić <AUTHORIZED_IP> adresem IP uzyskanym z przeglądarki lub polecenia dig, <REGION> regionem znajdującym się blisko Ciebie oraz hasłem użytkownika root „postgres”):
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
Potrwa to kilka minut.
Po zakończeniu w danych wyjściowych interfejsu CLI pojawi się lista PRIMARY_ADDRESS instancji. Skopiuj go, aby użyć go w następnym kroku.
3. Sprawdzanie połączenia i podsumowanie
Aby sprawdzić, czy instancja została prawidłowo skonfigurowana, na komputerze, którego adres IP został wpisany, możesz uruchomić w wierszu poleceń to polecenie:
psql "host=<IP skopiowany z poprzedniego kroku> port=5432 sslmode=disable user=postgres"
Następnie podaj hasło domyślnego użytkownika, które zostało skonfigurowane podczas tworzenia instancji Cloud SQL.
Gratulacje! Jeśli wszystko przebiegło pomyślnie, powinien pojawić się wiersz poleceń Postgresa, w którym możesz uruchamiać polecenia dotyczące bazy danych.
Co dalej?
Sprawdź te ćwiczenia z programowania: