Dostęp z południa do PSC Lookera w Cloud SQL

1. Wprowadzenie

W tym ćwiczeniu wykonasz połączenie wychodzące z Cloud SQL wdrożonego za pomocą Private Service Connect jako dostawcy usługi.

Private Service Connect to funkcja sieci Google Cloud, która umożliwia konsumentom prywatny dostęp do usług zarządzanych z poziomu sieci VPC. Podobnie umożliwia producentom usług zarządzanych hostowanie tych usług we własnych, oddzielnych sieciach VPC i oferowanie prywatnego połączenia z klientami. Na przykład gdy używasz Private Service Connect do uzyskiwania dostępu do Lookera, jesteś konsumentem usługi, a Google jest producentem usługi, jak pokazano na ilustracji 1.

145ea4672c3a3b14.png

Dostęp ruchu wychodzącego, zwany też odwróconym PSC, umożliwia konsumentowi utworzenie opublikowanej usługi jako producenta, aby umożliwić Lookerowi dostęp do punktów końcowych lokalnie, w sieci VPC, do usług zarządzanych i internetu. Połączenia wychodzące można wdrażać w dowolnym regionie, niezależnie od tego, gdzie jest wdrożona usługa PSC Looker, jak pokazano na rysunku 2.

259493afd914f68b.png

Czego się nauczysz

  • Tworzenie usługi producenta instancji Cloud SQL z funkcją Private Service Connect
  • Tworzenie punktu końcowego Private Service Connect w Lookerze jako konsumenta usługi

Czego potrzebujesz

def88091b42bfe4d.png

2. Co utworzysz

Utworzysz instancję Cloud SQL PSC wdrożoną jako producent usługi powiązaną z usługą Looker PSC jako konsumentem usługi.

Dostęp do usługi producenta jest weryfikowany przez te działania:

  • Tworzenie w Lookerze punktu końcowego PSC powiązanego z przyłączem usługi producenta
  • Tworzenie połączenia z bazą danych z Cloud SQL PSC za pomocą konsoli Looker
  • Testowanie połączenia z usługą Cloud SQL PSC przez uwierzytelnianie i uzyskiwanie dostępu do predefiniowanego schematu

3. Topologia ćwiczeń z programowania

1e7035ea608d7d23.png

4. Konfiguracja i wymagania

Samodzielne konfigurowanie środowiska

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail lub Google Workspace, musisz je utworzyć.

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa dla uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu.
  • Warto wiedzieć, że istnieje jeszcze trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

Uruchom Cloud Shell

Z Google Cloud można korzystać zdalnie na laptopie, ale w tym ćwiczeniu użyjesz Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

W konsoli Google Cloud kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:

55efc1aaa7a4d3ad.png

Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno wyświetlić się coś takiego:

7ffe5cbb04455448.png

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym laboratorium możesz wykonać w przeglądarce. Nie musisz niczego instalować.

5. Zanim zaczniesz

Włącz interfejsy API

W Cloud Shell sprawdź, czy identyfikator projektu jest skonfigurowany:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

Włącz wszystkie niezbędne usługi:

gcloud services enable compute.googleapis.com

6. Określanie projektu PSC Lookera

Utworzenie instancji PSC Cloud SQL wymaga określenia dozwolonych projektów PSC, dlatego projekt najemcy PSC Looker musi zostać podany w momencie tworzenia instancji Cloud SQL lub zaktualizowany, jeśli używasz istniejącej instancji.

Określanie projektu PSC Lookera za pomocą gcloud

W Cloud Shell zastąp [INSTANCE_NAME] nazwą instancji PSC Lookera, aby uzyskać identyfikator projektu PSC Lookera:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri

W przykładowych danych wyjściowych t7ec792caf2a609d1-tp to projekt Looker PSC:

gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",

Określanie projektu Looker PSC za pomocą konsoli Cloud

W Cloud Console otwórz:

Looker → instancja Looker PSC

1367ec0136aa5ad6.png

7. Tworzenie instancji Cloud SQL producenta

W następnej sekcji utworzysz instancję Cloud SQL PSC używaną do celów testowych, która zostanie wdrożona ze wstępnie zdefiniowanym hasłem określającym projekt Looker PSC na liście dozwolonych projektów PSC.

Tworzenie Cloud SQL PSC

