Karma ağ iletişimi üzerinden Looker Cloud'u bağlama

1. Giriş

Looker (Google Cloud Core), Google Cloud Console'dan Looker örneği için temel hazırlık, yapılandırma ve yönetim işlemlerini basitleştirilmiş ve basit hale getirir. Bazı örnek yönetimi görevleri konsoldan da gerçekleştirilebilir.

Looker (Google Cloud core) örnekleri için kullanılabilir üç ağ yapılandırması vardır:

  • Herkese açık: Ağ bağlantısı harici, internet erişimli bir IP adresi kullanır.
  • Gizli: Ağ bağlantısı, Google tarafından barındırılan dahili bir Sanal Özel Bulut (VPC) IP adresi kullanır.
  • Genel ve özel: Ağ bağlantısında hem genel IP adresi hem de özel IP adresi kullanılır. Burada gelen trafik genel IP üzerinden, giden trafik ise özel IP üzerinden yönlendirilir.

Eğiticide, HA VPN üzerinden şirket içi bir VPC'ye Looker bağlantısını desteklemek için kapsamlı bir uçtan uca Özel ağ dağıtacaksınız. Bu bağlantı, çoklu bulut ve şirket içi bağlantı ihtiyaçlarınızı karşılamak için çoğaltılabilir.

Looker (Google Cloud çekirdeği), aşağıdaki ölçütleri karşılayan örnekler için özel IP'yi destekler:

Oluşturacaklarınız

Bu eğiticide, çoklu buluta ve şirket içine karma bağlantıya sahip olan bağımsız bir VPC'de kapsamlı bir özel Looker ağ dağıtımı oluşturacaksınız.

Şirket içi ortamı temsil etmesi için on-prem-vpc adında bir VPC ağı oluşturacaksınız. Dağıtımınız için şirket içi VPN mevcut olmaz. Bunun yerine, şirket içi veri merkezinize veya bulut sağlayıcınıza karma ağ kullanılır.

Eğiticinin temel adımları

  1. us-central1 bölgesinde bağımsız bir VPC oluşturma
  2. Özel Hizmet Erişimine IP alt ağı ayırma
  3. Looker örneğini bağımsız VPC'de dağıtma
  4. Şirket içi VPC ve karma ağ iletişimi oluşturma
  5. BGP üzerinden Looker IP aralığını tanıtıp doğrulayın
  6. Looker ve Postgresql veri iletişimini entegre etme ve doğrulama

Figure1

8436cc4802b670db.png

Neler öğreneceksiniz?

  • VPC ve ilişkili karma ağ iletişimi oluşturma
  • Looker'ı bağımsız bir VPC'de dağıtma
  • Şirket içi VPC ve ilişkili karma ağ oluşturma
  • Şirket içi VPC'yi HA VPN üzerinden analytics-vps'e bağlayın
  • Karma ağ üzerinden Looker alt ağlarının reklamını yapma
  • Karma ağ iletişimi altyapısını izleme
  • Postgresql veritabanını Looker Cloud Core ile entegre etme

Gerekenler

  • Google Cloud Projesi

IAM İzinleri

2. Başlamadan önce

Projeyi, eğiticiyi destekleyecek şekilde güncelleme

Bu eğiticide, Cloud Shell'de gcloud yapılandırması uygulamasına yardımcı olmak için $variables kullanımı açıklanmaktadır.

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

3. VPC Kurulumu

analytics-vpc'yi oluşturma

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

gcloud compute networks create analytics-vpc --project=$projectid --subnet-mode=custom

Şirket içi VPC'yi oluşturma

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

gcloud compute networks create on-prem-vpc --project=$projectid --subnet-mode=custom

Postgresql veritabanı alt ağını oluşturma

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

gcloud compute networks subnets create database-subnet-us-central1 --project=$projectid --range=172.16.10.0/27 --network=on-prem-vpc --region=us-central1

Cloud Router ve NAT yapılandırması

Veritabanı sanal makine örneğinin harici bir IP adresi olmadığından, yazılım paketi yükleme eğitiminde Cloud NAT kullanılır.

Cloud Shell'in içinde Cloud Router'ı oluşturun.

gcloud compute routers create on-prem-cr-us-central1-nat --network on-prem-vpc --region us-central1

Cloud Shell'in içinde NAT ağ geçidini oluşturun.

gcloud compute routers nats create on-prem-nat-us-central1 --router=on-prem-cr-us-central1-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

Veritabanı testi örneğini oluşturma

Looker bağlantısını test etmek ve doğrulamak için kullanılacak bir postgres-database örneği oluşturun.

Cloud Shell'in içinde örneği oluşturun.

gcloud compute instances create postgres-database \
    --project=$projectid \
    --zone=us-central1-a \
    --machine-type=e2-medium \
    --subnet=database-subnet-us-central1 \
    --no-address \
   --image=projects/ubuntu-os-cloud/global/images/ubuntu-2304-lunar-amd64-v20230621 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt -y install postgresql postgresql-client postgresql-contrib -y"

