Looker PSC'nin Cloud SQL PSC'ye Güneye doğru erişimi

1. Giriş

Bu kod laboratuvarında, Hizmet Üretici olarak Private Service Connect ile dağıtılan Cloud SQL'e güney bağlantısı gerçekleştireceksiniz.

Özel Hizmet Bağlantısı, Google Cloud ağ iletişiminin, tüketicilerin yönetilen hizmetlere VPC ağlarının içinden özel olarak erişmesine olanak tanıyan bir özelliğidir. Benzer şekilde, yönetilen hizmet üreticilerinin bu hizmetleri kendi ayrı VPC ağlarında barındırmasına ve tüketicilerine özel bir bağlantı sunmasına olanak tanır. Örneğin, Looker'a erişmek için Private Service Connect'i kullandığınızda Şekil 1'de belirtildiği gibi hizmet tüketicisi siz olursunuz ve Google hizmet üreticisi olur.

145ea4672c3a3b14.png

Ters PSC olarak da bilinen Güneye doğru erişim, Tüketici'nin, Looker'ın şirket içi, VPC'de, yönetilen hizmetlere ve internete erişmesine izin vermek için Üretici olarak Yayınlanan Hizmet oluşturmasına olanak tanır. Güneye doğru bağlantılar, Şekil 2'de belirtildiği gibi Looker PSC'nin dağıtıldığı yerden bağımsız olarak herhangi bir bölgede dağıtılabilir.

259493afd914f68b.png

Neler öğreneceksiniz?

  • Private Service Connect Cloud SQL örneği üretici hizmeti oluşturma
  • Hizmet tüketicisi olarak Looker'da Private Service Connect uç noktası oluşturma

Gerekenler

def88091b42bfe4d.png

2. Ne oluşturacaksınız?

Hizmet Üretici olarak dağıtılan ve Hizmet Tüketicisi olarak Looker PSC ile ilişkilendirilmiş bir Cloud SQL PSC örneği oluşturursunuz.

Aşağıdaki işlemler, Producer hizmetine erişimi doğrular:

  • Looker'da üretici hizmet eki ile ilişkili bir PSC uç noktası oluşturma
  • Cloud SQL PSC ile veritabanı bağlantısı oluşturmak için Looker Console'u kullanma
  • Önceden tanımlanmış bir şemada kimlik doğrulaması yaparak ve bu şemaya erişerek Cloud SQL PSC bağlantısını test etme

3. Codelab topolojisi

1e7035ea608d7d23.png

4. Kurulum ve Gereksinimler