W Cloud Shell utwórz instancję i włącz Private Service Connect, a następnie zaktualizuj [INSTANCE_PROJECT], podając identyfikator projektu PSC Looker.

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Przykład:

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Uzyskiwanie przyłącza usługi Cloud SQL

Po utworzeniu instancji Cloud SQL z włączoną funkcją Private Service Connect uzyskaj identyfikator URI przyłącza usługi, który będzie używany w późniejszym kroku do utworzenia punktu końcowego Private Service Connect w Lookerze.

W Cloud Shell wykonaj te czynności:

gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink

Przykładowe dane wyjściowe zawierają identyfikator URI przyłącza usługi:

projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

W konsoli Google Cloud możesz uzyskać przyłącze usługi PSC Cloud SQL:

W Cloud Console otwórz:

SQL → Instancja SQL → Połączenia

18940483f646ed15.png

8. Nawiązywanie połączenia z punktem końcowym PSC w Lookerze

W następnej sekcji powiążesz przyłącze usługi producentów Cloud SQL z usługą PSC Looker Core za pomocą flagi –psc-service-attachment w Cloud Shell dla pojedynczej domeny.

W Cloud Shell utwórz powiązanie PSC, aktualizując te parametry, aby pasowały do Twojego środowiska:

  • INSTANCE_NAME: nazwa instancji Lookera (podstawowej usługi Google Cloud).
  • DOMAIN_1: sql.database1.com
  • SERVICE_ATTACHMENT_1: identyfikator URI zarejestrowany podczas opisywania instancji Cloud SQL PSC
  • REGION: region, w którym jest hostowana instancja Lookera (podstawowej usługi Google Cloud).

W Cloud Shell wykonaj te czynności:

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Przykład:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1

W Cloud Shell sprawdź, czy stan połączenia serviceAttachments to „ACCEPTED”. Pamiętaj, aby zaktualizować nazwę instancji Looker PSC:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Przykład:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Przykład:

user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "looker.cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.14.18",
  "name": "projects/project/locations/us-central1/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
      "projects/project/global/networks/looker-psc-demo",
      "projects/project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "sql.database1.com",
        "targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-09-04T14:40:05.613026012Z"
}

Sprawdź punkt końcowy PSC w Cloud Console

W konsoli Cloud możesz sprawdzić połączenie PSC.

W Cloud Console otwórz:

Looker → Instancja Lookera → Szczegóły

2d4684d722d31e4b.png9fa909f826dec963.png

9. Integracja Looker PSC z Cloud SQL PSC

W następnej sekcji użyjesz konsoli Looker, aby utworzyć połączenie z bazą danych z instancją Cloud SQL PSC.

Kliknij ADMINISTRATOR → BAZA DANYCH → POŁĄCZENIA → wybierz DODAJ POŁĄCZENIE.

Wypełnij szczegóły połączenia zgodnie ze zrzutem ekranu poniżej i kliknij POŁĄCZ.

eb3ef74d3ae71f1a.png

Połączenie zostało skonfigurowane

29017202470ad81f.png

10. Sprawdzanie łączności z Lookerem

W sekcji poniżej dowiesz się, jak sprawdzić połączenie Lookera z instancją Cloud SQL PSC za pomocą działania „test” w Lookerze.

Otwórz połączenie danych ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test (ADMINISTRATOR → BAZA DANYCH → POŁĄCZENIA → cloud-sql-psc-demo → Test).

Po wybraniu opcji Test Looker połączy się z bazą danych postgres w sposób wskazany poniżej:

d9729caf9a61bfc2.png

Czyszczenie danych

Usuwanie komponentów laboratorium z jednego terminala Cloud Shell

gcloud sql instances delete cloud-sql-psc-demo -q

11. Gratulacje

Gratulacje. Udało Ci się skonfigurować i zweryfikować połączenie z usługą Cloud SQL PSC za pomocą konsoli Looker opartej na Private Service Connect.

Utworzono instancje Cloud SQL PSC jako usługę producenta i punkt końcowy Looker PSC, który umożliwia połączenie z usługą producenta.

Cosmopup uważa, że ćwiczenia z programowania są świetne!!

c911c127bffdee57.jpeg

Co dalej?

Wypróbuj te ćwiczenia z programowania:

Więcej informacji i filmy

Dokumentacja