Güvenlik Duvarı Kuralları Oluşturma

IAP'nin sanal makine örneklerinize bağlanmasına izin vermek için aşağıdaki şartları yerine getiren bir güvenlik duvarı kuralı oluşturun:

  • IAP kullanarak erişilmesini istediğiniz tüm sanal makine örnekleri için geçerlidir.
  • 35.235.240.0/20 IP aralığından giriş trafiğine izin verir. Bu aralık, IAP'nin TCP yönlendirme için kullandığı tüm IP adreslerini içerir.

Cloud Shell'den

gcloud compute firewall-rules create on-prem-ssh \
    --network on-prem-vpc --allow tcp:22 --source-ranges=35.235.240.0/20

4. Özel Hizmet Erişimi

Özel hizmetler erişimi, VPC ağınız ile Google'a veya üçüncü bir tarafa ait bir ağ arasında özel bir bağlantıdır. Google veya üçüncü taraf, yani hizmet sağlayan tüzel kişiler, hizmet üreticileri olarak da bilinir. Looker Cloud Core bir hizmet üreticisidir.

Özel bağlantı, VPC ağınızdaki sanal makine örneklerinin ve eriştiğiniz hizmetlerin yalnızca dahili IP adreslerini kullanarak iletişim kurmasını sağlar.

Üst düzeyde, özel hizmet erişimini kullanmak için VPC ağınızda bir IP adresi aralığı (CIDR bloğu) ayırmanız ve ardından hizmet üreticisine özel bağlantı oluşturmanız gerekir.

Hizmetler için IP adresi aralığı ayır

Özel bağlantı oluşturmadan önce hizmet üreticinin VPC ağı tarafından kullanılacak bir IPv4 adres aralığı ayırmanız gerekir. Bu, VPC ağınız ile hizmet üreticinizin ağı arasında IP adresi çakışması olmamasını sağlar.

VPC ağınızda bir aralık ayırdığınızda bu aralık, alt ağlar (birincil ve ikincil aralıklar) ve özel statik rotaların hedefleri için uygun olmaz.

IPv6 adres aralıklarının özel hizmetlere erişimiyle kullanılması desteklenmez.

Google Cloud Console'da projeniz için Service Networking API'yi etkinleştirin. API'yi etkinleştirirken API'nin etkinleştirildiğini onaylamak için konsol sayfasını yenilemeniz gerekebilir.

IP tahsisi oluşturma

Bir adres aralığı ve önek uzunluğu (alt ağ maskesi) belirtmek için adresleri ve önek uzunluğu işaretlerini kullanın. Örneğin, 192.168.0.0/22 CIDR bloğunu ayırmak için adres için 192.168.0.0 ve önek uzunluğu için 22 belirtin.

Cloud Shell'in içinde Looker için IP tahsisini oluşturun.

gcloud compute addresses create psa-range-looker \
    --global \
    --purpose=VPC_PEERING \
    --addresses=192.168.0.0 \
    --prefix-length=22 \
    --description="psa range for looker" \
    --network=analytics-vpc

Cloud Shell'in içinde IP ayırmayı doğrulayın.

gcloud compute addresses list --global --filter="purpose=VPC_PEERING"

Örnek:

userl@cloudshell$ gcloud compute addresses list --global --filter="purpose=VPC_PEERING"
NAME: psa-range-looker
ADDRESS/RANGE: 192.168.0.0/22
TYPE: INTERNAL
PURPOSE: VPC_PEERING
NETWORK: analytics-vpc
REGION: 
SUBNET: 
STATUS: RESERVED

Özel Bağlantı Oluşturun

Ayrılmış aralık oluşturduktan sonra, bir hizmet üreticisi olan Looker Cloud Core ile özel bir bağlantı oluşturabilirsiniz. Özel bağlantı, Looker örneği oluşturulduktan sonra VPC ağınız ile hizmet üreticinin ağı arasında bir VPC Ağ Eşleme bağlantısı oluşturur.

Özel bağlantılar, VPC ağınız ile bir hizmet üreticisi arasındaki bire bir ilişkidir. Tek bir hizmet üreticisi birden fazla hizmet sunuyorsa üreticinin tüm hizmetleri için yalnızca bir özel bağlantıya ihtiyacınız vardır.

Birden fazla hizmet üreticisine bağlanırsanız her hizmet üreticisi için benzersiz bir ayırma kullanın. Bu uygulama, her hizmet üreticisi için rotalar ve güvenlik duvarı kuralları gibi ağ ayarlarınızı yönetmenize yardımcı olur.

Cloud Shell'in içinde gizli bir bağlantı oluşturun ve işlem adını not edin.

