1. ভূমিকা
কখনও কখনও, কাজের চাপগুলি বিভিন্ন কারণে ওরাকল ডাটাবেস থেকে AlloyDB-তে স্থানান্তর করা যায় না। এই ধরনের ক্ষেত্রে, যদি আমরা রিপোর্টিং বা আরও প্রক্রিয়াকরণের জন্য AlloyDB-তে ডেটা উপলব্ধ করতে চাই, আমরা Oracle FDW (বিদেশী ডেটা র্যাপার) সুবিধা নিতে পারি। ওরাকল এফডিডাব্লু দূরবর্তী ওরাকল ডাটাবেস থেকে তথ্য অনুসন্ধান করতে সক্ষম করে এবং দূরবর্তী ডেটা ভিউয়ের মাধ্যমে উপস্থাপন করে, এটিকে দেখায় যেন এটি AlloyDB-এর মধ্যে থাকে।
এই কোডল্যাবে আপনি শিখবেন কিভাবে Oracle FDW ব্যবহার করে আপনার AlloyDB ডাটাবেসকে VPN পরিষেবা ব্যবহার করে একটি আলাদা নেটওয়ার্কে স্থাপন করা ওরাকল ডাটাবেসের সাথে সংযোগ করতে হয়।
উপরের চিত্রটি ডিফল্ট নেটওয়ার্কের সাথে একটি ভিপিসিতে স্থাপন করা বামদিকে AlloyDB ক্লাস্টার এবং GCE দৃষ্টান্ত-1 এবং GCE উদাহরণ ora-xe-01 দেখায় যে নেটওয়ার্ক নাম $PROJECT_ID-vpc-02 সহ একটি ভিন্ন ভিপিসিতে স্থাপন করা হয়েছে। প্রথম এবং দ্বিতীয় ভিপিসি ক্লাউড ভিপিএন ব্যবহার করে ওরাকল এবং অ্যালোয়ডিবি দৃষ্টান্তগুলিকে একে অপরের সাথে যোগাযোগ করার জন্য প্রতিষ্ঠিত রুট দিয়ে সংযুক্ত করা হয়েছে।
AlloyDB to Oracle ওভার VPN AlloyDB থেকে Oracle ওভার VPN
আপনি এখানে Oracle FDW এক্সটেনশন সম্পর্কে আরও তথ্য পেতে পারেন।
পূর্বশর্ত
- Google ক্লাউড, কনসোলের একটি প্রাথমিক ধারণা
- কমান্ড লাইন ইন্টারফেস এবং গুগল শেলের প্রাথমিক দক্ষতা
- PostgreSQL এবং Oracle ডাটাবেসের প্রাথমিক জ্ঞান
আপনি কি শিখবেন
- কিভাবে AlloyDB ক্লাস্টার স্থাপন করবেন
- কিভাবে AlloyDB এর সাথে সংযোগ করতে হয়
- কিভাবে একটি নমুনা ওরাকল ডাটাবেস কনফিগার এবং স্থাপন করবেন
- কিভাবে দুটি VPC নেটওয়ার্কের মধ্যে VPN সেট আপ করবেন
- কিভাবে Oracle FDW এক্সটেনশন কনফিগার করবেন
আপনি কি প্রয়োজন হবে
- একটি Google ক্লাউড অ্যাকাউন্ট এবং Google ক্লাউড প্রকল্প
- একটি ওয়েব ব্রাউজার যেমন ক্রোম
2. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
- প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে। - আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারে করা যেতে পারে। আপনার কিছু ইন্সটল করার দরকার নেই।
3. আপনি শুরু করার আগে
API সক্ষম করুন
আউটপুট:
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেটআপ করা আছে:
gcloud config set project [YOUR-PROJECT-ID]
PROJECT_ID=$(gcloud config get-value project)
সমস্ত প্রয়োজনীয় পরিষেবাগুলি সক্ষম করুন:
gcloud services enable alloydb.googleapis.com \
compute.googleapis.com \
cloudresourcemanager.googleapis.com \
servicenetworking.googleapis.com \
vpcaccess.googleapis.com
প্রত্যাশিত আউটপুট
student@cloudshell:~ (gleb-test-short-004)$ gcloud services enable alloydb.googleapis.com \ compute.googleapis.com \ cloudresourcemanager.googleapis.com \ servicenetworking.googleapis.com \ vpcaccess.googleapis.com Operation "operations/acf.p2-404051529011-664c71ad-cb2b-4ab4-86c1-1f3157d70ba1" finished successfully.
আপনার ডিফল্ট অঞ্চলকে us-central1-এ কনফিগার করুন বা আপনার জন্য আরও পছন্দের অন্য কোনো। এই ল্যাবে আমরা us-central1 অঞ্চল ব্যবহার করতে যাচ্ছি।
gcloud config set compute/region us-central1
4. AlloyDB ক্লাস্টার স্থাপন করুন
একটি AlloyDB ক্লাস্টার তৈরি করার আগে আমাদের ভবিষ্যত AlloyDB উদাহরণ দ্বারা ব্যবহার করার জন্য আমাদের VPC-তে একটি ব্যক্তিগত IP পরিসর বরাদ্দ করতে হবে, তারপরে আমরা ক্লাস্টার এবং উদাহরণ তৈরি করতে সক্ষম হব।
ব্যক্তিগত আইপি পরিসীমা তৈরি করুন
AlloyDB-এর জন্য আমাদের VPC-তে আমাদের ব্যক্তিগত পরিষেবা অ্যাক্সেস কনফিগারেশন কনফিগার করতে হবে। এখানে অনুমান হল যে আমাদের প্রকল্পে "ডিফল্ট" VPC নেটওয়ার্ক আছে এবং এটি সমস্ত কর্মের জন্য ব্যবহার করা হবে।
ব্যক্তিগত আইপি পরিসীমা তৈরি করুন:
gcloud compute addresses create psa-range \
--global \
--purpose=VPC_PEERING \
--prefix-length=16 \
--description="VPC private service access" \
--network=default
বরাদ্দকৃত আইপি পরিসর ব্যবহার করে ব্যক্তিগত সংযোগ তৈরি করুন:
gcloud services vpc-peerings connect \
--service=servicenetworking.googleapis.com \
--ranges=psa-range \
--network=default
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ gcloud compute addresses create psa-range \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="VPC private service access" \ --network=default Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/addresses/psa-range]. student@cloudshell:~ (test-project-402417)$ gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=psa-range \ --network=default Operation "operations/pssn.p24-4470404856-595e209f-19b7-4669-8a71-cbd45de8ba66" finished successfully. student@cloudshell:~ (test-project-402417)$
AlloyDB ক্লাস্টার তৈরি করুন
ডিফল্ট অঞ্চলে একটি AlloyDB ক্লাস্টার তৈরি করুন:
export PGPASSWORD=`openssl rand -hex 12`
export REGION=us-central1
export ADBCLUSTER=alloydb-aip-01
gcloud alloydb clusters create $ADBCLUSTER \
--password=$PGPASSWORD \
--network=default \
--region=$REGION
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ export PGPASSWORD=`openssl rand -base64 12` export REGION=us-central1 export ADBCLUSTER=alloydb-aip-01 gcloud alloydb clusters create $ADBCLUSTER \ --password=$PGPASSWORD \ --network=default \ --region=$REGION Operation ID: operation-1697655441138-6080235852277-9e7f04f5-2012fce4 Creating cluster...done.
ভবিষ্যতে ব্যবহারের জন্য PostgreSQL পাসওয়ার্ড নোট করুন:
echo $PGPASSWORD
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ echo $PGPASSWORD bbefbfde7601985b0dee5723
AlloyDB প্রাথমিক উদাহরণ তৈরি করুন
আমাদের ক্লাস্টারের জন্য একটি AlloyDB প্রাথমিক উদাহরণ তৈরি করুন:
export REGION=us-central1
gcloud alloydb instances create $ADBCLUSTER-pr \
--instance-type=PRIMARY \
--cpu-count=2 \
--region=$REGION \
--cluster=$ADBCLUSTER
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ gcloud alloydb instances create $ADBCLUSTER-pr \ --instance-type=PRIMARY \ --cpu-count=2 \ --region=$REGION \ --availability-type ZONAL \ --cluster=$ADBCLUSTER Operation ID: operation-1697659203545-6080315c6e8ee-391805db-25852721 Creating instance...done.
5. AlloyDB এর সাথে সংযোগ করুন
AlloyDB এর সাথে কাজ করতে এবং ডাটাবেস তৈরি, এক্সটেনশন সক্ষম এবং অন্যান্যের মতো কমান্ড চালানোর জন্য আমাদের একটি উন্নয়ন পরিবেশ প্রয়োজন। এটি PostgreSQL এর সাথে কাজ করা যেকোন স্ট্যান্ডার্ড টুল হতে পারে। আমাদের ক্ষেত্রে আমরা একটি লিনাক্স বক্সে ইনস্টল করা PostgreSQL এর জন্য একটি স্ট্যান্ডার্ড ক্লায়েন্ট ব্যবহার করতে যাচ্ছি।
AlloyDB একটি ব্যক্তিগত-শুধু সংযোগ ব্যবহার করে স্থাপন করা হয়েছে, তাই ডাটাবেসের সাথে কাজ করার জন্য আমাদের PostgreSQL ক্লায়েন্ট ইনস্টল সহ একটি VM প্রয়োজন।
GCE VM স্থাপন করুন
একই অঞ্চলে একটি GCE VM তৈরি করুন এবং AlloyDB ক্লাস্টার হিসাবে VPC তৈরি করুন৷
ক্লাউড শেল চালান:
export ZONE=us-central1-a
gcloud compute instances create instance-1 \
--zone=$ZONE \
--scopes=https://www.googleapis.com/auth/cloud-platform
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ export ZONE=us-central1-a student@cloudshell:~ (test-project-402417)$ gcloud compute instances create instance-1 \ --zone=$ZONE \ --scopes=https://www.googleapis.com/auth/cloud-platform Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/zones/us-central1-a/instances/instance-1]. NAME: instance-1 ZONE: us-central1-a MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: INTERNAL_IP: 10.128.0.2 EXTERNAL_IP: 34.71.192.233 STATUS: RUNNING
পোস্টগ্রেস ক্লায়েন্ট ইনস্টল করুন
স্থাপন করা VM-এ PostgreSQL ক্লায়েন্ট সফ্টওয়্যার ইনস্টল করুন
VM এর সাথে সংযোগ করুন:
gcloud compute ssh instance-1 --zone=us-central1-a
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ gcloud compute ssh instance-1 --zone=us-central1-a Updating project ssh metadata...working..Updated [https://www.googleapis.com/compute/v1/projects/test-project-402417]. Updating project ssh metadata...done. Waiting for SSH key to propagate. Warning: Permanently added 'compute.5110295539541121102' (ECDSA) to the list of known hosts. Linux instance-1 5.10.0-26-cloud-amd64 #1 SMP Debian 5.10.197-1 (2023-09-29) 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. student@instance-1:~$
VM এর ভিতরে সফ্টওয়্যার চলমান কমান্ড ইনস্টল করুন:
sudo apt-get update
sudo apt-get install --yes postgresql-client
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ sudo apt-get update sudo apt-get install --yes postgresql-client Get:1 https://packages.cloud.google.com/apt google-compute-engine-bullseye-stable InRelease [5146 B] Get:2 https://packages.cloud.google.com/apt cloud-sdk-bullseye InRelease [6406 B] Hit:3 https://deb.debian.org/debian bullseye InRelease Get:4 https://deb.debian.org/debian-security bullseye-security InRelease [48.4 kB] Get:5 https://packages.cloud.google.com/apt google-compute-engine-bullseye-stable/main amd64 Packages [1930 B] Get:6 https://deb.debian.org/debian bullseye-updates InRelease [44.1 kB] Get:7 https://deb.debian.org/debian bullseye-backports InRelease [49.0 kB] ...redacted... update-alternatives: using /usr/share/postgresql/13/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode Setting up postgresql-client (13+225) ... Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.31-13+deb11u7) ...
ইনস্ট্যান্সের সাথে সংযোগ করুন
psql ব্যবহার করে VM থেকে প্রাথমিক দৃষ্টান্তের সাথে সংযোগ করুন।
একই ক্লাউড শেল ট্যাবে আপনার ইনস্ট্যান্স-১ ভিএম-এ খোলা SSH সেশন সহ।
GCE VM থেকে AlloyDB এর সাথে সংযোগ করতে উল্লেখিত AlloyDB পাসওয়ার্ড (PGPASSWORD) মান এবং AlloyDB ক্লাস্টার আইডি ব্যবহার করুন:
export PGPASSWORD=<Noted password>
ADBCLUSTER=<your AlloyDB cluster name>
REGION=us-central1
INSTANCE_IP=$(gcloud alloydb instances describe $ADBCLUSTER-pr --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)")
export INSTANCE_IP=<AlloyDB Instance IP>
psql "host=$INSTANCE_IP user=postgres sslmode=require"
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ export PGPASSWORD=CQhOi5OygD4ps6ty student@instance-1:~$ ADBCLUSTER=alloydb-aip-01 student@instance-1:~$ REGION=us-central1 student@instance-1:~$ INSTANCE_IP=$(gcloud alloydb instances describe $ADBCLUSTER-pr --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)") gleb@instance-1:~$ psql "host=$INSTANCE_IP user=postgres sslmode=require" psql (13.13 (Debian 13.13-0+deb11u1), server 14.7) WARNING: psql major version 13, server major version 14. Some psql features might not work. SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. postgres=>
6. একটি নমুনা ওরাকল ডাটাবেস তৈরি করুন
আমাদের নমুনা ওরাকল ডাটাবেস একটি পৃথক VPC-তে স্থাপন করা হবে পরিস্থিতি প্রতিফলিত করার জন্য যখন এটি প্রাঙ্গনে বা AlloyDB ক্লাস্টারের VPC থেকে পৃথক অন্য কোনো পরিবেশে স্থাপন করা হয়।
একটি দ্বিতীয় ভিপিসি তৈরি করুন
ক্লাউড শেলের একটি খোলা ট্যাব বা Google ক্লাউড SDK এক্সিকিউট সহ একটি কমান্ড লাইন টার্মিনাল ব্যবহার করে:
PROJECT_ID=$(gcloud config get-value project)
REGION=us-central1
gcloud compute networks create $PROJECT_ID-vpc-02 --project=$PROJECT_ID --description=Custom\ VPC\ for\ $PROJECT_ID\ project --subnet-mode=custom --mtu=1460 --bgp-routing-mode=regional
gcloud compute networks subnets create $PROJECT_ID-vpc-02-$REGION --project=$PROJECT_ID --range=10.110.0.0/24 --stack-type=IPV4_ONLY --network=$PROJECT_ID-vpc-02 --region=$REGION
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ PROJECT_ID=$(gcloud config get-value project) REGION=us-central1 gcloud compute networks create $PROJECT_ID-vpc-02 --project=$PROJECT_ID --description=Custom\ VPC\ for\ $PROJECT_ID\ project --subnet-mode=custom --mtu=1460 --bgp-routing-mode=regional gcloud compute networks subnets create $PROJECT_ID-vpc-02-$REGION --project=$PROJECT_ID --range=10.110.0.0/24 --stack-type=IPV4_ONLY --network=$PROJECT_ID-vpc-02 --region=$REGION Your active configuration is: [cloudshell-3726] Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/networks/test-project-402417-vpc-02]. NAME: test-project-402417-vpc-02 SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: Instances on this network will not be reachable until firewall rules are created. As an example, you can allow all internal traffic between instances as well as SSH, RDP, and ICMP by running: $ gcloud compute firewall-rules create <FIREWALL_NAME> --network test-project-402417-vpc-02 --allow tcp,udp,icmp --source-ranges <IP_RANGE> $ gcloud compute firewall-rules create <FIREWALL_NAME> --network test-project-402417-vpc-02 --allow tcp:22,tcp:3389,icmp Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/subnetworks/test-project-402417-vpc-02-us-central1]. NAME: test-project-402417-vpc-02-us-central1 REGION: us-central1 NETWORK: test-project-402417-vpc-02 RANGE: 10.110.0.0/24 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE:
মৌলিক ডায়াগনস্টিক এবং SSH সংযোগের জন্য দ্বিতীয় VPC-তে ন্যূনতম ফায়ারওয়াল নিয়মগুলি কনফিগার করুন।
gcloud compute firewall-rules create $PROJECT_ID-vpc-02-allow-icmp --project=$PROJECT_ID --network=$PROJECT_ID-vpc-02 --description=Allows\ ICMP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network. --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 --action=ALLOW --rules=icmp
gcloud compute firewall-rules create $PROJECT_ID-vpc-02-allow-ssh --project=$PROJECT_ID --network=$PROJECT_ID-vpc-02 --description=Allows\ TCP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network\ using\ port\ 22. --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 --action=ALLOW --rules=tcp:22
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ gcloud compute firewall-rules create $PROJECT_ID-vpc-02-allow-icmp --project=$PROJECT_ID --network=$PROJECT_ID-vpc-02 --description=Allows\ ICMP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network. --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 --action=ALLOW --rules=icmp gcloud compute firewall-rules create $PROJECT_ID-vpc-02-allow-ssh --project=$PROJECT_ID --network=$PROJECT_ID-vpc-02 --description=Allows\ TCP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network\ using\ port\ 22. --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 --action=ALLOW --rules=tcp:22 Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/test-project-402417-vpc-02-allow-icmp]. Creating firewall...done. NAME: test-project-402417-vpc-02-allow-icmp NETWORK: test-project-402417-vpc-02 DIRECTION: INGRESS PRIORITY: 65534 ALLOW: icmp DENY: DISABLED: False Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/test-project-402417-vpc-02-allow-ssh]. Creating firewall...done. NAME: test-project-402417-vpc-02-allow-ssh NETWORK: test-project-402417-vpc-02 DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:22 DENY: DISABLED: False
ডাটাবেস পোর্টে অভ্যন্তরীণ সাবনেটগুলির মধ্যে সংযোগের অনুমতি দেওয়ার জন্য ডিফল্ট এবং দ্বিতীয় ভিপিসিতে ফায়ারওয়াল নিয়মগুলি কনফিগার করুন।
ALLOYDB_NET_IP_RANGES=$(gcloud compute networks subnets list --network=default --filter="region:us-central1" --format="value(ipCidrRange)"),$(gcloud compute addresses list --filter="name:psa-range AND network:default" --format="value(address_range())")
gcloud compute firewall-rules create default-allow-postgres --project=$PROJECT_ID --network=default --description=Allows\ Postgres\ connections\ from\ local\ networks\ to\ postgres\ instance\ on\ the\ network\ using\ port\ 5432. --direction=INGRESS --priority=65534 --source-ranges=10.110.0.0/24 --action=ALLOW --rules=tcp:5432
gcloud compute firewall-rules create $PROJECT_ID-vpc-02-allow-oracle --project=$PROJECT_ID --network=$PROJECT_ID-vpc-02 --description=Allows\ Oracle\ connections\ from\ local\ networks\ to\ Oracle\ instance\ on\ the\ network\ using\ port\ 1521. --direction=INGRESS --priority=65534 --source-ranges=$ALLOYDB_NET_IP_RANGES --action=ALLOW --rules=tcp:1521
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ ALLOYDB_NET_IP_RANGES=$(gcloud compute networks subnets list --network=default --filter="region:us-central1" --format="value(ipCidrRange)"),$(gcloud compute addresses list --filter="name:psa-range AND network:default" --format="value(address_range())") gcloud compute firewall-rules create default-allow-postgres --project=$PROJECT_ID --network=default --description=Allows\ Postgres\ connections\ from\ local\ networks\ to\ postgres\ instance\ on\ the\ network\ using\ port\ 5432. --direction=INGRESS --priority=65534 --source-ranges=10.110.0.0/24 --action=ALLOW --rules=tcp:5432 gcloud compute firewall-rules create $PROJECT_ID-vpc-02-allow-oracle --project=$PROJECT_ID --network=$PROJECT_ID-vpc-02 --description=Allows\ Oracle\ connections\ from\ local\ networks\ to\ Oracle\ instance\ on\ the\ network\ using\ port\ 1521. --direction=INGRESS --priority=65534 --source-ranges=$ALLOYDB_NET_IP_RANGES --action=ALLOW --rules=tcp:1521 Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/default-allow-postgres]. Creating firewall...done. NAME: default-allow-postgres NETWORK: default DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:5432 DENY: DISABLED: False Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/test-project-402417-vpc-02-allow-oracle]. Creating firewall...done. NAME: test-project-402417-vpc-02-allow-oracle NETWORK: test-project-402417-vpc-02 DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:1521 DENY: DISABLED: False
দ্বিতীয় ভিপিসিতে GCE VM স্থাপন করুন
আমাদের নমুনা ওরাকল পরিবেশের জন্য দ্বিতীয় ভিপিসি সাবনেট ব্যবহার করে GCE VM স্থাপন করা হচ্ছে। এই গণনা উদাহরণটি আমাদের পরীক্ষা ওরাকল পরিবেশ হিসাবে ব্যবহার করা হবে। Oracle XE ডাটাবেস বাইনারিগুলি এখানে ইনস্টল করা হবে এবং উদাহরণটি সার্ভার হিসাবে এবং Oracle নির্দিষ্ট কাজের জন্য ক্লায়েন্ট হিসাবে ব্যবহার করা হবে।
একই ক্লাউড শেল বা টার্মিনাল ব্যবহার করে VM তৈরি করতে কমান্ড চালান:
SERVER_NAME=ora-xe-01
PROJECT_ID=$(gcloud config get-value project)
REGION=us-central1
ZONE=us-central1-a
MACHINE_TYPE=e2-standard-2
SUBNET=$PROJECT_ID-vpc-02-$REGION
DISK_SIZE=50
gcloud compute instances create $SERVER_NAME --project=$PROJECT_ID --zone=$ZONE --machine-type=$MACHINE_TYPE --network-interface=subnet=$SUBNET --create-disk=auto-delete=yes,boot=yes,size=$DISK_SIZE,image=projects/debian-cloud/global/images/$(gcloud compute images list --filter="family=debian-11 AND family!=debian-11-arm64" \
--format="value(name)"),type=pd-ssd
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ SERVER_NAME=ora-xe-01 PROJECT_ID=$(gcloud config get-value project) REGION=us-central1 ZONE=us-central1-a MACHINE_TYPE=e2-standard-2 SUBNET=$PROJECT_ID-vpc-02-$REGION DISK_SIZE=50 gcloud compute instances create $SERVER_NAME --project=$PROJECT_ID --zone=$ZONE --machine-type=$MACHINE_TYPE --network-interface=subnet=$SUBNET --create-disk=auto-delete=yes,boot=yes,size=$DISK_SIZE,image=projects/debian-cloud/global/images/$(gcloud compute images list --filter="family=debian-11 AND family!=debian-11-arm64" \ --format="value(name)"),type=pd-ssd Your active configuration is: [cloudshell-3726] Created [https://www.googleapis.com/compute/v1/projects/test-project-402417/zones/us-central1-a/instances/ora-xe-01]. WARNING: Some requests generated warnings: - Disk size: '50 GB' is larger than image size: '10 GB'. You might need to resize the root repartition manually if the operating system does not support automatic resizing. See https://cloud.google.com/compute/docs/disks/add-persistent-disk#resize_pd for details. NAME: ora-xe-01 ZONE: us-central1-a MACHINE_TYPE: e2-standard-2 PREEMPTIBLE: INTERNAL_IP: 10.110.0.2 EXTERNAL_IP: 34.121.117.216 STATUS: RUNNING
Oracle XE তৈরি করুন
পরীক্ষার জন্য Oracle Express Edition (XE) ব্যবহার করা হবে। অনুগ্রহ করে সচেতন থাকুন যে ওরাকল XE কন্টেইনারের ব্যবহার ওরাকল ফ্রি ব্যবহারের শর্তাবলী ও শর্তাবলীর শর্তাবলী সাপেক্ষে৷
ssh ব্যবহার করে তৈরি VM এর সাথে সংযোগ করুন:
gcloud compute ssh $SERVER_NAME --zone=$ZONE
SSH সেশনে ওরাকল XE-এর ডকার ধরনের স্থাপনার জন্য প্রয়োজনীয় প্যাকেজ স্থাপন করুন। আপনি ওরাকল ডকুমেন্টেশনে অন্যান্য স্থাপনার বিকল্পগুলি সম্পর্কে পড়তে পারেন।
sudo apt-get update
sudo apt-get -y install ca-certificates curl gnupg lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
প্রত্যাশিত কনসোল আউটপুট (সংশোধন করা হয়েছে):
student@ora-xe-01:~$ sudo apt-get update sudo apt-get -y install ca-certificates curl gnupg lsb-release sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo usermod -aG docker $USER Get:1 https://packages.cloud.google.com/apt google-compute-engine-bullseye-stable InRelease [5146 B] Get:2 https://packages.cloud.google.com/apt cloud-sdk-bullseye InRelease [6406 B] ... Setting up git (1:2.30.2-1+deb11u2) ... Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.31-13+deb11u7) ... student@ora-xe-01:~$
লগ আউট করে আবার সংযোগ করে VM এর সাথে পুনরায় সংযোগ করুন।
exit
gcloud compute ssh $SERVER_NAME --zone=$ZONE
প্রত্যাশিত কনসোল আউটপুট:
student@ora-xe-01:~$ exit logout Connection to 34.132.87.73 closed. student@cloudshell:~ (test-project-002-410214)$ gcloud compute ssh $SERVER_NAME --zone=$ZONE Linux ora-xe-01 5.10.0-26-cloud-amd64 #1 SMP Debian 5.10.197-1 (2023-09-29) 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. Last login: Thu Jan 4 14:51:25 2024 from 34.73.112.191 student@ora-xe-01:~$
নতুন SSH সেশনে ora-xe-01 এক্সিকিউট করুন:
ORACLE_PWD=`openssl rand -hex 12`
echo $ORACLE_PWD
docker run -d --name oracle-xe -p 1521:1521 -e ORACLE_PWD=$ORACLE_PWD container-registry.oracle.com/database/express:21.3.0-xe
প্রত্যাশিত কনসোল আউটপুট:
student@ora-xe-01:~$ ORACLE_PWD=`openssl rand -hex 12` echo $ORACLE_PWD docker run -d --name oracle-xe -p 1521:1521 -e ORACLE_PWD=$ORACLE_PWD container-registry.oracle.com/database/express:21.3.0-xe e36e191b6c298ce6e02a614c Unable to find image 'container-registry.oracle.com/database/express:21.3.0-xe' locally 21.3.0-xe: Pulling from database/express 2318ff572021: Pull complete c6250726c822: Pull complete 33ac5ea7f7dd: Pull complete 753e0fae7e64: Pull complete Digest: sha256:dcf137aab02d5644aaf9299aae736e4429f9bfdf860676ff398a1458ab8d23f2 Status: Downloaded newer image for container-registry.oracle.com/database/express:21.3.0-xe 9f74e2d37bf49b01785338495e02d79c55c92e4ddd409eddcf45e754fd9044d9
ব্যবহারকারী সিস্টেম এবং sys হিসাবে ডাটাবেসের সাথে সংযোগের জন্য পরে ব্যবহার করার জন্য আপনার ORACLE_PWD মানটি রেকর্ড করুন।
নমুনা স্কিমা ইনস্টল করুন
স্ট্যান্ডার্ড এইচআর নমুনা স্কিমা ব্যবহার করে ইনস্টল করা ডাটাবেসে একটি নমুনা ডেটাসেট তৈরি করুন।
একই SSH সেশনে:
git clone https://github.com/oracle-samples/db-sample-schemas.git
curl -O https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip
sudo apt-get install -y unzip openjdk-17-jdk
unzip sqlcl-latest.zip
echo 'export PATH=$HOME/sqlcl/bin:$PATH' >>.bashrc
exec $SHELL
প্রত্যাশিত কনসোল আউটপুট:
student@ora-xe-01:~$ git clone https://github.com/oracle-samples/db-sample-schemas.git curl -O https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip sudo apt-get install -y unzip openjdk-17-jdk unzip sqlcl-latest.zip echo 'export PATH=$HOME/sqlcl/bin:$PATH' >>.bashrc exec $SHELL Cloning into 'db-sample-schemas'... remote: Enumerating objects: 624, done. remote: Counting objects: 100% (104/104), done. ... inflating: sqlcl/lib/sshd-contrib.jar inflating: sqlcl/lib/sshd-putty.jar inflating: sqlcl/lib/dbtools-sqlcl-distribution.jar student@ora-xe-01:~$
একই SSH সেশনে:
ORACLE_PWD=<your noted password from the previous step>
cd db-sample-schemas/human_resources/
sql system/$ORACLE_PWD@localhost/XEPDB1 @hr_install.sql
HR স্কিমার জন্য একটি পাসওয়ার্ড লিখুন (যেকোন শক্তিশালী পাসওয়ার্ডই যথেষ্ট হবে) এবং প্রম্পটে প্রস্তাবিত ডিফল্ট টেবিলস্পেস গ্রহণ করুন।
প্রত্যাশিত কনসোল আউটপুট:
student@ora-xe-01:~$ ORACLE_PWD=e36e191b6c298ce6e02a614c student@ora-xe-01:~$ cd db-sample-schemas/human_resources/ sql system/$ORACLE_PWD@localhost/XEPDB1 @hr_install.sql SQLcl: Release 23.3 Production on Wed Jan 03 14:38:14 2024 Copyright (c) 1982, 2024, Oracle. All rights reserved. Last Successful login time: Wed Jan 03 2024 14:38:17 +00:00 Connected to: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 Thank you for installing the Oracle Human Resources Sample Schema. This installation script will automatically exit your database session at the end of the installation or if any error is encountered. The entire installation will be logged into the 'hr_install.log' log file. Enter a password for the user HR: ************************ Enter a tablespace for HR [USERS]: Do you want to overwrite the schema, if it already exists? [YES|no]: ****** Creating REGIONS table .... Table REGIONS created. ... Table provided actual ______________ ___________ _________ regions 5 5 countries 25 25 departments 27 27 locations 23 23 employees 107 107 jobs 19 19 job_history 10 10 Thank you! ___________________________________________________________ The installation of the sample schema is now finished. Please check the installation verification output above. You will now be disconnected from the database. Thank you for using Oracle Database! Disconnected from Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0
Oracle FDW এর জন্য ব্যবহারকারী তৈরি করুন
সরলতার জন্য আমরা একটি ব্যবহারকারী POSTGRES তৈরি করব - ডিফল্ট PostgreSQL ব্যবহারকারীর মতোই।
ব্যবহারকারী SYS হিসাবে ওরাকল ডাটাবেসের সাথে সংযোগ করুন:
sql sys/$ORACLE_PWD@localhost/XEPDB1 as sysdba
এসকিউএল সেশনে ব্যবহারকারী হিসাবে SYS কার্যকর করুন (ব্যবহারকারীর জন্য আপনার পাসওয়ার্ড দ্বারা POSTGRES_ORA_PWD প্রতিস্থাপন করুন):
create user postgres identified by POSTGRES_ORA_PWD;
এবং ব্যবহারকারীকে প্রয়োজনীয় সুবিধা প্রদান করুন:
grant connect, select any table to postgres;
grant select on v_$SQL_PLAN to postgres;
grant select on v_$SQL to postgres;
প্রত্যাশিত কনসোল আউটপুট:
student@ora-xe-01:~/db-sample-schemas/human_resources$ sql sys/$ORACLE_PWD@localhost/XEPDB1 as sysdba SQLcl: Release 23.3 Production on Wed Jan 03 14:42:37 2024 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 SQL> create user postgres identified by VeryStrongPassword0011##; User POSTGRES created. SQL> grant connect, select any table to postgres; Grant succeeded. SQL> grant select on v_$SQL_PLAN to postgres; Grant succeeded. SQL> grant select on v_$SQL to postgres; Grant succeeded. SQL>
7. VPC এর মধ্যে VPN তৈরি করুন
প্রতিটি ভিপিসিতে নিয়োজিত সংস্থানগুলি সেই নির্দিষ্ট নেটওয়ার্কের জন্য শুধুমাত্র অভ্যন্তরীণ আইপি ঠিকানাগুলি দেখতে পারে এবং অন্য ভিপিসির কোনও অভ্যন্তরীণ সংস্থানের সাথে সংযোগ করতে পারে না। Google ক্লাউড VPN দুটি VPC-এর মধ্যে একটি সেতু তৈরি করে এবং Oracle ডাটাবেসের সাথে আমাদের VM-কে AlloyDB ইন্সট্যান্স থেকে সংযুক্ত হতে এবং সংযুক্ত হতে দেয়। ভিপিএন সংযোগে ক্লাউড রাউটার, গেটওয়ে, ভিপিএন টানেল এবং বিজিপি সেশনের মতো বিভিন্ন উপাদান রয়েছে। এখানে আমরা দুটি ভিপিসির মধ্যে একটি উচ্চ উপলব্ধ VPN এর জন্য প্রয়োজনীয় সমস্ত উপাদান তৈরি এবং কনফিগারেশনের মধ্য দিয়ে যাচ্ছি। আপনি ডকুমেন্টেশনে Google Cloud VPN সম্পর্কে আরও পড়তে পারেন।
রাউটার এবং গেটওয়ে তৈরি করুন
উভয় ভিপিসিতে ক্লাউড রাউটার এবং ভিপিএন গেটওয়ে তৈরি করুন।
ক্লাউড শেল বা ক্লাউড এসডিকে এক্সিকিউট সহ একটি টার্মিনালে:
PROJECT_ID=$(gcloud config get-value project)
REGION=us-central1
gcloud compute routers create $PROJECT_ID-vpc-01-router --project=$PROJECT_ID --region=$REGION --network=default --asn=64520 --advertisement-mode=custom --set-advertisement-groups=all_subnets
gcloud compute routers create $PROJECT_ID-vpc-02-router --project=$PROJECT_ID --region=$REGION --network=$PROJECT_ID-vpc-02 --asn=64521 --advertisement-mode=custom --set-advertisement-groups=all_subnets
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ PROJECT_ID=$(gcloud config get-value project) REGION=us-central1 gcloud compute routers create $PROJECT_ID-vpc-01-router --project=$PROJECT_ID --region=$REGION --network=default --asn=64520 --advertisement-mode=custom --set-advertisement-groups=all_subnets gcloud compute routers create $PROJECT_ID-vpc-02-router --project=$PROJECT_ID --region=$REGION --network=$PROJECT_ID-vpc-02 --asn=64521 --advertisement-mode=custom --set-advertisement-groups=all_subnets Your active configuration is: [cloudshell-18870] Creating router [test-project-402417-vpc-01-router]...done. NAME: test-project-402417-vpc-01-router REGION: us-central1 NETWORK: default Creating router [test-project-402417-vpc-02-router]...done. NAME: test-project-402417-vpc-02-router REGION: us-central1 NETWORK: test-project-402417-vpc-02
উভয় ভিপিসিতে ভিপিএন গেটওয়ে তৈরি করুন:
PROJECT_ID=$(gcloud config get-value project)
gcloud compute vpn-gateways create $PROJECT_ID-vpc-01-vpn-gtw --project=$PROJECT_ID --region=$REGION --network=default
gcloud compute vpn-gateways create $PROJECT_ID-vpc-02-vpn-gtw --project=$PROJECT_ID --region=$REGION --network=$PROJECT_ID-vpc-02
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ gcloud compute vpn-gateways create $PROJECT_ID-vpc-01-vpn-gtw --project=$PROJECT_ID --region=$REGION --network=default gcloud compute vpn-gateways create $PROJECT_ID-vpc-02-vpn-gtw --project=$PROJECT_ID --region=$REGION --network=$PROJECT_ID-vpc-02 Creating VPN Gateway...done. NAME: test-project-402417-vpc-01-vpn-gtw INTERFACE0: 35.242.106.28 INTERFACE1: 35.220.86.122 INTERFACE0_IPV6: INTERFACE1_IPV6: NETWORK: default REGION: us-central1 Creating VPN Gateway...done. NAME: test-project-402417-vpc-02-vpn-gtw INTERFACE0: 35.242.116.197 INTERFACE1: 35.220.68.53 INTERFACE0_IPV6: INTERFACE1_IPV6: NETWORK: test-project-402417-vpc-02 REGION: us-central1 student@cloudshell:~ (test-project-402417)$
ভিপিএন টানেল তৈরি করুন
আমরা প্রতিটি VPC-এর জন্য এক জোড়া VPN টানেলের সাথে একটি HA কনফিগারেশন তৈরি করব।
ক্লাউড শেল বা SDK এক্সিকিউট সহ একটি টার্মিনালে:
PROJECT_ID=$(gcloud config get-value project)
SHARED_SECRET=`openssl rand -base64 24`
gcloud compute vpn-tunnels create $PROJECT_ID-vpc-01-vpn-tunnel-01 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-02-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-01-router --vpn-gateway=$PROJECT_ID-vpc-01-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=0
gcloud compute vpn-tunnels create $PROJECT_ID-vpc-01-vpn-tunnel-02 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-02-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-01-router --vpn-gateway=$PROJECT_ID-vpc-01-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=1
gcloud compute vpn-tunnels create $PROJECT_ID-vpc-02-vpn-tunnel-01 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-01-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-02-router --vpn-gateway=$PROJECT_ID-vpc-02-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=0
gcloud compute vpn-tunnels create $PROJECT_ID-vpc-02-vpn-tunnel-02 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-01-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-02-router --vpn-gateway=$PROJECT_ID-vpc-02-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=1
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ SHARED_SECRET=`openssl rand -base64 24` gcloud compute vpn-tunnels create $PROJECT_ID-vpc-01-vpn-tunnel-01 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-02-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-01-router --vpn-gateway=$PROJECT_ID-vpc-01-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=0 gcloud compute vpn-tunnels create $PROJECT_ID-vpc-01-vpn-tunnel-02 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-02-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-01-router --vpn-gateway=$PROJECT_ID-vpc-01-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=1 gcloud compute vpn-tunnels create $PROJECT_ID-vpc-02-vpn-tunnel-01 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-01-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-02-router --vpn-gateway=$PROJECT_ID-vpc-02-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=0 gcloud compute vpn-tunnels create $PROJECT_ID-vpc-02-vpn-tunnel-02 --shared-secret=$SHARED_SECRET --peer-gcp-gateway=$PROJECT_ID-vpc-01-vpn-gtw --ike-version=2 --router=$PROJECT_ID-vpc-02-router --vpn-gateway=$PROJECT_ID-vpc-02-vpn-gtw --project=$PROJECT_ID --region=$REGION --interface=1 Creating VPN tunnel...done. NAME: test-project-402417-vpc-01-vpn-tunnel-01 REGION: us-central1 GATEWAY: test-project-402417-vpc-01-vpn-gtw VPN_INTERFACE: 0 PEER_ADDRESS: 35.242.116.197 Creating VPN tunnel...done. NAME: test-project-402417-vpc-01-vpn-tunnel-02 REGION: us-central1 GATEWAY: test-project-402417-vpc-01-vpn-gtw VPN_INTERFACE: 1 PEER_ADDRESS: 35.220.68.53 Creating VPN tunnel...done. NAME: test-project-402417-vpc-02-vpn-tunnel-01 REGION: us-central1 GATEWAY: test-project-402417-vpc-02-vpn-gtw VPN_INTERFACE: 0 PEER_ADDRESS: 35.242.106.28 Creating VPN tunnel...done. NAME: test-project-402417-vpc-02-vpn-tunnel-02 REGION: us-central1 GATEWAY: test-project-402417-vpc-02-vpn-gtw VPN_INTERFACE: 1 PEER_ADDRESS: 35.220.86.122
বিজিপি সেশন তৈরি করুন
বর্ডার গেটওয়ে প্রোটোকল (বিজিপি) সেশনগুলি ভিপিসির মধ্যে উপলব্ধ রুট সম্পর্কে তথ্য বিনিময় করে গতিশীল রাউটিংকে অনুমতি দেয়।
প্রথম (ডিফল্ট) নেটওয়ার্কে BGP সহকর্মীদের প্রথম জোড়া তৈরি করুন। সহকর্মীদের জন্য আইপি ঠিকানাগুলি দ্বিতীয় ভিপিসিতে তৈরি BGP-এর জন্য ব্যবহার করা হবে।
ক্লাউড শেল বা SDK এক্সিকিউট সহ একটি টার্মিনালে:
PROJECT_ID=$(gcloud config get-value project)
gcloud compute routers add-interface $PROJECT_ID-vpc-01-router --interface-name=$PROJECT_ID-vpc-01-router-bgp-if-0 --vpn-tunnel=$PROJECT_ID-vpc-01-vpn-tunnel-01 --region=$REGION
gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-01-router --peer-name=$PROJECT_ID-vpc-01-vpn-tunnel-01-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-0 --peer-asn=64521 --region=$REGION
gcloud compute routers add-interface $PROJECT_ID-vpc-01-router --interface-name=$PROJECT_ID-vpc-01-router-bgp-if-1 --vpn-tunnel=$PROJECT_ID-vpc-01-vpn-tunnel-02 --region=$REGION
gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-01-router --peer-name=$PROJECT_ID-vpc-01-vpn-tunnel-02-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-1 --peer-asn=64521 --region=$REGION
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ gcloud compute routers add-interface $PROJECT_ID-vpc-01-router --interface-name=$PROJECT_ID-vpc-01-router-bgp-if-0 --vpn-tunnel=$PROJECT_ID-vpc-01-vpn-tunnel-01 --region=$REGION gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-01-router --peer-name=$PROJECT_ID-vpc-01-vpn-tunnel-01-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-0 --peer-asn=64521 --region=$REGION gcloud compute routers add-interface $PROJECT_ID-vpc-01-router --interface-name=$PROJECT_ID-vpc-01-router-bgp-if-1 --vpn-tunnel=$PROJECT_ID-vpc-01-vpn-tunnel-02 --region=$REGION gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-01-router --peer-name=$PROJECT_ID-vpc-01-vpn-tunnel-02-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-1 --peer-asn=64521 --region=$REGION Updated [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/routers/test-project-402417-vpc-01-router]. Creating peer [test-project-402417-vpc-01-vpn-tunnel-01-bgp] in router [test-project-402417-vpc-01-router]...done. Updated [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/routers/test-project-402417-vpc-01-router]. Creating peer [test-project-402417-vpc-01-vpn-tunnel-02-bgp] in router [test-project-402417-vpc-01-router]...done. student@cloudshell:~ (test-project-402417)$
দ্বিতীয় ভিপিসিতে BGP যোগ করুন:
REGION=us-central1
PROJECT_ID=$(gcloud config get-value project)
gcloud compute routers add-interface $PROJECT_ID-vpc-02-router --interface-name=$PROJECT_ID-vpc-02-router-bgp-if-0 --vpn-tunnel=$PROJECT_ID-vpc-02-vpn-tunnel-01 --ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[0].peerIpAddress)" --region=$REGION) --mask-length=30 --region=$REGION
gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-02-router --peer-name=$PROJECT_ID-vpc-02-vpn-tunnel-01-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-0 --peer-ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[0].ipAddress)" --region=$REGION) --peer-asn=64520 --region=$REGION
gcloud compute routers add-interface $PROJECT_ID-vpc-02-router --interface-name=$PROJECT_ID-vpc-02-router-bgp-if-1 --vpn-tunnel=$PROJECT_ID-vpc-02-vpn-tunnel-02 --ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[1].peerIpAddress)" --region=$REGION) --mask-length=30 --region=$REGION
gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-02-router --peer-name=$PROJECT_ID-vpc-02-vpn-tunnel-02-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-1 --peer-ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[1].ipAddress)" --region=$REGION) --peer-asn=64520 --region=$REGION
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ REGION=us-central1 PROJECT_ID=$(gcloud config get-value project) gcloud compute routers add-interface $PROJECT_ID-vpc-02-router --interface-name=$PROJECT_ID-vpc-02-router-bgp-if-0 --vpn-tunnel=$PROJECT_ID-vpc-02-vpn-tunnel-01 --ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[0].peerIpAddress)" --region=$REGION) --mask-length=30 --region=$REGION gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-02-router --peer-name=$PROJECT_ID-vpc-02-vpn-tunnel-01-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-0 --peer-ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[0].ipAddress)" --region=$REGION) --peer-asn=64520 --region=$REGION gcloud compute routers add-interface $PROJECT_ID-vpc-02-router --interface-name=$PROJECT_ID-vpc-02-router-bgp-if-1 --vpn-tunnel=$PROJECT_ID-vpc-02-vpn-tunnel-02 --ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[1].peerIpAddress)" --region=$REGION) --mask-length=30 --region=$REGION gcloud compute routers add-bgp-peer $PROJECT_ID-vpc-02-router --peer-name=$PROJECT_ID-vpc-02-vpn-tunnel-02-bgp --interface=$PROJECT_ID-vpc-01-router-bgp-if-1 --peer-ip-address=$(gcloud compute routers describe $PROJECT_ID-vpc-01-router --format="value(bgpPeers[1].ipAddress)" --region=$REGION) --peer-asn=64520 --region=$REGION Your active configuration is: [cloudshell-18870] Updated [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/routers/test-project-402417-vpc-02-router]. Creating peer [test-project-402417-vpc-02-vpn-tunnel-01-bgp] in router [test-project-402417-vpc-02-router]...done. Updated [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/routers/test-project-402417-vpc-02-router]. Creating peer [test-project-402417-vpc-02-vpn-tunnel-02-bgp] in router [test-project-402417-vpc-02-router]...done.
BGP কাস্টম রুট যোগ করুন
এখন আমাদের বিজিপি-তে আমাদের পরিষেবা প্রাইভেট আইপি রেঞ্জের বিজ্ঞাপন দিতে হবে
ক্লাউড শেল কার্যকর করুন:
PROJECT_ID=$(gcloud config get-value project)
gcloud compute routers update $PROJECT_ID-vpc-01-router --add-advertisement-ranges=$(gcloud compute addresses list --filter="name:psa-range AND network:default" --format="value(address_range())") --region=$REGION
gcloud compute networks peerings update servicenetworking-googleapis-com --network=default --import-custom-routes --export-custom-routes
প্রত্যাশিত কনসোল আউটপুট (সংশোধন করা হয়েছে):
PROJECT_ID=$(gcloud config get-value project) gcloud compute routers update $PROJECT_ID-vpc-01-router --add-advertisement-ranges=$(gcloud compute addresses list --filter="name:psa-range AND network:default" --format="value(address_range())") --region=$REGION gcloud compute networks peerings update servicenetworking-googleapis-com --network=default --import-custom-routes --export-custom-routes ...
8. AlloyDB-তে Oracle FDW কনফিগার করুন
এখন আমরা একটি টেস্ট ডাটাবেস তৈরি করতে পারি এবং Oracle FDW এক্সটেনশন কনফিগার করতে পারি। আমরা দ্বিতীয় ধাপে তৈরি ইনস্ট্যান্স-1 VM এবং AlloyDB ক্লাস্টারের জন্য উল্লেখ্য পাসওয়ার্ড ব্যবহার করতে যাচ্ছি।
ডাটাবেস তৈরি করুন
উদাহরণ-1 GCE VM-এর সাথে সংযোগ করুন:
ZONE=us-central1-a
gcloud compute ssh instance-1 --zone=$ZONE
এসএসএইচ সেশনে কার্যকর করুন:
export PGPASSWORD=<Noted password>
REGION=us-central1
ADBCLUSTER=alloydb-aip-01
INSTANCE_IP=$(gcloud alloydb instances describe $ADBCLUSTER-pr --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)")
psql "host=$INSTANCE_IP user=postgres" -c "CREATE DATABASE quickstart_db"
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ export PGPASSWORD=6dd7fKHnMId8RM97 student@instance-1:~$ REGION=us-central1 ADBCLUSTER=alloydb-aip-01 INSTANCE_IP=$(gcloud alloydb instances describe $ADBCLUSTER-pr --cluster=$ADBCLUSTER --region=$REGION --format="value(ipAddress)") psql "host=$INSTANCE_IP user=postgres" -c "CREATE DATABASE quickstart_db" CREATE DATABASE student@instance-1:~$
ওরাকল FDW এক্সটেনশন কনফিগার করুন
নতুন তৈরি ডাটাবেসে Oracle FDW এক্সটেনশন সক্রিয় করুন।
একই SSH সেশনে এক্সিকিউট করুন:
psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "create extension if not exists oracle_fdw cascade"
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ psql "host=$INSTANCE_IP user=postgres dbname=quickstart_db" -c "create extension if not exists oracle_fdw cascade" CREATE EXTENSION student@instance-1:~$
ওরাকল FDW কনফিগার করুন
আমরা ওরাকল ডাটাবেসে HR নমুনা স্কিমার সাথে কাজ করার জন্য Oracle FDW কনফিগার করে একই SSH সেশনে কাজ চালিয়ে যাচ্ছি।
দ্বিতীয় VPC-তে আমাদের Oracle XE VM-এর জন্য অভ্যন্তরীণ IP ঠিকানা ব্যবহার করে FDW সার্ভার কনফিগারেশন তৈরি করুন।
একই SSH সেশনে ইনস্ট্যান্স-1 চালান:
ORACLE_SERVER_IP=$(gcloud compute instances list --filter="name=(ora-xe-01)" --format="value(networkInterfaces[0].networkIP)")
psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "create server ora_xe foreign data wrapper oracle_fdw options (dbserver '$ORACLE_SERVER_IP:1521/xepdb1')"
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ ORACLE_SERVER_IP=$(gcloud compute instances list --filter="name=(ora-xe-01)" --format="value(networkInterfaces[0].networkIP)") psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "create server ora_xe foreign data wrapper oracle_fdw options (dbserver '$ORACLE_SERVER_IP:1521/xepdb1')" CREATE SERVER
পোস্টগ্রেস ব্যবহারকারীকে তৈরি করা সার্ভারে ব্যবহার মঞ্জুর করুন।
psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "grant usage on foreign server ora_xe to postgres"
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "grant usage on foreign server ora_xe to postgres" GRANT
আমরা ওরাকল ডাটাবেসে ব্যবহারকারীর জন্য যে পাসওয়ার্ড সেট আপ করেছি তা ব্যবহার করে PostgreSQL-এ ব্যবহারকারী এবং Oracle ডাটাবেস ব্যবহারকারীর মধ্যে একটি ম্যাপিং তৈরি করুন। ওরাকল ব্যবহারকারী POSTGRES এর জন্য উল্লেখ করা পাসওয়ার্ড ব্যবহার করুন যা আমরা আগে তৈরি করেছি (POSTGRES_ORA_PWD)।
POSTGRES_ORA_PWD=<your password for the oracle user postgres>
psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "CREATE USER MAPPING FOR postgres SERVER ora_xe OPTIONS ( USER 'postgres', PASSWORD '$POSTGRES_ORA_PWD')"
প্রত্যাশিত কনসোল আউটপুট:
student@instance-1:~$ POSTGRES_ORA_PWD=VeryStrongPassword0011## student@instance-1:~$ psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "CREATE USER MAPPING FOR postgres SERVER ora_xe OPTIONS ( USER 'postgres', PASSWORD '$POSTGRES_ORA_PWD')" CREATE USER MAPPING
9. HR স্কিমার সাথে Oracle FDW ব্যবহার করুন
এখন আমরা ওরাকল ডাটাবেসের ডেটা সহ আমাদের Oracle FDW ব্যবহার করতে পারি।
ওরাকল এইচআর স্কিমা সংজ্ঞা আমদানি করুন
আমরা AlloyDB এর সাথে কাজ করার জন্য psql ব্যবহার করে আমাদের Postgres ক্লায়েন্ট VM-এ কাজ চালিয়ে যাচ্ছি।
ভিএম এসএসএইচ সেশনে কার্যকর করুন:
psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "create schema ora_exe_hr";
psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "import foreign schema \"HR\" from server ora_xe into ora_exe_hr";
প্রত্যাশিত আউটপুট (সংশোধন করা):
student@instance-1:~$ psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "create schema ora_exe_hr"; psql -h $INSTANCE_IP -U postgres -d quickstart_db -c "import foreign schema \"HR\" from server ora_xe into ora_exe_hr"; CREATE SCHEMA IMPORT FOREIGN SCHEMA student@instance-1:~$
Oracle FDW পরীক্ষা করুন
চলুন একটি নমুনা SQL বিবৃতি রান.
ডাটাবেসের সাথে সংযোগ করুন। ভিএম এসএসএইচ সেশনে কার্যকর করুন:
psql -h $INSTANCE_IP -U postgres -d quickstart_db
PSQL সেশনে একটি সিলেক্ট স্টেটমেন্ট চালান।
select * from ora_exe_hr.countries limit 5;
প্রত্যাশিত আউটপুট:
student@instance-1:~$ psql -h $INSTANCE_IP -U postgres -d quickstart_db psql (13.13 (Debian 13.13-0+deb11u1), server 14.7) WARNING: psql major version 13, server major version 14. Some psql features might not work. SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. quickstart_db=> select * from ora_exe_hr.countries limit 5; country_id | country_name | region_id ------------+--------------+----------- AR | Argentina | 20 AU | Australia | 40 BE | Belgium | 10 BR | Brazil | 20 CA | Canada | 20 (5 rows) quickstart_db=>
এটি ফলাফল প্রদান করে এবং এর মানে আমাদের কনফিগারেশন সঠিকভাবে কাজ করে।
আপনি টেবিলের বাকি সঙ্গে পরীক্ষা করতে পারেন.
10. পরিবেশ পরিষ্কার করুন
এখন যখন সমস্ত কাজ সম্পন্ন হয় তখন আমরা অপ্রয়োজনীয় বিলিং প্রতিরোধ করতে উপাদানগুলিকে ধ্বংস করে আমাদের পরিবেশ পরিষ্কার করতে পারি।
আপনি ল্যাব দিয়ে সম্পন্ন হলে AlloyDB দৃষ্টান্ত এবং ক্লাস্টার ধ্বংস করুন
AlloyDB ক্লাস্টার এবং সমস্ত দৃষ্টান্ত মুছুন
ক্লাস্টারটি অপশন ফোর্স দিয়ে ধ্বংস করা হয় যা ক্লাস্টারের সাথে সম্পর্কিত সমস্ত দৃষ্টান্ত মুছে দেয়।
ক্লাউড শেলে প্রকল্প এবং পরিবেশের ভেরিয়েবলগুলি সংজ্ঞায়িত করুন যদি আপনি সংযোগ বিচ্ছিন্ন হয়ে থাকেন এবং সমস্ত পূর্ববর্তী সেটিংস হারিয়ে যায়:
gcloud config set project <your project id>
export REGION=us-central1
export ADBCLUSTER=alloydb-aip-01
export PROJECT_ID=$(gcloud config get-value project)
ক্লাস্টার মুছুন:
gcloud alloydb clusters delete $ADBCLUSTER --region=$REGION --force
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-001-402417)$ gcloud alloydb clusters delete $ADBCLUSTER --region=$REGION --force All of the cluster data will be lost when the cluster is deleted. Do you want to continue (Y/n)? Y Operation ID: operation-1697820178429-6082890a0b570-4a72f7e4-4c5df36f Deleting cluster...done.
AlloyDB ব্যাকআপ মুছুন
ক্লাস্টারের জন্য সমস্ত AlloyDB ব্যাকআপ মুছুন:
for i in $(gcloud alloydb backups list --filter="CLUSTER_NAME: projects/$PROJECT_ID/locations/$REGION/clusters/$ADBCLUSTER" --format="value(name)" --sort-by=~createTime) ; do gcloud alloydb backups delete $(basename $i) --region $REGION --quiet; done
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-001-402417)$ for i in $(gcloud alloydb backups list --filter="CLUSTER_NAME: projects/$PROJECT_ID/locations/$REGION/clusters/$ADBCLUSTER" --format="value(name)" --sort-by=~createTime) ; do gcloud alloydb backups delete $(basename $i) --region $REGION --quiet; done Operation ID: operation-1697826266108-60829fb7b5258-7f99dc0b-99f3c35f Deleting backup...done.
এখন আমরা আমাদের VM ধ্বংস করতে পারি
GCE VM মুছুন
ক্লাউড শেল চালান:
export GCEVM=instance-1
export ZONE=us-central1-a
gcloud compute instances delete $GCEVM \
--zone=$ZONE \
--quiet
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-001-402417)$ export GCEVM=instance-1 export ZONE=us-central1-a gcloud compute instances delete $GCEVM \ --zone=$ZONE \ --quiet Deleted
Oracle XE দিয়ে VM মুছুন
ক্লাউড শেল চালান:
SERVER_NAME=ora-xe-01
ZONE=us-central1-a
gcloud compute instances delete $SERVER_NAME \
--zone=$ZONE \
--quiet
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ SERVER_NAME=ora-xe-01 ZONE=us-central1-a gcloud compute instances delete $SERVER_NAME \ --zone=$ZONE \ --quiet Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/zones/us-central1-a/instances/ora-xe-01]. student@cloudshell:~ (test-project-402417)$
VPN মুছুন
ক্লাউড শেল চালান:
REGION=us-central1
PROJECT_ID=$(gcloud config get-value project)
gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-01-vpn-tunnel-01 --region=$REGION --quiet
gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-01-vpn-tunnel-02 --region=$REGION --quiet
gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-02-vpn-tunnel-01 --region=$REGION --quiet
gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-02-vpn-tunnel-02 --region=$REGION --quiet
gcloud compute routers delete $PROJECT_ID-vpc-02-router --region=$REGION --quiet
gcloud compute routers delete $PROJECT_ID-vpc-01-router --region=$REGION --quiet
gcloud compute vpn-gateways delete $PROJECT_ID-vpc-01-vpn-gtw --region=$REGION --quiet
gcloud compute vpn-gateways delete $PROJECT_ID-vpc-02-vpn-gtw --region=$REGION --quiet
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ REGION=us-central1 PROJECT_ID=$(gcloud config get-value project) gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-01-vpn-tunnel-01 --region=$REGION --quiet gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-01-vpn-tunnel-02 --region=$REGION --quiet gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-02-vpn-tunnel-01 --region=$REGION --quiet gcloud compute vpn-tunnels delete $PROJECT_ID-vpc-02-vpn-tunnel-02 --region=$REGION --quiet gcloud compute routers delete $PROJECT_ID-vpc-02-router --region=$REGION --quiet gcloud compute routers delete $PROJECT_ID-vpc-01-router --region=$REGION --quiet gcloud compute vpn-gateways delete $PROJECT_ID-vpc-01-vpn-gtw --region=$REGION --quiet gcloud compute vpn-gateways delete $PROJECT_ID-vpc-02-vpn-gtw --region=$REGION --quiet Your active configuration is: [cloudshell-18870] Deleting VPN tunnel...done. Deleting VPN tunnel...done. Deleting VPN tunnel...done. Deleting VPN tunnel...done. Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/routers/test-project-402417-vpc-02-router]. Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/regions/us-central1/routers/test-project-402417-vpc-01-router]. Deleting VPN Gateway...done. Deleting VPN Gateway...done. student@cloudshell:~ (test-project-402417)$
দ্বিতীয় ভিপিসি মুছুন
ক্লাউড শেল চালান:
REGION=us-central1
PROJECT_ID=$(gcloud config get-value project)
gcloud compute firewall-rules delete $PROJECT_ID-vpc-02-allow-icmp --quiet
gcloud compute firewall-rules delete $PROJECT_ID-vpc-02-allow-ssh --quiet
gcloud compute firewall-rules delete default-allow-postgres --quiet
gcloud compute firewall-rules delete $PROJECT_ID-vpc-02-allow-oracle --quiet
gcloud compute networks subnets delete $PROJECT_ID-vpc-02-$REGION --region=$REGION --quiet
gcloud compute networks delete $PROJECT_ID-vpc-02 --quiet
প্রত্যাশিত কনসোল আউটপুট:
student@cloudshell:~ (test-project-402417)$ gcloud compute firewall-rules delete $PROJECT_ID-vpc-02-allow-icmp --quiet gcloud compute firewall-rules delete $PROJECT_ID-vpc-02-allow-ssh --quiet gcloud compute firewall-rules delete default-allow-postgres --quiet gcloud compute firewall-rules delete $PROJECT_ID-vpc-02-allow-oracle --quiet gcloud compute networks subnets delete $PROJECT_ID-vpc-02-$REGION --region=$REGION --quiet gcloud compute networks delete $PROJECT_ID-vpc-02 --quiet Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/test-project-402417-vpc-02-allow-icmp]. Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/test-project-402417-vpc-02-allow-ssh]. Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/default-allow-postgres]. Deleted [https://www.googleapis.com/compute/v1/projects/test-project-402417/global/firewalls/test-project-402417-vpc-02-allow-oracle]. gcloud compute networks subnets delete $PROJECT_ID-vpc-02-$REGION --region=$REGION --quiet gcloud compute networks delete $PROJECT_ID-vpc-02 --quiet
11. অভিনন্দন
কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।
আমরা কভার করেছি কি
- কিভাবে AlloyDB ক্লাস্টার স্থাপন করবেন
- কিভাবে AlloyDB এর সাথে সংযোগ করতে হয়
- কিভাবে একটি নমুনা ওরাকল ডাটাবেস কনফিগার এবং স্থাপন করবেন
- কিভাবে দুটি VPC নেটওয়ার্কের মধ্যে VPN সেট আপ করবেন
- কিভাবে Oracle FDW এক্সটেনশন কনফিগার করবেন
12. সমীক্ষা
আউটপুট: