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

1. Giriş

Bu codelab'de, Private Service Connect ile hizmet üreticisi olarak dağıtılan Cloud SQL'e güney yönlü bir bağlantı gerçekleştireceksiniz.

Private Service Connect, tüketicilerin yönetilen hizmetlere VPC ağlarının içinden özel olarak erişmesine olanak tanıyan bir Google Cloud ağ iletişimi özelliğidir. Aynı ş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 hizmet tüketicisi siz, hizmet üreticisi ise Google olur (Şekil 1'de vurgulandığı gibi).

145ea4672c3a3b14.png

Ters PSC olarak da bilinen Southbound erişimi, tüketicinin üretici olarak bir yayınlanmış hizmet oluşturmasına olanak tanır. Böylece Looker'ın şirket içi, VPC'deki, yönetilen hizmetlerdeki ve internetteki uç noktalara erişmesine izin verilir. Şekil 2'de vurgulandığı gibi, Looker PSC'nin dağıtıldığı yerden bağımsız olarak güneye giden bağlantılar herhangi bir bölgede dağıtılabilir.

259493afd914f68b.png

Neler öğreneceksiniz?

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

Gerekenler

def88091b42bfe4d.png

2. Ne oluşturacaksınız?

Hizmet tüketicisi olarak Looker PSC ile ilişkili bir hizmet üreticisi olarak dağıtılan bir Cloud SQL PSC örneği oluşturacaksınız.

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

  • Looker'da üretici hizmet ekiyle ilişkili bir PSC uç noktası oluşturma
  • Cloud SQL PSC'ye 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'ye bağlantıyı test etme

3. Codelab topolojisi

1e7035ea608d7d23.png

4. Kurulum ve Gereksinimler

Yönlendirmesiz ortam kurulumu

  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ı için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Bu bilgiyi istediğiniz zaman güncelleyebilirsiniz.
  • Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğinize (genellikle PROJECT_ID olarak tanımlanır) başvurmanız gerekir. Oluşturulan kimliği beğenmezseniz başka bir rastgele kimlik oluşturabilirsiniz. Dilerseniz kendi adınızı deneyerek kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu adım tamamlandıktan sonra değiştirilemez ve proje süresince geçerli kalır.
  • Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
  1. Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırılmayı önlemek için kaynakları kapatmak üzere oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.

Cloud Shell'i başlatma

Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir ancak bu codelab'de Cloud'da ç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ın temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır. İşlem tamamlandığında aşağıdakine benzer bir ekranla karşılaşırsınız:

7ffe5cbb04455448.png

Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarını içerir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi 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, Cloud SQL örneği oluşturulurken Looker PSC kiracı projesi 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 proje 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 ekini edinme

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 daha sonraki bir adımda kullanılan 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 çıktı, hizmet eki URI'sini oluşturur:

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 ekini edinebilirsiniz:

Cloud Console'da şuraya gidin:

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

18940483f646ed15.png

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

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

Cloud Shell'de, aşağıdaki parametreleri ortamınıza uygun şekilde güncelleyerek PSC ilişkilendirmesini oluşturun:

  • INSTANCE_NAME: Looker (Google Cloud Core) ö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 temel hizmeti) ö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ğine veritabanı bağlantısı oluşturmak için Looker Console'u kullanacaksınız.

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

Bağlantı ayrıntılarını aşağıdaki ekran görüntüsüne göre doldurun ve BAĞLAN'ı seçin.

eb3ef74d3ae71f1a.png

Bağlantı artık yapılandırılmış durumda

29017202470ad81f.png

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

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

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

Test seçildiğinde Looker, aşağıda belirtildiği gibi postgres-database'e 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'ye bağlantıyı başarıyla yapılandırdınız ve doğruladınız.

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

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

c911c127bffdee57.jpeg

Yapabilecekleriniz

Şu codelab'lere göz atın:

Daha fazla bilgi ve videolar

Referans belgeler