gcloud services vpc-peerings connect \
    --service=servicenetworking.googleapis.com \
    --ranges=psa-range-looker \
    --network=analytics-vpc

Örnek:

user@cloudshell$ gcloud services vpc-peerings connect \
    --service=servicenetworking.googleapis.com \
    --ranges=psa-range-looker \
    --network=analytics-vpc
Operation "operations/pssn.p24-1049481044803-f16d61ba-7db0-4516-b525-cd0be063d4ea" finished successfully.

Cloud Shell'de işlemin başarılı olup olmadığını kontrol edin. OPERATION_NAME bölümünü önceki adımda oluşturulan adla değiştirin.

gcloud services vpc-peerings operations describe \
    --name=OPERATION_NAME

Örnek:

user@cloudshell$ gcloud services vpc-peerings operations describe \
    --name=operations/pssn.p24-1049481044803-f16d61ba-7db0-4516-b525-cd0be063d4ea
Operation "operations/pssn.p24-1049481044803-f16d61ba-7db0-4516-b525-cd0be063d4ea" finished successfully.

5. Looker (Google Cloud core) örneği oluşturma

Başlamadan önce

Google Cloud Console'da projeniz için Looker API 'yi etkinleştirin. API'yi etkinleştirirken API'nin etkinleştirildiğini onaylamak için konsol sayfasını yenilemeniz gerekebilir.

Örneğe erişmek ve kimlik doğrulaması yapmak için bir OAuth istemcisi oluşturun.

Aşağıdaki bölümde, Looker örneğini oluşturmak için OAuth Client-ID ve Sırrını kullanmanız gerekir.

Yetkilendirilmiş JavaScript kaynakları ve yönlendirme URI'leri gerekli değildir.

103601bca0b6ebe8.png

Cloud Console'un içinde, sağlanan ekran görüntülerine dayalı bir örnek oluşturun.

LOOKER → BİR ÖRNEK OLUŞTUR'a gidin

Önceden oluşturulan OAuth İstemci Kimliği ve Sırrını doldurun.

b780ed751824176c.png

3fe880e26a81a756.png

91acffd74c68a067.png

OLUŞTUR'u seçin.

Örnek oluşturulurken konsoldaki Örnekler sayfasına yönlendirilirsiniz. Yeni örneğinizin durumunu görmek için sayfayı yenilemeniz gerekebilir. Google Cloud Console menüsündeki bildirimler simgesini tıklayarak da örnek oluşturma etkinliğinizi görebilirsiniz. Örneğiniz oluşturulurken Google Cloud Console menüsündeki bildirimler simgesi bir yükleme simgesiyle daire içine alınır.

Looker örneği oluşturulduktan sonra bir örnek URL'si oluşturulur. URL'yi not edin.

5ac8a1b8b438dce6.png

6. OAuth 2.0 istemci kimliğini güncelleyin

Aşağıdaki bölümde, örnek URL'sine /oauth2callback ekleyerek daha önce oluşturulan OAuth İstemci Kimliği Yetkili yönlendirme URI'si değerini güncellemeniz gerekir.

İşlem tamamlandıktan sonra Looker kullanıcı arayüzüne giriş yapmak için örnek URL'sini kullanabilirsiniz.

Cloud Console'da API'ler ve HİZMETLER → KİMLİK BİLGİLERİ

Oauth 2.0 istemci kimliğinizi seçin ve aşağıdaki örnekteki örnek URL'nizi güncelleyin:

793c5b82ec34fb1f.png

7. Looker Erişimini Doğrula

Cloud Console'da Looker'a gidin ve Looker kullanıcı arayüzünü açacak örnek URL'nizi seçin.

9d132a67c532279e.png

Özellik kullanıma sunulduktan sonra, aşağıdaki ekran görüntüsüne uygun şekilde, Looker Cloud Core'a erişiminizi onaylayan açılış sayfası gösterilir.

b77055fd674f8a69.png

8. Karma bağlantı

Aşağıdaki bölümde Sınır Ağ Geçidi Protokolü'nü (BGP) kullanarak sanal özel bulutunuz (VPC) ve eş ağınız arasında dinamik olarak rota değişimi yapmanızı sağlayan bir Cloud Router oluşturacaksınız.

Cloud Yönlendirici, ağlarınızı bağlamak için Cloud VPN tüneli üzerinden BGP oturumu oluşturabilir. Yeni alt ağın IP adresi aralıklarını otomatik olarak öğrenir ve eş ağınıza duyurur.

Bu eğitimde, Looker'ın gizli bağlantısını göstermek için analytics-vpc ve on-prem-vpc arasında HA VPN'yi dağıtacaksınız.

analytics-vpc için HA VPN GW'yu oluşturma

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için bir tane olmak üzere iki harici IPv4 adresi otomatik olarak ayrılır. Yapılandırma adımlarında daha sonra kullanmak üzere bu IP adreslerini not edin.

