1. Giriş
Private Service Connect (PSC), hizmetlerin güvenli ve gizli şekilde kullanılmasını basitleştirir. Bu model, hizmet tüketicilerinin kuruluşlardaki hizmet üreticilerine özel olarak bağlanmasına olanak tanıyarak ağ mimarisini büyük ölçüde kolaylaştırır ve sanal özel bulut eşleme ihtiyacını ortadan kaldırır. Şekil 1'de VPC eşleme ve PSC özellikleri gösterilmektedir.
Şekil1. .
Hizmet tüketicisi olarak size özel IP'lerinizi hizmetlere nasıl ayıracağınızı seçme esnekliği sunar ve üretici VPC'leri için alt ağ aralıklarını yönetme yükünü ortadan kaldırır. Artık bir hizmet bağlantısı kullanarak VPC'nizden seçtiğiniz bir sanal IP'yi bu hizmete kolayca atayabilirsiniz.
Bu codelab'de, MongoDB atlas ile PSC küresel erişiminin kullanımını gösteren kapsamlı bir Private Service Connect mimarisi oluşturacaksınız.
Küresel erişim, istemcilerin bölgesel sınırlar içindeki Private Service Connect'e (PSC) bağlanmasına olanak tanır. Bu, birden çok bölgede barındırılan yönetilen hizmetler genelinde yüksek kullanılabilirlik oluşturmak veya istemcilerin, istemciyle aynı bölgede olmayan bir hizmete erişmesine izin vermek için kullanışlıdır.
2. Genel Erişimi Etkinleştirme
Genel erişim, tüketici tarafı iletim kuralında yapılandırılan isteğe bağlı bir özelliktir. Aşağıdaki komut, yapılandırmanın nasıl yapıldığını gösterir:
gcloud beta compute forwarding-rules create psc-west \ --region=us-west1 \ --network=consumer-vpc \ --address=psc-west-address \ --target-service-attachment=projects/.../serviceAttachments/sa-west \ --allow-psc-global-access
--allow-psc-global-access
işareti, Private Service Connect uç noktasında genel erişime olanak tanır- Genel erişim, istemcinin Private Service Connect iletim kuralından farklı bir bölgede olmasına izin verir ancak iletim kuralının bağlı olduğu hizmet eki ile aynı bölgede olması gerekir.
- Genel erişimi etkinleştirmek için üreticinin hizmet ekinde yapılandırma gerekmez. Bu tamamen tüketici tarafında bir seçenektir.
Ayrıca, mevcut uç noktalar için genel erişim herhangi bir zamanda açılıp kapatılabilir. Mevcut bir uç noktalarda genel erişim etkinleştirilirken etkin bağlantılarda trafikte kesinti olmaz. Genel Erişim, mevcut bir yönlendirme kuralında aşağıdaki komutla etkinleştirilir:
gcloud beta compute forwarding-rules update psc-west --allow-psc-global-access
Genel Erişimi Devre Dışı Bırakma
Genel erişim, --no-allow-psc-global-access
işaretiyle mevcut iletim kurallarında da devre dışı bırakılabilir. Etkin bölgeler arası trafiğin bu komut çalıştırıldıktan sonra sonlandırılacağını unutmayın.
gcloud beta compute forwarding-rules update psc-west --no-allow-psc-global-access
3. Neler oluşturacaksınız?
- Sırasıyla us-west1 ve us-west2 bölgelerinde iki düğümlü çok bölgeli bir MongoDB Atlas kümesi (Şekil2'de açıklanan topoloji) oluşturulacak.
- us-west1 ve us-west2 bölgelerindeki MongoDB kümelerine erişecek bir tüketici VPC'si ve ilişkili sanal makine.
- Her alt ağda en az 64 ücretsiz IP adresi bulunan us-west1 ve us-west2 bölgelerinde sırasıyla bir VPC ve iki alt ağ (/26 ve altı ile alt ağ oluşturun).
MongoDB istemcisi tüketici VPC'sindeki vm1'e yüklenecek. us-west1 bölgesinde birincil düğüm başarısız olduğunda istemci us-west2 bölgesindeki yeni birincil düğüm üzerinden okuma/yazma işlemi gerçekleştirebilir.
Şekil 2.
Neler öğreneceksiniz?
- İki bölgede dağıtılan bir VPC ve alt ağlar oluşturma
- Çok bölgeli MongoDB atlas kümesi dağıtma
- Özel uç nokta oluşturma
- MongoDB'ye bağlanma
- Çok bölgeli MongoDB yük devretme işlemini gerçekleştirme ve doğrulama
Gerekenler
- Google Cloud Projesi
- Bölge başına bir /26 alt ağı sağlayın
- Proje sahibi veya kuruluş sahibi, küme katmanı M10 veya üzeri olan bir MongoDB kümesi oluşturmak için MongoDB Atlas'a erişebilir. (PoV'yi çalıştırarak ücretsiz kredi almak için lütfen GETATLAS'ı kullanın.)
4. Başlamadan önce
Codelab'i desteklemek için projeyi güncelleme
Bu Codelab, Cloud Shell'de gcloud yapılandırması uygulamasına yardımcı olmak için $variables kullanı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]
projectname=YOUR-PROJECT-NAME
echo $projectname
5. Tüketici Kurulumu
Tüketici VPC'si oluşturma
Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:
gcloud compute networks create consumer-vpc --project=$projectname --subnet-mode=custom
Tüketici alt ağlarını oluşturma
Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:
gcloud compute networks subnets create vm-subnet --project=$projectname --range=10.10.10.0/29 --network=consumer-vpc --region=us-west1
Cloud Shell'in içinde us-west1 için tüketici uç noktası oluşturun:
gcloud compute networks subnets create psc-endpoint-us-west1 --project=$projectname --range=192.168.10.0/26 --network=consumer-vpc --region=us-west1
Cloud Shell'in içinde us-west2 için tüketici uç noktası oluşturun:
gcloud compute networks subnets create psc-endpoint-us-west2 --project=$projectname --range=172.16.10.0/26 --network=consumer-vpc --region=us-west2
Cloud Yönlendirici ve NAT yapılandırması
Sanal makine örneklerinin harici IP adresi olmadığından, codelab'de yazılım paketi kurulumu için Cloud NAT kullanılır.
Cloud Shell'in içinde bulut yönlendiricisini oluşturun.
gcloud compute routers create consumer-cr --network consumer-vpc --region us-west1
Cloud Shell'in içinde NAT ağ geçidini oluşturun.
gcloud compute routers nats create consumer-nat --router=consumer-cr --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-west1
Örnek sanal makine1 yapılandırması
Aşağıdaki bölümde Compute Engine örneğini (vm1) oluşturacaksınız.
Cloud Shell'in içinde vm1 örneği oluşturun.
gcloud compute instances create vm1 \
--project=$projectname \
--zone=us-west1-a \
--machine-type=e2-micro \
--network-interface=subnet=vm-subnet,no-address \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--create-disk=auto-delete=yes,boot=yes,device-name=vm1,image=projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20230213,mode=rw,size=10,type=projects/$projectname/zones/us-west1-a/diskTypes/pd-balanced
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump -y
sudo apt-get install dnsutils -y"
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'in içinde IAP güvenlik duvarı kuralını oluşturun.
gcloud compute firewall-rules create ssh-iap-consumer-vpc \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
6. Çok bölgeli MongoDB Atlas kümesini oluşturma
- PSC kurulumuna başlamadan önce bir Atlas kümesi oluşturmamız gerekiyor. MongoDB Atlas'a aşağıdaki iki yöntemden birini kullanarak abone olabilirsiniz:
- Google Cloud hesabınız varsa Google Cloud Marketplace üzerinden. Aboneliğinizi ayarlamak için belgeleri inceleyin.
- Atlas kayıt sayfası ile.
- Atlas'a abone olduktan sonra, aşağıda gösterildiği gibi Build a Database (Veritabanı Oluştur) düğmesini tıklayın.
- Yeni küme oluştur → Özel
- Bulut sağlayıcısı ve bölge → Google Cloud
- Çoklu bulut, çoklu bölge ve iş yükü yalıtımı → Seçili (mavi onay)
- Seçilebilir düğümler → us-west1 (1 düğüm), us-west2 (2 düğüm)
- Küme katmanı → M10, Diğer tüm ayarları varsayılan olarak bırakın
- Küme adı → psc-mongodb-uswest1-uswest2
- Seç → Küme Oluştur
- Veritabanı oluşturma işlemi 7-10 dakika sürer
Kümenin dağıtıldıktan sonra görünümü
7. us-west1 için özel uç nokta oluşturma
- Atlas hesabınıza giriş yapın ve projenize gidin.
Tüm veritabanlarına okuma/yazma erişimi vermek için yeni bir kullanıcı oluşturma
Güvenlik → Veritabanı Erişimi Yeni veritabanı kullanıcısı ekle'yi seçin. Aşağıda, codelab olarak yapılandırılan bir kullanıcı adı ve şifre örneği verilmiştir. Yerleşik rol okumayı ve herhangi bir veritabanına yazma işlemini seçtiğinizden emin olun.
- Güvenlik → Ağ Erişimi altında, IP Erişim Listesi bir giriş gerektirmez
MongoDB Atlas'ta Özel Uç Nokta Hazırlama
- Ağ erişimi → Özel Uç Noktalar → Özel küme → Özel uç nokta ekle
Bulut sağlayıcı
- Google Cloud'u seçip sonrakine geçin
Hizmet eki
- Bölgeyi seçin, us-west1, ardından ileri
Uç noktalar
- Özel hizmet bağlantı uç noktası oluşturmak için aşağıdakileri sağlayın:
- Google Cloud proje kimliği: "Talimatları göster"i seçin ayrıntılar için
- VPC adı: consumer-vpc
- Alt ağ adı: psc-endpoint-us-west1
- Private Service Connect uç nokta öneki: psc-endpoint-us-west1
Uç noktaları ayarlama
Aşağıdaki bölümde kurulum_psc.sh adlı yerel olarak kaydedilmesi gereken bir kabuk komut dosyası oluşturulmuştur. Kaydedildikten sonra, kabuk komut dosyasını psc'ye genel erişime izin verecek şekilde düzenleyin. Bu işlemi Google Cloud projesi Cloud Shell'de gerçekleştirebilirsiniz.
- Örnek kabuk komut dosyası, çıkışınız farklı değerlere sahip olacak
- Kabuk komut dosyasını MongoBD konsolundan kopyalayıp içeriği Google Cloud Shell terminaline kaydedin. Komut dosyasını setup_psc.sh olarak kaydettiğinizden emin olun.
Güncellemeden önceki örnek:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west1-ip-$i --region=us-west1 --subnet=psc-endpoint-us-west1
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west1-ip-$i --region=us-west1 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west1-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i
done
if [ $(gcloud compute forwarding-rules list --regions=us-west1 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west1*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west1. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west1 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west1*)" > atlasEndpoints-psc-endpoint-us-west1.json
Kabuk komut dosyasını, genel erişimi destekleyecek şekilde güncelleme
Kabuk komut dosyasını tanımlamak ve aşağıdaki söz dizimiyle güncellemek için nano veya vi düzenleyiciyi kullanın:
gcloud beta compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
Güncelleme sonrası örnek:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west1-ip-$i --region=us-west1 --subnet=psc-endpoint-us-west1
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west1-ip-$i --region=us-west1 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west1-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud beta compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
if [ $(gcloud compute forwarding-rules list --regions=us-west1 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west1*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west1. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west1 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west1*)" > atlasEndpoints-psc-endpoint-us-west1.json
Kabuk komut dosyasını çalıştırma
Setup_psc.sh komut dosyasını bulup çalıştırın. Komutun çalışması tamamlandığında atlasEndpoints-psc-endpoint-us-west1.json adlı dosya oluşturulur. Bu json dosyası, dağıtımın bir sonraki adımı için gerekli olan IP adreslerinin ve Private Service Connect Uç Nokta Adlarının listesini içerir.
Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:
sh setup_psc.sh
Komut dosyası tamamlandıktan sonra yerel olarak atlasEndpoints-psc-endpoint-us-west1.json dosyasını indirmek için Cloud Shell düzenleyicisini kullanın.
JSON dosyasını yükleme
Daha önce kaydedilen atlasEndpoints-psc-endpoint-us-west1.json JSON dosyasını yükleyin.
Oluştur'u seçin
Private Service Connect uç noktalarını doğrulama
MongoDB kullanıcı arayüzünde projenize gidin, ardından Güvenlik → Ağ erişimi → Özel uç nokta'yı tıklayın. Sekmeyi ve özel kümeyi seçtiğinizde uç nokta geçişi 10 dakika sürer.
Kullanılabilir durum
Google Cloud Console'da Ağ hizmetleri → Private Services Connect'e gidin, Beklemede → Kabul edildi (aşağıdaki örnek) gösterilen tüketici uç noktalarını gösteren Bağlı uç nokta sekmesini seçin:
8. us-west2 için özel uç nokta oluşturma
- Atlas hesabınıza giriş yapın ve projenize gidin.
MongoDB Atlas'ta Özel Uç Nokta Hazırlama
- Ağ erişimi → Özel Uç Noktalar → Özel küme → Özel uç nokta ekle
Bulut sağlayıcı
- Google Cloud'u seçip sonrakine geçin
Hizmet eki
- Bölgeyi seçin, us-west2, ardından ileri
Uç noktalar
- Özel hizmet bağlantı uç noktası oluşturmak için aşağıdakileri sağlayın:
- Google Cloud proje kimliği: "Talimatları göster"i seçin ayrıntılar için
- VPC adı: consumer-vpc
- Alt ağ adı: psc-endpoint-us-west2
- Private Service Connect uç nokta öneki: psc-endpoint-us-west2
Uç noktaları ayarlama
Aşağıdaki bölümde kurulum_psc.sh adlı yerel olarak kaydedilmesi gereken bir kabuk komut dosyası oluşturulmuştur. Kaydedildikten sonra, kabuk komut dosyasını psc'ye genel erişime izin verecek şekilde düzenleyin. Bu işlemi Google Cloud projesi Cloud Shell'de gerçekleştirebilirsiniz.
- Örnek kabuk komut dosyası, çıkışınız farklı değerlere sahip olacak
- Kabuk komut dosyasını MongoBD konsolundan kopyalayıp içeriği Google Cloud Shell terminaline kaydedin. Komut dosyasını setup_psc.sh olarak kaydettiğinizden emin olun.
Güncellemeden önceki örnek:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west2-ip-$i --region=us-west2 --subnet=psc-endpoint-us-west2
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west2-ip-$i --region=us-west2 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west2-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i
done
if [ $(gcloud compute forwarding-rules list --regions=us-west2 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west2*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west2. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west2 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west2*)" > atlasEndpoints-psc-endpoint-us-west2.json
Kabuk komut dosyasını, genel erişimi destekleyecek şekilde güncelleme
Kabuk komut dosyasını tanımlamak ve aşağıdaki söz dizimiyle güncellemek için nano veya vi düzenleyiciyi kullanın:
gcloud beta compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2v
n1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
Güncelleme sonrası örnek:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west2-ip-$i --region=us-west2 --subnet=psc-endpoint-us-west2
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west2-ip-$i --region=us-west2 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west2-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud beta compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2v
n1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
if [ $(gcloud compute forwarding-rules list --regions=us-west2 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west2*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west2. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west2 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west2*)" > atlasEndpoints-psc-endpoint-us-west2.json
Kabuk komut dosyasını çalıştırma
Setup_psc.sh komut dosyasını bulup çalıştırın. Komutun çalışması tamamlandığında atlasEndpoints-psc-endpoint-us-west2.json adlı dosya oluşturulur. Bu json dosyası, dağıtımın bir sonraki adımı için gerekli olan IP adreslerinin ve Private Service Connect Uç Nokta Adlarının listesini içerir.
Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:
sh setup_psc.sh
Komut dosyası tamamlandıktan sonra, atlasEndpoints-psc-endpoint-us-west2.json dosyasını yerel olarak indirmek için Cloud Shell düzenleyicisini kullanın.
JSON dosyasını yükleme
Daha önce kaydedilen atlasEndpoints-psc-endpoint-us-west2.json JSON dosyasını yükleyin.
Oluştur'u seçin
Private Service Connect uç noktalarını doğrulama
MongoDB kullanıcı arayüzünde projenize gidin, ardından Güvenlik → Ağ erişimi → Özel uç nokta'yı tıklayın. Sekmeyi, özel kümeyi ve uç nokta geçişinin 10 dakika sonra kullanılabilir olarak ayarlanmasını seçin.
Kullanılabilir durum:
Google Cloud Console'da Ağ hizmetleri → Private Services Connect'e gidin, Beklemede → Kabul edildi (aşağıdaki örnek) gösterilen tüketici uç noktalarını gösteren Bağlı uç nokta sekmesini seçin. Tüketici uç noktasında toplam 100 uç nokta dağıtılıyor ve sonraki adıma geçmeden önce kabul edildi durumuna geçmeniz gerekir.
9. Özel uç noktalardan MongoDB atlasa bağlanma
Özel Hizmet Bağlantıları Kabul Edildikten sonra, MongoDB kümesini güncellemek için ek süre (10-15 dakika) gerekir. MongoDB kullanıcı arayüzünde gri dış çizgili küme güncellemesini temsil eder. Bu nedenle, özel uç noktaya bağlanılamaz.
Dağıtımı tanımlayın ve Bağlan'ı seçin (gri kutu artık olmadığına dikkat edin)
Bağlantı türü → Özel uç nokta, Bağlantı yöntemi seçin'i seçin
MongoDB Shell ile bağlan'ı seçin
MongoDB Shell'i (Ubuntu 20.4) yüklemedim ve 1. adım ile 3. adımdaki içerikleri not defterine kopyaladığınızdan emin olun.
10. Mongosh uygulamasını yükle
Yüklemeden önce, 1 ve 3. adımlarda açıklanan önceden kopyalanan değerlere dayalı bir komut dizesi oluşturmanız gerekir. Ardından, Cloud Shell'i kullanarak vm1'e SSH uygulayacaksınız. Ardından, birincil (us-west1) veritabanına mongosh uygulama yükleme ve doğrulama gerçekleştireceksiniz. Consumer-vpc'de vm1 oluşturulurken Ubuntu 20.4 görüntüsü yüklendi.
Bağlantı yöntemi seçin: 1. adım, İndirme URL'sini kopyalayın
Özel değerlerinizle değiştirin örnek komut dizesi:
https://downloads.mongodb.com/compass/mongodb-mongosh_1.7.1_amd64.deb
Bir bağlantı yöntemi seçin, 3. adım.
Özel değerlerinizle değiştirin örnek komut dizesi:
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
vm1'e giriş yapma
Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
Cloud Shell'de IAP kullanarak vm1'e giriş yapın, zaman aşımı varsa tekrar deneyin.
gcloud compute ssh vm1 --project=$projectname --zone=us-west1-a --tunnel-through-iap
İşletim sisteminden yüklemeyi gerçekleştirme
Yüklemeyi Cloud Shell os girişinden yapın, ek bilgi mevcut, aşağıdaki söz dizimini özel dizenizle güncelleyin
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
İşlem,
OK
.
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update -y
wget https://downloads.mongodb.com/compass/mongodb-mongosh_1.7.1_amd64.deb
sudo dpkg -i mongodb-mongosh_1.7.1_amd64.deb
MongoDB dağıtımına bağlanma
Cloud Shell işletim sistemine giriş bölümünde aşağıdaki işlemleri gerçekleştirin. Yapılandırılan kullanıcı adı ve şifre codelab'dir.
mongosh
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
Aşağıda bir örnek gösterilmiştir:
Veritabanında komut çalıştırma
Cloud Shell işletim sistemine giriş bölümünde aşağıdaki işlemleri gerçekleştirin.
show dbs
use Company
db.Employee.insertOne({"Name":"cosmo","dept":"devops"})
db.Employee.findOne({"Name":"cosmo"})
11. Yük devretme etkin MongoDB bölgesi, us-west1
Yük devretmeyi gerçekleştirmeden önce us-west1'in birincil, us-west2'nin ise iki ikincil düğümü olduğunu doğrulayalım.
Veritabanına git → psc-mongodb-uswest1-uswest2 → Genel Bakış
Aşağıdaki bölümde us-west1 bölgesinde bulunan vm1'e giriş yapın, us-west1 birincil MongoDB küme bölgesinin yük devretmesini yapın ve veritabanına us-west2 bölgesindeki MongoDB kümesinden hâlâ erişilebildiğini doğrulayın.
Atlas kullanıcı arayüzünden hem birincil hem de bölgesel yük devretmeyi test edebilirsiniz.
- Atlas kullanıcı arayüzüne giriş yapın.
- Küme adınızın yanındaki [...] simgesini tıklayın (psc-mongodb-uswest1-uswest2 → Test Kesintisi).
- Bölgesel Kesinti → Bölgeleri seçin.
- Birincil bölge olan us-west1→ Bölgesel Kesintiyi Simüle Et'i seçin.
Seçilen küme, 3-4 dakika sonra kesinti simülasyonunu gösterir
Pencereyi kapat
us-west1'in çöktüğünü ve us-west2'nin birincil olarak devralındığını doğrulayın
Veritabanına git → psc-mongodb-uswest1-uswest2 → Genel Bakış
Küme bağlantısını yeni birincil us-west2 ile doğrulayın
us-west1 bölgesindeki vm1'e giriş yapın ve us-west2 bölgesindeki mongodb'ye erişin. Özel hizmet bağlantısını kullanarak genel erişimi doğrulayın.
Cloud Shell oturumunuz sonlandırıldıysa aşağıdakileri 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]
projectname=YOUR-PROJECT-NAME
echo $projectname
Cloud Shell'de IAP kullanarak vm1'e giriş yapın, zaman aşımı varsa tekrar deneyin.
gcloud compute ssh vm1 --project=$projectname --zone=us-west1-a --tunnel-through-iap
MongoDB dağıtımına bağlanma
Cloud Shell işletim sistemine giriş bölümünde aşağıdaki işlemleri gerçekleştirin.
mongosh
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
Aşağıda bir örnek gösterilmiştir:
Veritabanında komut çalıştırma
Cloud Shell işletim sistemine giriş bölümünde aşağıdaki işlemleri gerçekleştirin.
show dbs
use Company
db.Employee.insertOne({"Name":"cosmo","dept":"devops"})
db.Employee.findOne()
exit
Başarı: PSC küresel erişiminin, yüksek kullanılabilirliğe yardımcı olmak veya bölgesel kesintiler nedeniyle bölgeler arasında sorunsuz tüketici uç noktası bağlantısına olanak sağladığını doğruladınız. Codelab'de MongoDB bölgesel yük devretme işlemi, us-west1 konumundaki birincil düğümde meydana geldiğinden, us-west2 ikincil bölgesi birincil düğümü devraldı. Küme bölgesel kesintiye neden olmasına rağmen us-west1 bölgesinde bulunan tüketici vm1'i us-west2 bölgesindeki yeni birincil kümeye başarıyla ulaştı.
12. Temizleme
Cloud Console'dan tüketici uç noktalarını silme
Ağ hizmetleri → Private Service Connect → BAĞLI UÇ NOKTALAR'a gidin
Laboratuvar dışı tüketici uç noktalarının silinme olasılığını ortadan kaldırmak için psc-endpoint filtresini kullanın. Tüm uç noktaları seç → DELETE
Tüketici uç noktalarıyla ilişkili statik dahili IP adreslerini silin
VPC ağına gidin → consumer-vpc→ STATIC DAHİLİ IP ADRELERİ
Laboratuvar dışı tüketici uç noktalarının silinme olasılığını ortadan kaldırmak ve sayfa başına satır sayısını 100'e çıkarmak için psc-endpoint filtresini kullanın. Tüm uç noktaları seç → YAYINLA
Cloud Shell'den codelab bileşenlerini silin.
gcloud compute instances delete vm1 --zone=us-west1-a --quiet
gcloud compute networks subnets delete psc-endpoint-us-west1 vm-subnet --region=us-west1 --quiet
gcloud compute networks subnets delete psc-endpoint-us-west2 --region=us-west2 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --quiet
gcloud compute routers delete consumer-cr --region=us-west1 --quiet
gcloud compute networks delete consumer-vpc --quiet
Atlas kullanıcı arayüzünden psc-mongodb-uswest1-uswest2 kümesini tanımlayın → Simülasyonu sonlandır
Kesinti simülasyonunu sonlandır —> seçeneğini belirleyin Çık
Küme artık us-west1 alanını birincil olarak geri döndürüyor. Bu işlem 3-4 dakika sürecek. İşlem tamamlandığında kümeyi sonlandırın. Durum değişikliğini gösteren gri dış çizgiye dikkat edin.
Küme adını ekleyin → Sonlandır
us-west1 ve us-west2 ile ilişkili özel uç noktayı silin
Atlas kullanıcı arayüzünden Güvenlik → Ağ Erişimi → Özel Uç Nokta → Sonlandır'ı seçin.
13. Tebrikler
Tebrikler, bölgeler arasında MongoDB'ye küresel erişim sunan bir Private Service Connect uç noktasını başarıyla yapılandırıp doğruladınız. Tüketici VPC'si, çok bölgeli MongoDB ve tüketici uç noktalarını başarıyla oluşturdunuz. us-west1 bölgesinde bulunan bir sanal makine, bölgesel yük devretme sonrasında hem us-west1 hem de us-west2 bölgelerinde MongoDB'ye başarıyla bağlandı.
Cosmopup, codelab'lerin muhteşem olduğunu düşünüyor!!
Sırada ne var?
Bu codelab'lerden bazılarına göz atın...
- GKE ile hizmetleri yayınlamak ve kullanmak için Private Service Connect'i kullanma
- Hizmetleri yayınlamak ve kullanmak için Private Service Connect'i kullanma
- Private Service Connect ve dahili TCP Proxy yük dengeleyici kullanarak Karma Ağ İletişimi üzerinden şirket içi hizmetlere bağlanma
- Private Service Connect'i otomatik DNS yapılandırmasıyla kullanma
Daha fazla bilgi ve Videolar
- Private Service Connect'e genel bakış
- Private Service Connect nedir?
- Desteklenen Yük Dengeleyici Türleri