কিভাবে AlloyDB এর জন্য একটি প্রাইভেট সার্ভিস কানেক্ট তৈরি করবেন

1. ভূমিকা

এই কোডল্যাবে আপনি কীভাবে AlloyDB-এর জন্য একটি ব্যক্তিগত পরিষেবা সংযোগ স্থাপন করবেন এবং কীভাবে স্থাপন করা ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে AlloyDB পরিষেবা অ্যাক্সেস করবেন তা শিখবেন।

1cd460fc0abeee2c.png

আপনি এখানে Private Service Connect সম্পর্কে আরও তথ্য পেতে পারেন।

পূর্বশর্ত

  • Google ক্লাউড কনসোলের একটি প্রাথমিক ধারণা
  • কমান্ড লাইন ইন্টারফেস এবং গুগল ক্লাউড শেলের প্রাথমিক দক্ষতা

আপনি কি শিখবেন

  • কিভাবে একটি AlloyDB ক্লাস্টার এবং উদাহরণ স্থাপন করবেন
  • কিভাবে একটি প্রাইভেট সার্ভিস কানেক্ট স্থাপন করবেন
  • কিভাবে একটি VM থেকে একটি AlloyDB ইন্সট্যান্সে প্রাইভেট সার্ভিস কানেক্টের মাধ্যমে সংযোগ করবেন

আপনি কি প্রয়োজন হবে

  • একটি Google ক্লাউড অ্যাকাউন্ট এবং Google ক্লাউড প্রকল্প
  • একটি ওয়েব ব্রাউজার যেমন ক্রোম

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

295004821bab6a87.png37d264871000675d.png5e3ff691252acf41.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি যে কোনো সময় এটি আপডেট করতে পারেন.
  • সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এটি সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করে দেখতে পারেন এবং এটি উপলব্ধ কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকবে।
  • আপনার তথ্যের জন্য, একটি তৃতীয় মান রয়েছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।

সতর্কতা: একটি প্রকল্প আইডি বিশ্বব্যাপী অনন্য এবং আপনি এটি নির্বাচন করার পরে অন্য কেউ ব্যবহার করতে পারবেন না। আপনি সেই আইডির একমাত্র ব্যবহারকারী। এমনকি একটি প্রকল্প মুছে ফেলা হলেও, আইডিটি আবার ব্যবহার করা যাবে না

  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।

Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:

55efc1aaa7a4d3ad.png

পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:

7ffe5cbb04455448.png

এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারে করা যেতে পারে। আপনার কিছু ইন্সটল করার দরকার নেই।

3. আপনি শুরু করার আগে

API সক্ষম করুন

আপনি যদি প্রচারমূলক স্তর ব্যবহার না করেন তাহলে অনুগ্রহ করে সচেতন থাকুন যে কিছু সম্পদ আপনার সক্ষম করার জন্য কিছু খরচ করতে হবে। স্বাভাবিক পরিস্থিতিতে যদি ল্যাব শেষ হওয়ার পরে সমস্ত সংস্থান ধ্বংস হয়ে যায় তবে সমস্ত সংস্থানের খরচ $5-এর বেশি হবে না। আমরা আপনার বিলিং পরীক্ষা করার এবং অনুশীলনটি আপনার জন্য গ্রহণযোগ্য কিনা তা নিশ্চিত করার পরামর্শ দিই।

ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেটআপ করা আছে:

সাধারণত প্রজেক্ট আইডিটি ক্লাউড শেলের কমান্ড প্রম্পটে বন্ধনীতে দেখানো হয় যেমনটি ছবিতে দেখানো হয়েছে:

edbf16c09a01fbab.png

gcloud config set project [YOUR-PROJECT-ID]

একটি উইন্ডো পপ আপ হবে যা ক্লাউড শেল অনুমোদনের জন্য জিজ্ঞাসা করবে। অনুগ্রহ করে Authorize এ ক্লিক করুন

33fbeb082b3aac19.png

তারপর আপনার Google ক্লাউড প্রকল্প আইডিতে PROJECT_ID পরিবেশ পরিবর্তনশীল সেট করুন:

PROJECT_ID=$(gcloud config get-value project)

আপনার পছন্দের অঞ্চল এবং অঞ্চলে অঞ্চল এবং অঞ্চল পরিবেশ পরিবর্তনশীল সেট করুন:

REGION=europe-west4
ZONE=europe-west4-a

সমস্ত প্রয়োজনীয় পরিষেবাগুলি সক্ষম করুন:

gcloud services enable compute.googleapis.com \
                       alloydb.googleapis.com \
                       dns.googleapis.com \
                       servicenetworking.googleapis.com \
                       iam.googleapis.com 

প্রত্যাশিত আউটপুট:

student@cloudshell:~ (psc-alloydb-test)$ gcloud services enable compute.googleapis.com \
                       alloydb.googleapis.com \
                       dns.googleapis.com \
                       servicenetworking.googleapis.com \
                       iam.googleapis.com
Operation "operations/acat.p2-981315804223-09b8112e-2c2c-4a30-9018-c27e6a06c199" finished successfully.

4. একটি AlloyDB ক্লাস্টার স্থাপন করুন

ক্লাউড শেলে আপনি প্রাইভেট সার্ভিস সংযোগ সক্ষম করে একটি নতুন AlloyDB ক্লাস্টার তৈরি করতে কমান্ড লাইন ব্যবহার করতে পারেন:

gcloud alloydb clusters create alloydb-cluster-01 \
    --password=changeme \
    --region=$REGION \
    --project=$PROJECT_ID \
    --enable-private-service-connect

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$   gcloud alloydb clusters create alloydb-cluster-01 \
    --password=changeme \
    --region=$REGION \
    --project=$PROJECT_ID \
    --enable-private-service-connect
Operation ID: operation-1739367760591-62df21d80fae8-9aa7c3ab-64604bae
Creating cluster...done.

এখন একটি AlloyDB প্রাথমিক উদাহরণ তৈরি করুন:

gcloud alloydb instances create alloydb-instance-01 \
      --instance-type=PRIMARY \
      --cpu-count=2 \
      --availability-type=ZONAL \
      --region=$REGION \
      --cluster=alloydb-cluster-01 \
      --project=$PROJECT_ID \
      --allowed-psc-projects=$PROJECT_ID

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$   gcloud alloydb instances create alloydb-instance-01 \
      --instance-type=PRIMARY \
      --cpu-count=2 \
      --availability-type=ZONAL \
      --region=$REGION \
      --cluster=alloydb-cluster-01 \
      --project=$PROJECT_ID \
      --allowed-psc-projects=$PROJECT_ID
Operation ID: operation-1739368280521-62df23c7e7bda-7e52597c-8c7d9d79
Creating instance...done.

5. প্রাইভেট সার্ভিস কানেক্ট সেটআপ করুন

নিম্নলিখিত নেটওয়ার্ক সম্পর্কিত কাজের জন্য অনুমান করা হয় যে ডিফল্ট নামে একটি ভিপিসি রয়েছে।

একটি অভ্যন্তরীণ আইপি ঠিকানা সংরক্ষণ করুন

পরিবেশ পরিবর্তনশীল অঞ্চলে উল্লেখ করা GCP অঞ্চলে VPC সাবনেট CIDR পরিসর খুঁজুন এবং Privat Service Connect এন্ডপয়েন্টের জন্য এই CIDR পরিসরে একটি বিনামূল্যের IP ঠিকানা বেছে নিন:

gcloud compute networks subnets describe default \
             --region=$REGION --project=$PROJECT_ID \
             --format="value(ipCidrRange)"

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute networks subnets describe default \
             --region=$REGION --project=$PROJECT_ID \
             --format="value(ipCidrRange)"
10.164.0.0/20

উপরে প্রাপ্ত VPC সাবনেট CIDR পরিসরে প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্টের জন্য একটি অভ্যন্তরীণ IP ঠিকানা সংরক্ষণ করুন:

gcloud compute addresses create alloydb-psc \
--project=$PROJECT_ID \
--region=$REGION \
--subnet=default \
--addresses=10.164.0.10

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute addresses create alloydb-psc \
--project=$PROJECT_ID \
--region=$REGION \
--subnet=default \
--addresses=10.164.0.10
Created [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/regions/europe-west4/addresses/alloydb-psc].

যাচাই করুন যে অভ্যন্তরীণ আইপি ঠিকানাটি সংরক্ষিত এবং আইপি ঠিকানাটির জন্য স্থিতি সংরক্ষিত রয়েছে।

gcloud compute addresses list --project=$PROJECT_ID \
     --filter="name=alloydb-psc"

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute addresses list --project=$PROJECT_ID \
--filter="name=alloydb-psc"
NAME: alloydb-psc
ADDRESS/RANGE: 10.164.0.10
TYPE: INTERNAL
PURPOSE: GCE_ENDPOINT
NETWORK: 
REGION: europe-west4
SUBNET: default
STATUS: RESERVED