Cloud Shell'in içinde HA VPN GW oluşturun

gcloud compute vpn-gateways create analytics-vpn-gw \
   --network=analytics-vpc\
   --region=us-central1

on-prem-vpc için HA VPN GW'yu oluşturma

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için bir tane olmak üzere iki harici IPv4 adresi otomatik olarak ayrılır. Yapılandırma adımlarında daha sonra kullanmak üzere bu IP adreslerini not edin.

Cloud Shell'in içinde HA VPN GW'yi oluşturun.

gcloud compute vpn-gateways create on-prem-vpn-gw \
   --network=on-prem-vpc\
   --region=us-central1

HA VPN GW oluşturmayı doğrulama

Konsolu kullanarak HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS'a gidin.

a3973b2bbb832bae.png

analytics-vpc için Cloud Router oluşturma

Cloud Shell'in içinde, us-central1 bölgesinde bulunan Cloud Router'ı oluşturun

gcloud compute routers create analytics-cr-us-central1 \
   --region=us-central1 \
   --network=analytics-vpc\
   --asn=65001

Şirket içi VPC için Cloud Router oluşturma

Cloud Shell'in içinde, us-central1 bölgesinde bulunan Cloud Router'ı oluşturun

gcloud compute routers create on-prem-cr-us-central1 \
   --region=us-central1 \
   --network=on-prem-vpc \
   --asn=65002

analytics-vpc için VPN tünelleri oluşturma

Her HA VPN ağ geçidinde iki VPN tüneli oluşturacaksınız.

VPN tüneli oluştur0

Cloud Shell'in içinde tünel 0 oluşturun:

gcloud compute vpn-tunnels create analytics-vpc-tunnel0 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router analytics-cr-us-central1 \
    --vpn-gateway analytics-vpn-gw \
    --interface 0

VPN tüneli oluştur1

Cloud Shell'in içinde tünel1 oluşturun:

gcloud compute vpn-tunnels create analytics-vpc-tunnel1 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router analytics-cr-us-central1 \
    --vpn-gateway analytics-vpn-gw \
    --interface 1

Şirket içi VPC için VPN tünelleri oluşturma

Her HA VPN ağ geçidinde iki VPN tüneli oluşturacaksınız.

VPN tüneli oluştur0

Cloud Shell'in içinde tünel 0 oluşturun:

gcloud compute vpn-tunnels create on-prem-tunnel0 \
    --peer-gcp-gateway analytics-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-prem-cr-us-central1 \
    --vpn-gateway on-prem-vpn-gw \
    --interface 0

VPN tüneli oluştur1

Cloud Shell'in içinde tünel1 oluşturun:

gcloud compute vpn-tunnels create on-prem-tunnel1 \
    --peer-gcp-gateway analytics-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-prem-cr-us-central1 \
    --vpn-gateway on-prem-vpn-gw \
    --interface 1

VPN tüneli oluşturmayı doğrulayın

Konsolu kullanarak HYBRID CONNECTIVITY → VPN → CLOUD VPN GOOGLES'A gidin.

61c09b3d3102149d.png

9. BGP komşuları oluşturma

BGP oturumları oluşturma

Bu bölümde, Cloud Router arayüzlerini ve BGP eşlemelerini yapılandıracaksınız.

BGP arayüzü ve analytics-vpc için eşleme oluşturma

Cloud Shell'in içinde BGP arayüzünü oluşturun:

gcloud compute routers add-interface analytics-cr-us-central1 \
    --interface-name if-tunnel0-to-onprem \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel analytics-vpc-tunnel0 \
    --region us-central1

Cloud Shell'in içinde BGP eşlemesini oluşturun:

gcloud compute routers add-bgp-peer analytics-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onprem \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region us-central1

Cloud Shell'in içinde BGP arayüzünü oluşturun:

gcloud compute routers add-interface analytics-cr-us-central1 \
    --interface-name if-tunnel1-to-onprem \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel analytics-vpc-tunnel1 \
    --region us-central1

Cloud Shell'in içinde BGP eşlemesini oluşturun:

gcloud compute routers add-bgp-peer analytics-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel1 \
    --interface if-tunnel2-to-onprem \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region us-central1

BGP arayüzü ve şirket içi VPC arayüzü için eşleme oluşturma

Cloud Shell'in içinde BGP arayüzünü oluşturun:

gcloud compute routers add-interface on-prem-cr-us-central1 \
    --interface-name if-tunnel0-to-analytics-vpc \
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel0 \
    --region us-central1

Cloud Shell'in içinde BGP eşlemesini oluşturun:

gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
    --peer-name bgp-analytics-vpc-tunnel0 \
    --interface if-tunnel1-to-analytics-vpc \
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region us-central1

Cloud Shell'in içinde BGP arayüzünü oluşturun:

gcloud compute routers add-interface on-prem-cr-us-central1 \
    --interface-name if-tunnel1-to-analytics-vpc \
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel1 \
    --region us-central1

Cloud Shell'in içinde BGP eşlemesini oluşturun:

gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
    --peer-name bgp-analytics-vpc-tunnel1\
    --interface if-tunnel2-to-analytics-vpc \
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region us-central1

VPN tüneli ayrıntılarını görüntülemek için Karma BAĞLANTI → VPN'e gidin.

ddd4a8f851d44fd6.png

HA VPN üzerinden analytics-vpc öğrenme rotalarını doğrulama

HA VPN tünelleri ve BGP oturumları oluşturulduğundan, şirket içi VPC'den gelen rotalar analytics-vpc'den öğrenilir. Konsolu kullanarak VPC ağı → VPC ağları → analytics-vpc → ROUTES → REGION → us-central1 → VIEW'a gidin

analytics-vpc'yi gözlemleme, şirket içi-vpc veritabanı-subnet-us-central1 172.16.10.0/27 adresinden rotaları öğrenmiştir

57c7898390db4bcb.png

Şirket içi VPC'nin HA VPN üzerinden rotaları öğrenmediğini doğrulayın

analytics-vpc'nin bir alt ağı olmadığından Cloud Yönlendirici, herhangi bir alt ağı şirket içi vpc'ye tanıtmaz . Konsolu kullanarak VPC ağı → VPC ağları → şirket içi-vpc → ROUTES → REGION → us-central1 → VIEW'a gidin

5b007e46a7c7026.png

10. Looker alt ağını şirket içine tanıtma

Alt ağ VPC'ye değil, PSA'ya atandığından Looker Özel Hizmet Erişimi (PSA) alt ağının Analytics-cr-us-central1 bulut yönlendiricisi tarafından otomatik olarak reklamı yapılmaz.

Şirket içi ortamda tanıtılacak ve Looker'a erişmek için iş yükleri tarafından kullanılacak PSA alt ağı 192.168.0.0/22 (psa-range-looker) için analytics-cr-central1'den özel bir rota reklamı oluşturmanız gerekir.

Konsolda HYBRID CONNECTIVITY → CLOUD ROUTERS → analytics-cr-us-central1'e gidin, ardından DÜZENLE'yi seçin.

Tanıtılan rotalar bölümünde Özel rota oluştur seçeneğini belirleyin, aşağıdaki örneğe göre alanları güncelleyin, BİTTİ'yi seçin ve ardından KAYDET'i tıklayın.

87f95ee3d1cd8521.png

11. Şirket içi VPC'nin Looker alt ağını öğrendiğini doğrulayın

Şirket içi VPC, analytics-cr-us-central1'de özel rota reklamı olarak tanıtıldığı için artık Looker PSA alt ağına erişebilecek.

Konsolu kullanarak VPC AĞI → VPC AĞLARI → VPC AĞLARI → şirket içi VPN → ROUTES → BÖLGE → us-central1 → GÖRÜNÜM'e gidin

analytics-vpc'den tanıtılan Looker rotalarını gözlemleyin:

a987a76fd57ddedd.png

12. Mevcut VPC Eşlemesini doğrulayın

Looker Cloud Core ile analytics-vpc arasındaki bağlantı, BGP aracılığıyla öğrenilen özel rotaların değişimine olanak tanıyan VPC eşleme aracılığıyla yapılır. Eğitimde Analytics-vpc'nin, şirket içi VPC tarafından öğrenilen rotaları Looker'da yayınlaması gerekir. Bu işlevi etkinleştirmek için VPC eşlemenin özel rotaları dışa aktarmak üzere güncellenmesi gerekir.

İçe aktarılan ve dışa aktarılan mevcut rotaları doğrulayın.

VPC AĞI → VPC AĞ eşleme → servicenetworking-googleapis-com adresine gidin

f6d9395712934cd8.png

Aşağıdaki ekran görüntüsünde, Google tarafından yönetilen eşlenmiş VPN ağ iletişiminden, servicesnetworking'den psa-range-looker'ı içe aktaran analytics-vpc ayrıntılı bir şekilde açıklanmaktadır.

86a0e8c3534c6986.png

Seçili EXPORTED ROUTES, Eşleşen VPC ağına dışa aktarılan hiçbir rota olmadığı için 1) analytics-vpc'de alt ağlar yapılandırılmamış 2) Özel rotaları dışa aktar seçili değil

a52de427fa73fb22.png

13. VPC Eşleme'yi güncelleyin

VPC AĞI → VPC AĞ BAĞLANTISI → servicenetworking-googleapis-com → EDIT'e gidin

ÖZEL ROTALARI DIŞA AKTAR → KAYDET'i seçin

a2309e4c3a7cee80.png

14. Güncellenmiş VPC Eşleme'yi doğrulayın

Dışa aktarılan rotaları doğrulayın.

VPC AĞI → VPC AĞ eşleme → servicenetworking-googleapis-com adresine gidin

Seçilen DIŞA AKTARILAN ROUTES, şirket içi VPC rotalarının (172.16.10.0/27 veritabanı alt ağı) analytics-vpc tarafından Looker'ı barındıran eşlenmiş VPC ağ iletişimi'ne aktarıldığını gösterir.

47e953268d78a469.png

15. Looker postgres veritabanı oluşturma

Aşağıdaki bölümde, Cloud Shell'i kullanarak postgres-database sanal makinesine SSH uygulayacaksınız.

Cloud Shell'in içinde bir ssh to postgres-database örneği gerçekleştirin**.**

 gcloud compute ssh --zone "us-central1-a" "postgres-database" --project "$projectid"

İşletim sisteminin içinde postgres-database örneğinin IP adresini (ens4) tanımlayın ve not edin.

ip a

Örnek:

user@postgres-database:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
    link/ether 42:01:ac:10:0a:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 172.16.10.2/32 metric 100 scope global dynamic ens4
       valid_lft 84592sec preferred_lft 84592sec
    inet6 fe80::4001:acff:fe10:a02/64 scope link 
       valid_lft forever preferred_lft forever

İşletim sisteminin içinde postgresql'e giriş yapın.

sudo -u postgres psql postgres

İşletim sisteminin içinde şifre istemini girin.

\password postgres

İşletim sistemi içinde şifreyi "postgres" olarak ayarlayın (aynı şifreyi iki kez girin)

postgres

Örnek:

user@postgres-database:~$ sudo -u postgres psql postgres
\password postgres
psql (13.11 (Debian 13.11-0+deb11u1))
Type "help" for help.

postgres=# \password postgres
Enter new password for user "postgres": 
Enter it again: 

İşletim sisteminin içinde postgres'ten çıkın.

\q

Örnek:

postgres=# \q
user@postgres-database:~$ 

Aşağıdaki bölümde postgres-database örneği IP adresinizi ve Looker Özel Google Erişimi alt ağınızı (192.168.0.0/22) aşağıdaki ekran görüntüsündeki gibi IPv4 yerel bağlantılarının altındaki pg_hba.conf dosyasına ekleyeceksiniz:

178364a8ee9b6233.png

sudo nano /etc/postgresql/15/main/pg_hba.conf

Aşağıdaki bölümde, tüm "*" işaretlerini dinlemek için postgresql.conf yorumunu kaldırın Aşağıdaki ekran görüntüsüne göre IP adresleri:

sudo nano /etc/postgresql/15/main/postgresql.conf

Önce:

aad52092c0a9408.png

Sonra:

7e80b916d29e097c.png

İşletim sisteminin içinde postgresql hizmetini yeniden başlatın.

sudo service postgresql restart

İşletim sisteminde postgresql durumunu etkin olarak doğrulayın.

sudo service postgresql status

Örnek:

İşletim sisteminde postgresql durumunu etkin olarak doğrulayın.

user@postgres-database$ sudo service postgresql status
 postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited) since Sat 2023-07-01 23:40:59 UTC; 7s ago
    Process: 4073 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 4073 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Jul 01 23:40:59 postgres-database systemd[1]: Starting postgresql.service - PostgreSQL RDBMS...
Jul 01 23:40:59 postgres-database systemd[1]: Finished postgresql.service - PostgreSQL RDBMS.

16. Postgres veritabanını oluşturma

Aşağıdaki bölümde postgres_looker adlı bir postgres veritabanı ve şirket içi bağlantıyı doğrulamak için schema looker_schema adında bir veritabanı oluşturacaksınız.

İşletim sistemi içinde postgres'e giriş yapın.

sudo -u postgres psql postgres

İşletim sisteminde veritabanını oluşturun.

create database postgres_looker;

İşletim sisteminin içinde veritabanını listeleyin.

\l

İşletim sistemi içinde, şifre görüntüleyici ile kullanıcı görüntüleyiciyi oluşturma

create user postgres_looker with password 'postgreslooker';

İşletim sisteminin içinde veritabanına bağlanın.

\c postgres_looker;

İşletim sisteminin içinde şema görünüm şemasını oluşturun ve Cloud Shell istemine çıkın.

create schema looker_schema;
create table looker_schema.test(firstname CHAR(15), lastname CHAR(20));
exit

Örnek:

user@postgres-database$ sudo -u postgres psql postgres
psql (15.3 (Ubuntu 15.3-0ubuntu0.23.04.1))
Type "help" for help.

postgres=# create database postgres_looker;
CREATE DATABASE
postgres=# \l
                                                List of databases
      Name       |  Owner   | Encoding | Collate |  Ctype  | ICU Locale | Locale Provider |   Access privileges   
-----------------+----------+----------+---------+---------+------------+-----------------+-----------------------
 postgres        | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 postgres_looker | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 template0       | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
                 |          |          |         |         |            |                 | postgres=CTc/postgres
 template1       | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
                 |          |          |         |         |            |                 | postgres=CTc/postgres
(4 rows)

postgres=# create user postgres_looker with password 'postgreslooker';
CREATE ROLE
postgres=# \c postgres_looker;
You are now connected to database "postgres_looker" as user "postgres".
postgres_looker=# create schema looker_schema;
CREATE SCHEMA
postgres_looker=# create table looker_schema.test(firstname CHAR(15), lastname CHAR(20));
CREATE TABLE
postgres_looker=# exit

İşletim sisteminden çıkıp sizi Cloud Shell'e döndürün.

\q
exit

17. Şirket içi VPC'de Güvenlik Duvarı oluşturma

Aşağıdaki bölümde Looker alt ağı ile postgres-database örneğine iletişim kurulmasına olanak tanıyan günlük kaydı içeren bir Giriş güvenlik duvarı oluşturun.

Cloud Shell'den şirket içi VPC güvenlik duvarını oluşturun.

gcloud compute --project=$projectid firewall-rules create looker-access-to-postgres --direction=INGRESS --priority=1000 --network=on-prem-vpc --action=ALLOW --rules=all --source-ranges=192.168.0.0/22 --enable-logging

18. analytics-vpc'de Gizli DNS oluşturma

Looker, Google tarafından yönetilen bir VPC'de dağıtılmış olsa da analytics-vpc Özel DNS erişimi, hizmet ağlarıyla eşleme yoluyla desteklenir.

Aşağıdaki bölümde, analytics-vpc'de postgres-database örneğinin A kaydından oluşan bir Gizli DNS Alt Bölgesi oluşturacaksınız. Bu kayıt, Tam Nitelikli Alan Adı (postgres.analytics.com) ve IP adresi)

Cloud Shell'den, özel alt bölge analytics.com'u oluşturun.

gcloud dns --project=$projectid managed-zones create gcp-private-zone --description="" --dns-name="analytics.com." --visibility="private" --networks="https://www.googleapis.com/compute/v1/projects/$projectid/global/networks/analytics-vpc"

Cloud Shell'den postgres-database örneğinin IP adresini tanımlayın.

gcloud compute instances describe postgres-database --zone=us-central1-a | grep networkIP:

Örnek:

user@cloudshell$ gcloud compute instances describe postgres-database --zone=us-central1-a | grep networkIP:
  networkIP: 172.16.10.2

Cloud Shell'den A kaydını oluşturun. Daha önce tanımlanan IP adresini eklediğinizden emin olun.

gcloud dns --project=$projectid record-sets create postgres.analytics.com. --zone="gcp-private-zone" --type="A" --ttl="300" --rrdatas="your-postgres-database-ip"

Örnek:

user@cloudshell$ gcloud dns --project=$projectid record-sets create postgres.analytics.com. --zone="gcp-private-zone" --type="A" --ttl="300" --rrdatas="172.16.10.2"
NAME: postgres.analytics.com.
TYPE: A
TTL: 300
DATA: 172.16.10.2

Cloud Shell'den eş dns-sonek analytics.com adresi. ağ bağlantısı oluşturarak Looker'ın analytics-vpc gizli alt bölgesine erişmesine izin verir.

gcloud services peered-dns-domains create looker-com --network=analytics-vpc --service=servicenetworking.googleapis.com --dns-suffix=analytics.com.

19. Looker'ı Postgres postgres veritabanıyla entegre etme

Aşağıdaki bölümde, şirket içi postgres-database örneğine Veritabanı bağlantısı oluşturmak için Cloud Console'u kullanacaksınız.

Cloud Console'da Looker'a gidin ve Looker kullanıcı arayüzünü açacak örnek URL'nizi seçin.

9d132a67c532279e.png

Kampanya başlatıldıktan sonra, aşağıdaki ekran görüntüsüne göre açılış sayfası gösterilir.

b77055fd674f8a69.png

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

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

c8cca15252c2020d.png

Bağlantı artık başarılı

3e51b7e2cc62fb45.png

20. Looker bağlantısını doğrulayın

Aşağıdaki bölümde, Looker "test"ini kullanarak şirket içi VPC'de postgres veritabanına Looker bağlantısını nasıl doğrulayacağınızı öğreneceksiniz. işlemi ve TCPDUMP.

Oturum zaman aşımına uğradıysa Cloud Shell'den postgres veritabanına giriş yapın.

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
gcloud compute ssh --zone "us-central1-a" "postgres-database" --project "$projectid"

OS'de, psa-range-looker alt ağı 192.168.0.0/22 ile bir TCPDUMP filtresi oluşturun.

sudo tcpdump -i any net 192.168.0.0/22 -nn

Veri Bağlantısı YÖNETİCİ → VERİTABANI → BAĞLANTILAR → Seç → Test'e gidin.

Test seçildikten sonra Looker, aşağıda gösterildiği gibi postgres veritabanına başarıyla bağlanır:

ef25b837b6a41fe.png

OS terminaline geri dönün ve TCPDUMP'nin psc-range-looker'ın şirket içi postgres-database örneğine bağlandığını tanımladığını doğrulayın.

PSA aralığındaki tüm IP'lerin Looker'dan gösterileceğini not ekleyin.

user@postgres-database$ sudo tcpdump -i any net 192.168.0.0/22 -nn
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
00:16:55.121631 ens4  In  IP 192.168.1.24.46892 > 172.16.10.2.5432: Flags [S], seq 2221858189, win 42600, options [mss 1366,sackOK,TS val 4045928414 ecr 0,nop,wscale 7], length 0
00:16:55.121683 ens4  Out IP 172.16.10.2.5432 > 192.168.1.24.46892: Flags [S.], seq 1464964586, ack 2221858190, win 64768, options [mss 1420,sackOK,TS val 368503074 ecr 4045928414,nop,wscale 7], length 0

21. Güvenlik Önerileri

Looker ve Postgres veritabanının güvenliğini sağlamayla ilgili birkaç güvenlik önerisi ve en iyi uygulama mevcut. Bunlardan bazıları:

  • Looker için en az ayrıcalıklı veritabanı hesabı izinlerini ayarlayarak gerekli işlevleri yerine getirmesini sağlayın.
  • TLS 1.2+ kullanılarak şifrelenmiş halde istemci ile Looker kullanıcı arayüzü ile Looker'dan veritabanına geçiş hâlindeki veriler
  • Aktif olmayan veriler varsayılan olarak şifrelenir. Müşteri ayrıca Looker örnekleri ( https://cloud.google.com/looker/docs/looker-core-cmek) ve Postgres ( https://cloud.google.com/sql/docs/postgres/configure-cmek) için CMEK'den de yararlanabilir.
  • Looker Erişim Denetimi: Looker yöneticileri; içerik erişimi, veri erişimi ve özellik erişimi vererek bir ilke veya kullanıcı grubunun Looker'da neler görebileceğini ve yapabileceğini kontrol edebilir. Bu seçenekler, Looker yöneticisinin model ve izin grubunu içeren belirli roller tanımlamasına ve verilere ayrıntılı erişim denetimi oluşturmasına olanak tanır.
  • Looker kimin ne zaman ve nerede ne yaptığını yakalayan Denetleme Günlükleri ve Veri Erişimi Günlükleri'ni destekler. Denetleme Günlükleri varsayılan olarak etkin olup Veri Erişimi günlüklerinin açık bir şekilde etkinleştirilmesi gerekir.
  • VPC-SC şu anda yalnızca özel IP ile yapılandırılan Enterprise ve Embed örneklerini desteklemektedir.

22. Temizleme

Looker Cloud Core örneğini silin. Şuraya gidin:

GÖRÜNTÜLÜ → arama öğretici → SİL

e5a2e3af9e7ffd40.png

Cloud Shell'den eğitim bileşenlerini silin.

gcloud compute vpn-tunnels delete analytics-vpc-tunnel0 analytics-vpc-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=us-central1 --quiet

gcloud compute vpn-gateways delete analytics-vpn-gw on-prem-vpn-gw --region=us-central1 --quiet

gcloud compute routers delete analytics-cr-us-central1 on-prem-cr-us-central1 on-prem-cr-us-central1-nat --region=us-central1 --quiet

gcloud compute instances delete postgres-database --zone=us-central1-a --quiet

gcloud compute networks subnets delete database-subnet-us-central1 --region=us-central1 --quiet

gcloud compute firewall-rules delete looker-access-to-postgres on-prem-ssh --quiet

gcloud dns record-sets delete postgres.analytics.com. --type=A --zone=gcp-private-zone
        
gcloud dns managed-zones delete gcp-private-zone

gcloud compute networks delete on-prem-vpc --quiet

gcloud compute addresses delete psa-range-looker --global --quiet

gcloud compute networks delete analytics-vpc --quiet

23. Tebrikler

Tebrikler, karma ağ iletişimi üzerinden Looker bağlantısını başarıyla yapılandırıp doğruladınız. Şirket içi ve çoklu bulut ortamlarında veri iletişimi sağladınız.

Ayrıca Looker Cloud Core'un postres veritabanına bağlantısını Looker Connect "Test"i kullanarak başarıyla test ettiniz. tool ve TCPDUMP öğelerini yükleyebilirsiniz.

Cosmopup, eğitici videoların çok iyi olduğunu düşünüyor.

e6d3675ca7c6911f.jpeg

Daha fazla bilgi ve Videolar

Referans belgeler