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).

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.

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
- Sahip izinlerine sahip Google Cloud projesi
- Mevcut Looker PSC örneği

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

4. Kurulum ve Gereksinimler
Yönlendirmesiz ortam kurulumu
- 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.



- 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_IDolarak 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.
- 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:

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:

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

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

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


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.

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

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:

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.

Yapabilecekleriniz
Şu codelab'lere göz atın:
- Hizmet yayınlamak ve kullanmak için Private Service Connect'i kullanma
- Private Service Connect ve dahili TCP Proxy yük dengeleyici kullanarak karma ağ üzerinden şirket içi hizmetlere bağlanma
- Yayınlanan tüm Private Service Connect codelab'lerine erişim