পরিষেবা সংযুক্তি URI পান

প্রাইভেট সার্ভিস কানেক্ট সক্ষম করে একটি AlloyDB ইনস্ট্যান্স তৈরি করার পরে, পরিষেবা সংযুক্তি URI পান এবং উপরে সংরক্ষিত অভ্যন্তরীণ IP ঠিকানার সাথে প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করতে এটি ব্যবহার করুন।

gcloud alloydb instances describe alloydb-instance-01 \
    --cluster=alloydb-cluster-01 \
    --region="$REGION" \
    --format="value(pscInstanceConfig.serviceAttachmentLink)" | \
    sed 's|.*/projects/|projects/|'

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud alloydb instances describe alloydb-instance-01 \
    --cluster=alloydb-cluster-01 \
    --region="$REGION" \
    --format="value(pscInstanceConfig.serviceAttachmentLink)" | \
    sed 's|.*/projects/|projects/|'
projects/se8c7a64d55e2e1f9p-tp/regions/europe-west4/serviceAttachments/alloydb-69f67b56-9fa-alloydb-instance-sa

প্রাইভেট সার্ভিস কানেক্ট তৈরি করুন

প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন এবং এটিকে AlloyDB সার্ভিস অ্যাটাচমেন্ট URI-তে নির্দেশ করুন:

gcloud compute forwarding-rules create alloydb-psc-ep \
--address=alloydb-psc \
--project=$PROJECT_ID \
--region=$REGION \
--network=default \
--target-service-attachment=projects/se8c7a64d55e2e1f9p-tp/regions/europe-west4/serviceAttachments/alloydb-69f67b56-9fa-alloydb-instance-sa \
--allow-psc-global-access

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute forwarding-rules create alloydb-psc-ep \
--address=alloydb-psc \
--project=$PROJECT_ID \
--region=$REGION \
--network=default \
--target-service-attachment=projects/se8c7a64d55e2e1f9p-tp/regions/europe-west4/serviceAttachments/alloydb-69f67b56-9fa-alloydb-instance-sa \
--allow-psc-global-access
Created [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/regions/europe-west4/forwardingRules/alloydb-psc-ep].

যাচাই করুন যে শেষ পয়েন্ট পরিষেবা সংযুক্তির সাথে সংযোগ করতে পারে:

gcloud compute forwarding-rules describe alloydb-psc-ep \
--project=$PROJECT_ID \
--region=$REGION \
--format="value(pscConnectionStatus)"

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute forwarding-rules describe alloydb-psc-ep \
--project=$PROJECT_ID \
--region=$REGION \
--format="value(pscConnectionStatus)"
ACCEPTED

একটি DNS পরিচালিত অঞ্চল কনফিগার করুন

AlloyDB উদাহরণের জন্য প্রস্তাবিত DNS নাম যোগ করার জন্য সংশ্লিষ্ট VPC নেটওয়ার্কে একটি ব্যক্তিগত DNS জোন তৈরি করা ভাল:

gcloud dns managed-zones create alloydb-dns \
--project=$PROJECT_ID \
--description="DNS zone for the AlloyDB instances" --dns-name=$REGION.alloydb-psc.goog. \
--networks=default \
--visibility=private

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud dns managed-zones create alloydb-dns \
--project=$PROJECT_ID \
--description="DNS zone for the AlloyDB instances" --dns-name=$REGION.alloydb-psc.goog. \
--networks=default \
--visibility=private
Created [https://dns.googleapis.com/dns/v1/projects/psc-alloydb-test/managedZones/alloydb-dns].

ব্যক্তিগত পরিষেবা সংযোগের জন্য একটি DNS রেকর্ড যুক্ত করুন৷

AlloyDB উদাহরণের জন্য প্রস্তাবিত DNS রেকর্ড পান:

gcloud alloydb instances describe alloydb-instance-01 \
--cluster=alloydb-cluster-01 --region=$REGION --project=$PROJECT_ID \
--format="value(pscInstanceConfig.pscDnsName)"

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud alloydb instances describe alloydb-instance-01 \
--cluster=alloydb-cluster-01 --region=$REGION --project=$PROJECT_ID \
--format="value(pscInstanceConfig.pscDnsName)"
69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog.

DNS পরিচালিত জোনে প্রস্তাবিত DNS রেকর্ড যোগ করুন

gcloud dns record-sets create 69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog. \
--project=$PROJECT_ID \
--type=A \
--rrdatas=10.164.0.10 \
--zone=alloydb-dns

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud dns record-sets create 69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog. \
--project=$PROJECT_ID \
--type=A \
--rrdatas=10.164.0.10 \
--zone=alloydb-dns
NAME: 69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog.
TYPE: A
TTL: 0
DATA: 10.164.0.10

6. গুগল কম্পিউট ইঞ্জিন ভার্চুয়াল মেশিন প্রস্তুত করুন

Google Compute Engine ভার্চুয়াল মেশিন স্থাপন করুন

ভার্চুয়াল মেশিন (VM) AlloyDB উদাহরণের সাথে সংযোগ করতে ব্যবহার করা হবে।

gcloud compute instances create alloydb-client \
    --zone=$ZONE \
--create-disk=auto-delete=yes,boot=yes,image=projects/debian-cloud/global/images/$(gcloud compute images list --filter="family=debian-12 AND family!=debian-12-arm64" --format="value(name)") \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --shielded-secure-boot \
    --network-interface=no-address

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute instances create alloydb-client \
    --zone=$ZONE \
--create-disk=auto-delete=yes,boot=yes,image=projects/debian-cloud/global/images/$(gcloud compute images list --filter="family=debian-12 AND family!=debian-12-arm64" --format="value(name)") \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --network-interface=no-address
Created [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/zones/europe-west4-a/instances/alloydb-client].
NAME: alloydb-client
ZONE: europe-west4-a
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE: 
INTERNAL_IP: 10.164.0.2
EXTERNAL_IP: 
STATUS: RUNNING

পোস্টগ্রেস ক্লায়েন্ট ইনস্টল করুন

ইন্টারনেটে আউটবাউন্ড ট্র্যাফিকের জন্য একটি ক্লাউড NAT তৈরি করুন যা VM লিনাক্স সংগ্রহস্থলগুলিতে অ্যাক্সেস করতে সক্ষম:

gcloud compute routers create cloud-nat-router \
    --network=default \
    --region=$REGION

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute routers create cloud-nat-router \
    --network=default \
    --region=$REGION
Creating router [cloud-nat-router]...done.                                                                                                                                                                                      
NAME: cloud-nat-router
REGION: europe-west4
NETWORK: default
gcloud compute routers nats create cloud-nat \
    --router=cloud-nat-router \
    --region=$REGION  \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute routers nats create cloud-nat \
    --router=cloud-nat-router \
    --region=$REGION  \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips
Creating NAT [cloud-nat] in router [cloud-nat-router]...done.

স্থাপন করা VM-এ PostgreSQL ক্লায়েন্ট সফ্টওয়্যার ইনস্টল করুন

VM এর সাথে সংযোগ করুন:

gcloud compute ssh --zone $ZONE "alloydb-client" --tunnel-through-iap --project $PROJECT_ID

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute ssh --zone $ZONE "alloydb-client" --tunnel-through-iap --project $PROJECT_ID
WARNING: 

To increase the performance of the tunnel, consider installing NumPy. For instructions,
please see https://cloud.google.com/iap/docs/using-tcp-forwarding#increasing_the_tcp_upload_bandwidth

Warning: Permanently added 'compute.3358765012415130370' (ED25519) to the list of known hosts.
Linux alloydb-client 6.1.0-29-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Creating directory '/home/student_tampferl_altostrat_com'.

VM এর ভিতরে সফ্টওয়্যার চলমান কমান্ড ইনস্টল করুন:

sudo apt-get update
sudo apt-get install --yes postgresql-client

প্রত্যাশিত আউটপুট

sudo apt-get update
sudo apt-get install --yes postgresql-client
Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B]
Get:5 file:/etc/apt/mirrors/debian-security.list Mirrorlist [39 B]
Get:7 https://packages.cloud.google.com/apt google-compute-engine-bookworm-stable InRelease [1321 B]
Get:2 https://deb.debian.org/debian bookworm InRelease [151 kB]              
Get:3 https://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]     
Get:4 https://deb.debian.org/debian bookworm-backports InRelease [59.0 kB]
...redacted...
update-alternatives: using /usr/share/postgresql/15/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
Setting up postgresql-client (15+248) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+deb12u9) ...

7. Private Service Connect এর মাধ্যমে Postgres ইন্সট্যান্সের জন্য AlloyDB এর সাথে সংযোগ করুন৷

ইনস্ট্যান্সের সাথে সংযোগ করুন