Kendine ait tempoda ortam oluşturma

  1. Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Proje adı, bu projenin katılımcılarının görünen adıdır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Dilediğiniz zaman güncelleyebilirsiniz.
  • Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve değiştirilemez (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dize otomatik olarak oluşturur. Bu dizenin ne olduğu genellikle önemli değildir. Çoğu kod laboratuvarında proje kimliğinize (genellikle PROJECT_ID olarak tanımlanır) referans vermeniz gerekir. Oluşturulan kimliği beğenmezseniz rastgele başka bir kimlik oluşturabilirsiniz. Alternatif olarak, kendi anahtarınızı deneyerek kullanılabilir olup olmadığını görebilirsiniz. Bu adımdan sonra değiştirilemez ve proje boyunca geçerli kalır.
  • Bazı API'lerin kullandığı üçüncü bir değer (Proje Numarası) olduğunu belirtmek isteriz. Bu üç değer hakkında daha fazla bilgiyi dokümanlar bölümünde bulabilirsiniz.
  1. Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i çalıştırmak çok pahalı değildir. Bu eğitimden sonra faturalandırılmamak için kaynakları kapatmak istiyorsanız oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerindeki ücretsiz deneme programına uygundur.

Cloud Shell'i başlatma

Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir olsa da bu kod laboratuvarında bulutta çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.

Google Cloud Console'da, sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:

55efc1aaa7a4d3ad.png

Ortam sağlanıp bağlantı kurulabilmesi için birkaç saniye beklemeniz gerekir. İşlem tamamlandığında aşağıdakine benzer bir ekran görürsünüz:

7ffe5cbb04455448.png

Bu sanal makinede ihtiyacınız olan tüm geliştirme araçları yüklüdür. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansını ve kimlik doğrulamayı büyük ölçüde iyileştirir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Hiçbir şey yüklemeniz gerekmez.

5. Başlamadan önce

API'leri etkinleştir

Cloud Shell'de proje kimliğinizin ayarlandığından emin olun:

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

Gerekli tüm hizmetleri etkinleştirin:

gcloud services enable compute.googleapis.com

6. Looker PSC projesini tanımlama

Cloud SQL PSC örneği oluşturmak için izin verilen PSC projelerinin tanımlanması gerekir. Bu nedenle, Looker PSC kiracı projesi Cloud SQL örneği oluşturulurken sağlanmalı veya mevcut bir örnek kullanılıyorsa güncellenmelidir.

gcloud'u kullanarak Looker PSC projesini belirleme

Cloud Shell'de, Looker PSC proje kimliğini almak için [INSTANCE_NAME] değerini Looker PSC örnek adınızla güncelleyin:

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

Örnek çıkışta t7ec792caf2a609d1-tp, Looker PSC projesidir:

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",

Cloud Console'u kullanarak Looker PSC projesini belirleme

Cloud Console'da şuraya gidin:

Looker → Looker PSC Örneği

1367ec0136aa5ad6.png

7. Üretici Cloud SQL örneği oluşturma

Aşağıdaki bölümde, izin verilen PSC projesi listesinde Looker PSC projesini belirten önceden tanımlanmış bir şifreyle dağıtılan, test amacıyla kullanılan bir Cloud SQL PSC örneği oluşturacaksınız.

Cloud SQL PSC oluşturma

Cloud Shell'de bir örnek oluşturun ve Private Service Connect'i etkinleştirin, [INSTANCE_PROJECT] değerini Looker PSC proje kimliğinizle güncelleyin.

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

Örnek:

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

Cloud SQL Hizmet Eki'ni alma

Private Service Connect'in etkin olduğu bir Cloud SQL örneği oluşturduktan sonra, Looker'da Private Service Connect uç noktasını oluşturmak için sonraki bir adımda kullanılacak hizmet eki URI'sini alın.

Cloud Shell'de aşağıdakileri yapın:

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

Örnek çıkışta hizmet eki URI'si oluşturulur:

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

Cloud Console'dan Cloud SQL PSC Hizmet Eki'ni alabilirsiniz:

Cloud Console'da şuraya gidin:

SQL → SQL Örneği → Bağlantılar

18940483f646ed15.png

8. Looker'da PSC uç noktası bağlantısı oluşturma

Aşağıdaki bölümde, Cloud Shell'de tek bir alan için –psc-service-attachment işaretlerini kullanarak Cloud SQL Üretici Hizmet Eki'ni Looker Core PSC ile ilişkilendireceksiniz.

Cloud Shell'de, aşağıdaki parametreleri ortamınızla eşleşecek şekilde güncelleyerek psc ilişkilendirmesini oluşturun:

  • INSTANCE_NAME: Looker (Google Cloud çekirdeği) örneğinizin adı.
  • DOMAIN_1: sql.database1.com
  • SERVICE_ATTACHMENT_1: Cloud SQL PSC örneği açıklanırken yakalanan URI
  • REGION: Looker (Google Cloud Core) örneğinizin barındırıldığı bölge

Cloud Shell'de aşağıdakileri yapın:

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

Örnek:

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

Cloud Shell'de, serviceAttachments bağlantı durumunun "ACCEPTED" olduğunu doğrulayın. Looker PSC INSTANCE_NAME ile güncellediğinizden emin olun:

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

Örnek:

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

Örnek:

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"
}

Cloud Console'da PSC uç noktasını doğrulama

Cloud Console'dan PSC bağlantısını doğrulayabilirsiniz

Cloud Console'da şuraya gidin:

Looker → Looker Örneği → Ayrıntılar

2d4684d722d31e4b.png

9fa909f826dec963.png

9. Looker PSC'yi Cloud SQL PSC ile entegre etme

Aşağıdaki bölümde, Cloud SQL PSC örneğiyle veritabanı bağlantısı oluşturmak için Looker Console'u kullanacaksınız.

YÖNETİCİ → VERİTABANLARI → BAĞLANTILAR'a gidin. BAĞLANTI EKLE'yi seçin.

Aşağıdaki ekran görüntüsüne göre bağlantı ayrıntılarını doldurun, BAĞLA'yı seçin.

eb3ef74d3ae71f1a.png

Bağlantı yapılandırıldı

29017202470ad81f.png

10. Looker bağlantısını doğrulama

Aşağıdaki bölümde, Looker'ın "test" işlemini kullanarak Cloud SQL PSC örneğiyle bağlantısını nasıl doğrulayacağınızı öğreneceksiniz.

Veri Bağlantısı'na gidin YÖNETİCİ → VERİ TABANI → BAĞLANTILAR → cloud-sql-psc-demo → Test

Test seçildikten sonra Looker, aşağıdaki gibi postgres veritabanına bağlanır:

d9729caf9a61bfc2.png

Temizleme

Tek bir Cloud Shell terminalinden laboratuvar bileşenlerini silme

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

11. Tebrikler

Tebrikler. Private Service Connect tarafından desteklenen Looker Console'u kullanarak Cloud SQL PSC bağlantısını başarıyla yapılandırıp doğruladınız.

Üretici hizmeti ve Üretici hizmetine bağlanmaya izin veren Looker PSC uç noktası olarak Cloud SQL PSC örnekleri oluşturdunuz.

Cosmopup, codelab'lerin harika olduğunu düşünüyor.

c911c127bffdee57.jpeg

Sırada ne var?

Bu codelab'lerden bazılarına göz atın...

Daha fazla bilgi ve videolar

Referans dokümanları