psql "dbname=postgres user=postgres host=69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog."

প্রত্যাশিত আউটপুট

student_tampferl_altostrat_com@alloydb-client:~$ psql "dbname=postgres user=postgres host=69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog."
Password for user postgres: 
psql (15.10 (Debian 15.10-0+deb12u1), server 15.7)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.

postgres=> 

ডাটাবেস তৈরি করুন এবং পরীক্ষা করুন

একটি ডাটাবেস তৈরি করুন

CREATE DATABASE company;

প্রত্যাশিত আউটপুট

postgres=> CREATE DATABASE company;
CREATE DATABASE
postgres=> 

সমস্ত ডাটাবেসের তালিকা করুন

\l

প্রত্যাশিত আউটপুট

     Name       |      Owner       | Encoding | Collate | Ctype | ICU Locale | Locale Provider |           Access privileges           
-----------------+------------------+----------+---------+-------+------------+-----------------+---------------------------------------
 alloydbadmin    | alloydbadmin     | UTF8     | C       | C     | und-x-icu  | icu             | 
 alloydbmetadata | alloydbadmin     | UTF8     | C       | C     | und-x-icu  | icu             | alloydbadmin=CTc/alloydbadmin        +
                 |                  |          |         |       |            |                 | alloydbmetadata=c/alloydbadmin
 company         | postgres         | UTF8     | C       | C     | und-x-icu  | icu             | 
 postgres        | alloydbsuperuser | UTF8     | C       | C     | und-x-icu  | icu             | 
 template0       | alloydbadmin     | UTF8     | C       | C     | und-x-icu  | icu             | =c/alloydbadmin                      +
                 |                  |          |         |       |            |                 | alloydbadmin=CTc/alloydbadmin
 template1       | alloydbsuperuser | UTF8     | C       | C     | und-x-icu  | icu             | =c/alloydbsuperuser                  +
                 |                  |          |         |       |            |                 | alloydbsuperuser=CTc/alloydbsuperuser
(6 rows)

কর্মীদের ডাটাবেসের সাথে সংযোগ করুন

\c company

প্রত্যাশিত আউটপুট

postgres=> \c company
psql (15.10 (Debian 15.10-0+deb12u1), server 15.7)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
You are now connected to database "company" as user "postgres".
company=>

কোম্পানির ডাটাবেসে একটি টেবিল তৈরি করুন

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    first VARCHAR(255) NOT NULL,
    last VARCHAR(255) NOT NULL,
    salary DECIMAL (10, 2)
);

প্রত্যাশিত আউটপুট

company=> CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    first VARCHAR(255) NOT NULL,
    last VARCHAR(255) NOT NULL,
    salary DECIMAL (10, 2)
);
CREATE TABLE

কোম্পানীর ডাটাবেসের কর্মচারীদের টেবিলে ডেটা সন্নিবেশ করান

INSERT INTO employees (first, last, salary) VALUES
    ('Max', 'Mustermann', 5000.00),
    ('Anna', 'Schmidt', 7000.00),
    ('Peter', 'Mayer', 6000.00);

প্রত্যাশিত আউটপুট

company=> INSERT INTO employees (first, last, salary) VALUES
    ('Max', 'Mustermann', 5000.00),
    ('Anna', 'Schmidt', 7000.00),
    ('Peter', 'Mayer', 6000.00);
INSERT 0 3
company=>

প্রশ্ন কর্মীদের টেবিল

SELECT * FROM employees;

প্রত্যাশিত আউটপুট

company=> SELECT * FROM employees;
 id | first |    last    | salary  
----+-------+------------+---------
  1 | Max   | Mustermann | 5000.00
  2 | Anna  | Schmidt    | 7000.00
  3 | Peter | Mayer      | 6000.00
(3 rows)
company=> 

পোস্টগ্রেস ডাটাবেস এবং ভিএম থেকে প্রস্থান করুন এবং ক্লাউড শেলে ফিরে আসুন:

\q
exit

প্রত্যাশিত আউটপুট

company=> \q
student_tampferl_altostrat_com@alloydb-client:~$ exit
logout
Connection to compute.3358765012415130370 closed.
student@cloudshell:~ (psc-alloydb-test)$ 

8. পরিবেশ পরিষ্কার করুন

আপনার ল্যাবের কাজ শেষ হয়ে গেলে প্রোজেক্টের সমস্ত Google ক্লাউড সংস্থান ধ্বংস করুন।

AlloyDB ক্লাস্টার মুছুন

ক্লাউড শেলে Postgres ক্লাস্টারের জন্য AlloyDB মুছুন:

gcloud alloydb clusters delete alloydb-cluster-01 --region=$REGION --force --quiet

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud alloydb clusters delete alloydb-cluster-01 --region=$REGION --force --quiet
Operation ID: operation-1739488287386-62e0e2d75ead0-f8ffd91f-9c0f56c1
Deleting cluster...done.

Google Compute Engine ভার্চুয়াল মেশিন মুছুন

ক্লাউড শেলে VM মুছে দিন:

gcloud compute instances delete alloydb-client \
    --zone=$ZONE \
    --quiet

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute instances delete alloydb-client \
    --zone=$ZONE \
    --quiet
Deleted [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/zones/europe-west4-a/instances/alloydb-client].

নেটওয়ার্ক উপাদান মুছুন

নেটওয়ার্ক সম্পর্কিত উপাদানগুলি মুছুন: ক্লাউড ন্যাট, ক্লাউড রাউটার, প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট, সংরক্ষিত অভ্যন্তরীণ আইপি ঠিকানা, ডিএনএস রেকর্ড এবং ডিএনএস পরিচালিত অঞ্চল।

ক্লাউড NAT মুছুন:

gcloud compute routers nats delete cloud-nat \
    --router=cloud-nat-router \
    --region=$REGION \
    --quiet

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute routers nats delete cloud-nat \
    --router=cloud-nat-router \
    --region=$REGION \
    --quiet
Updated [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/regions/europe-west4/routers/cloud-nat-router].

ক্লাউড রাউটার মুছুন:

gcloud compute routers delete cloud-nat-router \
    --region=$REGION \
    --quiet 

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute routers delete cloud-nat-router \
    --region=$REGION \
    --quiet
Deleted [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/regions/europe-west4/routers/cloud-nat-router].

প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট মুছুন:

gcloud compute forwarding-rules delete alloydb-psc-ep \
    --project=$PROJECT_ID \
    --region=$REGION \
    --quiet

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute forwarding-rules delete alloydb-psc-ep \
    --project=$PROJECT_ID \
    --region=$REGION \
    --quiet
Deleted [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/regions/europe-west4/forwardingRules/alloydb-psc-ep].

সংরক্ষিত অভ্যন্তরীণ আইপি ঠিকানা প্রকাশ করুন::

gcloud compute addresses delete alloydb-psc \
   --project=$PROJECT_ID \
   --region=$REGION \
   --quiet

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud compute addresses delete alloydb-psc \
   --project=$PROJECT_ID \
   --region=$REGION \
   --quiet
Deleted [https://www.googleapis.com/compute/v1/projects/psc-alloydb-test/regions/europe-west4/addresses/alloydb-psc].

ডিএনএস রেকর্ড মুছুন:

gcloud dns record-sets delete 69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog. \
--project=$PROJECT_ID \
--type=A \
--zone=alloydb-dns

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud dns record-sets delete 69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog. \
--project=$PROJECT_ID \
--type=A \
--zone=alloydb-dns
Deleted [https://dns.googleapis.com/dns/v1/projects/psc-alloydb-test/managedZones/alloydb-dns/rrsets/69f67b56-9fa2-4480-89f6-3f1a38ee51cb.6a495301-4802-4ec1-bb9b-69b57d2616ec.europe-west4.alloydb-psc.goog./A].

DNS পরিচালিত অঞ্চল মুছুন:

gcloud dns managed-zones delete alloydb-dns \
   --project=$PROJECT_ID \
   --quiet

প্রত্যাশিত আউটপুট

student@cloudshell:~ (psc-alloydb-test)$ gcloud dns managed-zones delete alloydb-dns \
   --project=$PROJECT_ID \
   --quiet
Deleted [https://dns.googleapis.com/dns/v1/projects/psc-alloydb-test/managedZones/alloydb-dns].

9. অভিনন্দন

কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।

আমরা কভার করেছি কি

  • কিভাবে একটি AlloyDB ক্লাস্টার এবং উদাহরণ স্থাপন করবেন
  • কিভাবে একটি প্রাইভেট সার্ভিস কানেক্ট স্থাপন করবেন
  • কিভাবে একটি VM থেকে একটি AlloyDB ইন্সট্যান্সে প্রাইভেট সার্ভিস কানেক্টের মাধ্যমে সংযোগ করবেন

10. সমীক্ষা

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র এটি মাধ্যমে পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন