লুকার পিএসসি সাউথবাউন্ড হাইব্রিড এনইজি থেকে অন-প্রিমিসেস, লুকার পিএসসি সাউথবাউন্ড হাইব্রিড এনইজি থেকে অন-প্রিমিসেস, লুকার পিএসসি সাউথবাউন্ড হাইব্রিড এনইজি অন-প্রিমিসেস থেকে, লুকার পিএসসি সাউথবাউন্ড হাইব্রিড এনইজি অন-প্রিমিসেস থেকে

১. ভূমিকা

এই কোডল্যাবে আপনি Looker PSC-কে একটি সার্ভিস কনজিউমার হিসেবে ব্যবহার করে, একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার এবং হাইব্রিড নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপকে কাজে লাগিয়ে H-VPN-এর মাধ্যমে একটি অন-প্রিমিসেস পোস্টগ্রেস ডেটাবেসে সাউথবাউন্ড সংযোগ স্থাপন করবেন।

প্রাইভেট সার্ভিস কানেক্ট হলো গুগল ক্লাউড নেটওয়ার্কিং-এর একটি সক্ষমতা, যা গ্রাহকদের তাদের ভিপিসি নেটওয়ার্কের ভেতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলো অ্যাক্সেস করার সুযোগ দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রদানকারীদের তাদের নিজস্ব পৃথক ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলো হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ প্রদান করতে দেয়। উদাহরণস্বরূপ, যখন আপনি লুকার (Looker) অ্যাক্সেস করার জন্য প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনি হলেন পরিষেবাটির গ্রাহক এবং গুগল হলো পরিষেবাটির প্রদানকারী, যেমনটি চিত্র ১-এ তুলে ধরা হয়েছে।

চিত্র ১।

145ea4672c3a3b14.png

সাউথবাউন্ড অ্যাক্সেস, যা রিভার্স পিএসসি নামেও পরিচিত, কনজিউমারকে একজন প্রডিউসার হিসেবে একটি পাবলিশড সার্ভিস তৈরি করার সুযোগ দেয়, যার মাধ্যমে লুকার অন-প্রিমিসেস, ভিপিসি-তে থাকা এন্ডপয়েন্ট, ম্যানেজড সার্ভিস এবং হাইব্রিড সার্ভিসগুলোতে অ্যাক্সেস করতে পারে। চিত্র ২-এ যেমনটি তুলে ধরা হয়েছে, লুকার পিএসসি যেখানেই স্থাপন করা হোক না কেন, সাউথবাউন্ড কানেকশন যেকোনো অঞ্চলে স্থাপন করা যেতে পারে।

চিত্র ২।

259493afd914f68b.png

আপনি যা শিখবেন

  • নেটওয়ার্কের প্রয়োজনীয়তা
  • একটি ব্যক্তিগত পরিষেবা তৈরি করুন প্রযোজক পরিষেবা সংযোগ করুন
  • লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
  • একটি টেস্ট কানেকশন ব্যবহার করে লুকার থেকে অন-প্রিমিসেস পোস্টগ্রেস ডেটাবেসের সাথে সংযোগ স্থাপন করুন।

আপনার যা যা লাগবে

def88091b42bfe4d.png

২. আপনি যা তৈরি করবেন

আপনি প্রাইভেট সার্ভিস কানেক্ট (PSC) এর মাধ্যমে একটি সার্ভিস হিসেবে প্রকাশিত ইন্টারনাল টিসিপি প্রক্সি লোড ব্যালেন্সার এবং হাইব্রিড এনইজি ডেপ্লয় করার জন্য looker-psc-demo নামে একটি প্রোডিউসার নেটওয়ার্ক স্থাপন করবেন। একটি অন-প্রিমিস ডাটাবেস প্রদর্শনের জন্য, আপনি HA-VPN ব্যবহার করে looker-psc-demo VPC-এর সাথে সংযুক্ত একটি on-prem-demo VPC ডেপ্লয় করবেন।

Producer সার্ভিসে অ্যাক্সেস যাচাই করার জন্য আপনাকে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে হবে:

  • লুকারে প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত একটি PSC এন্ডপয়েন্ট তৈরি করুন।
  • অন-প্রিমিসেস পোস্টগ্রেস ডাটাবেসের সংযোগ যাচাই করার জন্য লুকার কনসোল ব্যবহার করুন।

৩. নেটওয়ার্কের প্রয়োজনীয়তা

নিচে প্রডিউসার নেটওয়ার্কের জন্য প্রয়োজনীয় নেটওয়ার্ক শর্তাবলীর বিবরণ দেওয়া হলো, এই কোডল্যাবের কনজিউমার হলো লুকার পিএসসি ইনস্ট্যান্স।

উপাদান

বর্ণনা

ভিপিসি (লুকার-পিএসসি-ডেমো)

কাস্টম মোড ভিপিসি

ভিপিসি (অন-প্রেম-ডেমো)

কাস্টম মোড ভিপিসি

পিএসসি এনএটি সাবনেট

কনজিউমার ভিপিসি নেটওয়ার্ক থেকে আসা প্যাকেটগুলোকে সোর্স ন্যাট (SNAT) ব্যবহার করে অনুবাদ করা হয়, যাতে সেগুলোর মূল সোর্স আইপি অ্যাড্রেসগুলো প্রডিউসারের ভিপিসি নেটওয়ার্কের ন্যাট সাবনেটের সোর্স আইপি অ্যাড্রেসে রূপান্তরিত হয়।

পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট

আঞ্চলিক অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালান্সারের জন্য একটি আইপি ঠিকানা বরাদ্দ করতে ব্যবহৃত হয়।

পিএসসি এনইজি সাবনেট

নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি আইপি অ্যাড্রেস বরাদ্দ করতে ব্যবহৃত হয়।

প্রক্সি শুধুমাত্র সাবনেট

লোড ব্যালান্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ আইপি অ্যাড্রেস বরাদ্দ করা হয়। প্রক্সি থেকে ব্যাকএন্ড ভিএম বা এন্ডপয়েন্টে পাঠানো প্যাকেটের সোর্স আইপি অ্যাড্রেসটি প্রক্সি-অনলি সাবনেট থেকে আসে।

হাইব্রিড এনইজি

অন-প্রিমিসেস এবং অন্যান্য ক্লাউড পরিষেবাগুলিকে অন্য যেকোনো ক্লাউড লোড ব্যালান্সিং ব্যাকএন্ডের মতোই বিবেচনা করা হয়। মূল পার্থক্য হলো, এই ব্যাকএন্ডগুলির এন্ডপয়েন্ট কনফিগার করার জন্য একটি হাইব্রিড কানেক্টিভিটি NEG ব্যবহার করতে হয়। এন্ডপয়েন্টগুলিকে অবশ্যই বৈধ IP:পোর্ট সংমিশ্রণ হতে হবে, যেগুলিতে আপনার লোড ব্যালান্সার ক্লাউড ভিপিএন বা ক্লাউড ইন্টারকানেক্টের মতো হাইব্রিড কানেক্টিভিটি পণ্য ব্যবহার করে পৌঁছাতে পারে।

ব্যাকএন্ড পরিষেবা

একটি ব্যাকএন্ড সার্ভিস আপনার লোড ব্যালেন্সার এবং ব্যাকএন্ড রিসোর্সগুলোর মধ্যে সেতু হিসেবে কাজ করে। এই টিউটোরিয়ালে, ব্যাকএন্ড সার্ভিসটি হাইব্রিড এনইজি (Hybrid NEG)-এর সাথে যুক্ত করা হয়েছে।

ক্লাউড রাউটার

  • ক্লাউড NAT কন্ট্রোল প্লেন সক্ষমতার জন্য ক্লাউড রাউটারের উপর নির্ভর করে, কিন্তু BGP সেশন ম্যানেজমেন্টের জন্য নয়।
  • psc-looker-demo এবং on-prem-demo VPC-গুলোর মধ্যে HA-VPN স্থাপনের জন্য BGP সংযোগ স্থাপনে ক্লাউড রাউটার ব্যবহৃত হয়।

HA-VPN

গুগল ক্লাউড ভিপিসি নেটওয়ার্কগুলোর মধ্যে এইচএ ভিপিএন । এই টপোলজিতে, আপনি প্রতিটি নেটওয়ার্কে একটি এইচএ ভিপিএন গেটওয়ে ব্যবহার করে দুটি গুগল ক্লাউড ভিপিসি নেটওয়ার্ককে সংযুক্ত করতে পারেন। ভিপিসি নেটওয়ার্কগুলো একই অঞ্চলে বা একাধিক অঞ্চলে থাকতে পারে।

ক্লাউড ন্যাট

ইন্টারনেট নির্গমনের জন্য অন-প্রেম-ডেমো ভিপিসি দ্বারা ব্যবহৃত হয়।

৪. কোডল্যাব টপোলজি

79aeb28b38f237da.png

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

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

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

৬. শুরু করার আগে

এপিআই সক্ষম করুন

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

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region

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

gcloud services enable compute.googleapis.com

৭. প্রোডিউসার ভিপিসি নেটওয়ার্ক তৈরি করুন

ভিপিসি নেটওয়ার্ক

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks create looker-psc-demo --subnet-mode custom

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

নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশনের উদ্দেশ্যে পিএসসি সাবনেটটিকে পিএসসি সার্ভিস অ্যাটাচমেন্টের সাথে সংযুক্ত করা হবে।

ক্লাউড শেলের ভিতরে, PSC NAT সাবনেটটি তৈরি করুন:

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

ক্লাউড শেলের ভিতরে, প্রডিউসার ফরওয়ার্ডিং রুল সাবনেট তৈরি করুন:

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

ক্লাউড শেলের ভিতরে, শুধুমাত্র প্রডিউসার রিজিওনাল প্রক্সি সাবনেট তৈরি করুন:

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

লোড ব্যালেন্সারের আইপি অ্যাড্রেসটি রিজার্ভ করুন।

ক্লাউড শেলের ভিতরে, লোড ব্যালান্সারের জন্য একটি অভ্যন্তরীণ আইপি অ্যাড্রেস সংরক্ষণ করুন:

gcloud compute addresses create hybrid-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

ক্লাউড শেলের ভিতরে সংরক্ষিত আইপি অ্যাড্রেসটি দেখুন।

gcloud compute addresses describe hybrid-neg-lb-ip \
  --region=$region | grep -i address:

উদাহরণ আউটপুট:

gcloud compute addresses describe hybrid-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

হাইব্রিড NEG সেট আপ করুন

একটি হাইব্রিড এনইজি তৈরি করুন, এবং –network-endpoint-type-কে NON_GCP_PRIVATE_IP_PORT-এ সেট করুন।

ক্লাউড শেলের ভিতরে, অন-প্রেম ডাটাবেস অ্যাক্সেস করার জন্য ব্যবহৃত একটি হাইব্রিড এনইজি (NEG) তৈরি করুন:

gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --network=looker-psc-demo \
    --zone=$zone

ক্লাউড শেলের ভিতরে, টিউটোরিয়ালের পরবর্তী ধাপে তৈরি করা অন-প্রেম ডাটাবেসের আইপি:পোর্ট (192.168.10.4) এবং পোর্ট 5432 দিয়ে হাইব্রিড এনইজি (Hybrid NEG) আপডেট করুন:

gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
    --add-endpoint=ip=192.168.10.4,port=5432 \
    --zone=$zone

একটি আঞ্চলিক স্বাস্থ্য পরীক্ষা তৈরি করুন

ক্লাউড শেলের ভিতরে, একটি হেলথ-চেক তৈরি করুন যা অন-প্রেম ডাটাবেস পোর্ট, 5432, পরীক্ষা করবে:

gcloud compute health-checks create tcp on-prem-5432-healthcheck \
    --region=$region \
    --port=5432

নেটওয়ার্ক ফায়ারওয়াল পলিসি এবং ফায়ারওয়াল নিয়ম তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute network-firewall-policies create looker-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy

নিম্নলিখিত ফায়ারওয়াল নিয়মটি PSC NAT সাবনেট রেঞ্জ থেকে নেটওয়ার্কের সমস্ত ইনস্ট্যান্সে ট্র্যাফিকের অনুমতি দেয়।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

৮. প্রযোজক পরিষেবা তৈরি করুন

লোড ব্যালেন্সার উপাদান তৈরি করুন

ক্লাউড শেলের ভিতরে, একটি ব্যাকএন্ড সার্ভিস তৈরি করুন::

gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=on-prem-5432-healthcheck --health-checks-region=$region

ক্লাউড শেলের ভিতরে, ব্যাকএন্ড সার্ভিসে হাইব্রিড NEG ব্যাকএন্ডটি যোগ করুন:

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=100 --region=$region

ক্লাউড শেলে, আপনার ব্যাকএন্ড সার্ভিসে অনুরোধ রাউট করার জন্য একটি টার্গেট TCP প্রক্সি তৈরি করুন:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

নিম্নলিখিত সিনট্যাক্স ব্যবহার করে একটি ফরওয়ার্ডিং রুল (অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার) তৈরি করুন।

ক্লাউড শেলে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute forwarding-rules create producer-hybrid-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=hybrid-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=5432

সার্ভিস সংযুক্তি তৈরি করুন

ক্লাউড শেলের ভিতরে, onpremdatabase1-svc-attachment নামে সার্ভিস অ্যাটাচমেন্টটি তৈরি করুন:

gcloud compute service-attachments create onpremdatabase1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

এরপরে, Looker-এ PSC এন্ডপয়েন্ট কনফিগার করার জন্য projects দিয়ে শুরু হওয়া selfLink URI-তে তালিকাভুক্ত সার্ভিস অ্যাটাচমেন্টটি সংগ্রহ করে নোট করুন।

selfLink: projects/<আপনার-প্রকল্প-আইডি>/regions/<আপনার-অঞ্চল>/serviceAttachments/onpremdatabase1-svc-attachment

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute service-attachments describe onpremdatabase1-svc-attachment --region=$region

প্রত্যাশিত আউটপুটের উদাহরণ:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-09-01T16:07:51.600-07:00'
description: ''
enableProxyProtocol: false
fingerprint: cFt9rERR1iE=
id: '2549689544315850024'
kind: compute#serviceAttachment
name: onpremdatabase1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '2549689544315850024'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/onpremdatabase1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-hybrid-neg-fr

ক্লাউড কনসোলে, এখানে যান:

নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবা

9f436251a3ae2cc7.png

4c3e8e73d40d1238.png

৯. লুকারে একটি PSC এন্ডপয়েন্ট সংযোগ স্থাপন করুন।

পরবর্তী অংশে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেলে –psc-service-attachment ফ্ল্যাগ ব্যবহার করে প্রডিউসার সার্ভিস অ্যাটাচমেন্টকে লুকার কোর পিএসসি-এর সাথে যুক্ত করবেন।

ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মিলিয়ে নিম্নলিখিত প্যারামিটারগুলি আপডেট করে psc অ্যাসোসিয়েশনটি তৈরি করুন:

  • INSTANCE_NAME: আপনার Looker (Google Cloud core) ইনস্ট্যান্সের নাম।
  • ডোমেইন_১: onprem.database1.com
  • SERVICE_ATTACHMENT_1: সার্ভিস অ্যাটাচমেন্ট তৈরি করার সময় সংগৃহীত URI, onpremdatabase1-svc-attachment
  • অঞ্চল: যে অঞ্চলে আপনার লুকার (গুগল ক্লাউড কোর) ইনস্ট্যান্সটি হোস্ট করা আছে।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

উদাহরণ:

gcloud looker instances update looker-psc-instance --psc-service-attachment domain=onprem.database1.com,attachment=projects/$project/regions/$region/serviceAttachments/onpremdatabase1-svc-attachment --region=$region

Cloud Shell-এর ভিতরে, serviceAttachments-এর connectionStatus "ACCEPTED" আছে কিনা তা যাচাই করুন এবং আপনার Looker PSC Instance-এর নাম দিয়ে তা আপডেট করুন:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

উদাহরণ:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

উদাহরণ:

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "looker.cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.14.18",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
      "projects/$project/global/networks/looker-psc-demo",
      "projects/$project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "onprem.database1.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/onpremdatabase1-svc-attachment"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-09-01T23:15:07.426372901Z"
}

ক্লাউড কনসোলে PSC এন্ডপয়েন্টটি যাচাই করুন

ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগটি যাচাই করতে পারেন।

ক্লাউড কনসোলে, এখানে যান:

লুকার → লুকার ইনস্ট্যান্স → বিবরণ

2d4684d722d31e4b.png

993cdaf748f4c030.png

অন-প্রেম ভিপিসি নেটওয়ার্ক তৈরি করুন

ভিপিসি নেটওয়ার্ক

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

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

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

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks subnets create database-subnet --project=$project --range=192.168.10.0/28 --network=on-prem-demo --region=$region

ক্লাউড শেলের ভিতরে, onprem.database1.com-এর জন্য ব্যবহৃত একটি অভ্যন্তরীণ IPv4 ঠিকানা, 192.168.10.4, সংরক্ষণ করুন:

gcloud compute addresses create on-prem-database1-ip --region=$region --subnet=database-subnet --addresses 192.168.10.4

অন-প্রেম-ডেমো ভিপিসি-র জন্য ক্লাউড রাউটার তৈরি করুন

টিউটোরিয়ালটিতে সফটওয়্যার প্যাকেজ ইনস্টলেশনের জন্য ক্লাউড ন্যাট (Cloud NAT) ব্যবহার করা হয়েছে, কারণ ভিএম ইনস্ট্যান্সটির কোনো এক্সটার্নাল আইপি অ্যাড্রেস নেই।

ক্লাউড শেলের ভিতরে, ক্লাউড NAT ও HA-VPN-এর সাথে ব্যবহৃত ক্লাউড রাউটারটি তৈরি করুন:

gcloud compute routers create on-prem-cr \
   --region=$region \
   --network=on-prem-demo \
   --asn=65002

ক্লাউড শেলের ভিতরে, NAT গেটওয়ে তৈরি করুন:

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

ডাটাবেস টেস্ট ইনস্ট্যান্স তৈরি করুন

একটি postgres-database ইনস্ট্যান্স তৈরি করুন যা Looker-এর সাথে সংযোগ পরীক্ষা ও যাচাই করতে ব্যবহৃত হবে।

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

gcloud compute instances create postgres-database \
    --project=$project \
    --zone=$zone \
    --machine-type=e2-medium \
    --subnet=database-subnet \
    --no-address \
    --private-network-ip 192.168.10.4 \
    --image-family debian-12 \
    --image-project debian-cloud  \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt -y install postgresql postgresql-client postgresql-contrib -y"

নেটওয়ার্ক ফায়ারওয়াল পলিসি এবং ফায়ারওয়াল নিয়ম তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute network-firewall-policies create on-prem-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy on-prem-demo-policy --network on-prem-demo --name on-prem-demo --global-firewall-policy

আপনার VM ইনস্ট্যান্সগুলিতে IAP-কে সংযোগ করার অনুমতি দিতে, এমন একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:

  • এটি সেই সমস্ত VM ইনস্ট্যান্সের ক্ষেত্রে প্রযোজ্য, যেগুলোকে আপনি IAP ব্যবহার করে অ্যাক্সেসযোগ্য করতে চান।
  • 35.235.240.0/20 আইপি রেঞ্জ থেকে ইনগ্রেস ট্র্যাফিকের অনুমতি দেয়। এই রেঞ্জে সেই সমস্ত আইপি অ্যাড্রেস রয়েছে যা IAP টিসিপি ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy on-prem-demo-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

নিম্নলিখিত ফায়ারওয়াল নিয়মটি প্রক্সি-অনলি সাবনেট রেঞ্জ থেকে নেটওয়ার্কের সমস্ত ইনস্ট্যান্সে ট্র্যাফিকের অনুমতি দেয়।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy on-prem-demo-policy --description "allow traffic from proxy only subnet" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp

১০. হাইব্রিড সংযোগ

পরবর্তী অংশে, আপনি বর্ডার গেটওয়ে প্রোটোকল (BGP) ব্যবহার করে একটি ক্লাউড রাউটার তৈরি করবেন, যা আপনাকে আপনার ভার্চুয়াল প্রাইভেট ক্লাউড (VPC) এবং পিয়ার নেটওয়ার্কের মধ্যে গতিশীলভাবে রুট বিনিময় করতে সক্ষম করবে।

ক্লাউড রাউটার আপনার নেটওয়ার্কগুলোকে সংযুক্ত করার জন্য একটি ক্লাউড ভিপিএন টানেলের মাধ্যমে বিজিপি সেশন স্থাপন করতে পারে। এটি স্বয়ংক্রিয়ভাবে নতুন সাবনেট আইপি অ্যাড্রেস রেঞ্জগুলো শিখে নেয় এবং আপনার পিয়ার নেটওয়ার্কে সেগুলো ঘোষণা করে।

নিম্নলিখিত ধাপগুলিতে আপনি onprem.database1.com-এর সাথে হাইব্রিড NEG কানেক্টিভিটি প্রদর্শনের জন্য looker-psc-demo VPC এবং on-prem-demo VPC-এর মধ্যে একটি HA VPN স্থাপন করবেন।

looker-psc-demo- এর জন্য HA VPN GW তৈরি করুন

প্রতিটি গেটওয়ে তৈরি করার সময়, প্রতিটি গেটওয়ে ইন্টারফেসের জন্য একটি করে মোট দুটি এক্সটার্নাল IPv4 অ্যাড্রেস স্বয়ংক্রিয়ভাবে বরাদ্দ করা হয়।

ক্লাউড শেলের ভিতরে, HA VPN GW তৈরি করুন:

gcloud compute vpn-gateways create looker-psc-demo-vpn-gw \
   --network=looker-psc-demo \
   --region=$region

অন-প্রেম-ডেমোর জন্য HA VPN GW তৈরি করুন

প্রতিটি গেটওয়ে তৈরি করার সময়, প্রতিটি গেটওয়ে ইন্টারফেসের জন্য একটি করে মোট দুটি এক্সটার্নাল IPv4 অ্যাড্রেস স্বয়ংক্রিয়ভাবে বরাদ্দ করা হয়।

ক্লাউড শেলের ভিতরে, HA VPN GW তৈরি করুন:

gcloud compute vpn-gateways create on-prem-vpn-gw \
   --network=on-prem-demo\
   --region=$region

HA VPN GW তৈরি যাচাই করুন

কনসোল ব্যবহার করে HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS-এ যান।

7f1b504616504866.png

looker-psc-demo-এর জন্য ক্লাউড রাউটার তৈরি করুন

ক্লাউড শেলের ভিতরে ক্লাউড রাউটার তৈরি করুন:

gcloud compute routers create looker-psc-demo-cr \
   --region=$region \
   --network=looker-psc-demo\
   --asn=65001

looker-psc-demo-এর জন্য VPN টানেল তৈরি করুন

আপনি প্রতিটি HA VPN গেটওয়েতে দুটি VPN টানেল তৈরি করবেন।

ভিপিএন টানেল0 তৈরি করুন

ক্লাউড শেলের ভিতরে, tunnel0 তৈরি করুন:

gcloud compute vpn-tunnels create looker-psc-demo-tunnel0 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router looker-psc-demo-cr \
    --vpn-gateway looker-psc-demo-vpn-gw \
    --interface 0

ভিপিএন টানেল তৈরি করুন১

ক্লাউড শেলের ভিতরে, টানেল১ তৈরি করুন:

gcloud compute vpn-tunnels create looker-psc-demo-tunnel1 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router looker-psc-demo-cr \
    --vpn-gateway looker-psc-demo-vpn-gw \
    --interface 1

অন-প্রেম-ডেমোর জন্য ভিপিএন টানেল তৈরি করুন

আপনি প্রতিটি HA VPN গেটওয়েতে দুটি VPN টানেল তৈরি করবেন।

ভিপিএন টানেল0 তৈরি করুন

ক্লাউড শেলের ভিতরে, tunnel0 তৈরি করুন:

gcloud compute vpn-tunnels create on-prem-tunnel0 \
    --peer-gcp-gateway looker-psc-demo-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-prem-cr \
    --vpn-gateway on-prem-vpn-gw \
   --interface 0

ভিপিএন টানেল তৈরি করুন১

ক্লাউড শেলের ভিতরে, টানেল১ তৈরি করুন:

gcloud compute vpn-tunnels create on-prem-tunnel1 \
    --peer-gcp-gateway looker-psc-demo-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-prem-cr \
    --vpn-gateway on-prem-vpn-gw \
    --interface 1

ভিপিএন টানেল তৈরি যাচাই করুন

কনসোল ব্যবহার করে HYBRID CONNECTIVITY → VPN → CLOUD VPN TUNNELS-এ যান।

c2fcb340a7614070.png

১১. বিজিপি নেইবার স্থাপন করুন

looker-psc-demo-এর জন্য একটি BGP ইন্টারফেস এবং পিয়ারিং তৈরি করুন।

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface looker-psc-demo-cr \
    --interface-name if-tunnel0-to-onprem \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel looker-psc-demo-tunnel0 \
    --region $region

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer looker-psc-demo-cr \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onprem \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region $region

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface looker-psc-demo-cr \
    --interface-name if-tunnel1-to-onprem \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel looker-psc-demo-tunnel1 \
    --region $region

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer looker-psc-demo-cr \
    --peer-name bgp-on-premises-tunnel1 \
    --interface if-tunnel2-to-onprem \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region $region

অন-প্রেম-ডেমোর জন্য একটি BGP ইন্টারফেস এবং পিয়ারিং তৈরি করুন

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface on-prem-cr \
    --interface-name if-tunnel0-to-looker-psc-demo \
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel0 \
    --region $region

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer on-prem-cr \
    --peer-name bgp-looker-psc-demo-tunnel0 \
    --interface if-tunnel1-to-looker-psc-demo \
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region $region

ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:

gcloud compute routers add-interface on-prem-cr \
    --interface-name if-tunnel1-to-looker-psc-demo \
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel1 \
    --region $region

ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:

gcloud compute routers add-bgp-peer on-prem-cr \
    --peer-name bgp-looker-psc-demo-tunnel1\
    --interface if-tunnel2-to-looker-psc-demo \
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region $region

VPN টানেলের বিবরণ দেখতে Hybrid CONNECTIVITY → VPN- এ যান।

78ab590317919bf5.png

HA VPN-এর মাধ্যমে looker-psc-demo দ্বারা শেখা রুটগুলি যাচাই করুন

এখন যেহেতু HA VPN টানেল এবং BGP সেশনগুলো প্রতিষ্ঠিত হয়েছে, ক্লাউড রাউটারের ডিফল্ট আচরণ হলো সাবনেট রুটগুলো প্রচার করা। looker-psc-demo দ্বারা শেখা রুটগুলো দেখুন।

কনসোল ব্যবহার করে, VPC network → VPC networks → looker-psc-demo → ROUTES → REGION → VIEW- তে যান।

লক্ষ্য করুন, looker-psc-demo অন-প্রেম-ডেমো ভিপিসি থেকে ডেটাবেস সাবনেট 192.168.10.0/28 শিখেছে।

c11a11ed8b0491c8.png

যাচাই করুন যে অন-প্রেম-ডেমো VPC, HA VPN-এর মাধ্যমে রুটগুলো শিখেছে।

যেহেতু ক্লাউড রাউটারের ডিফল্ট আচরণ হলো সমস্ত সাবনেটকে অ্যাডভার্টাইজ করা, তাই শুধুমাত্র প্রক্সি সাবনেটটি BGP-এর মাধ্যমে অ্যাডভার্টাইজ করা হয়। হাইব্রিড NEG, onprem.database1.com সার্ভারের সাথে যোগাযোগের সময় সোর্স অ্যাড্রেস হিসেবে শুধুমাত্র প্রক্সি সাবনেটটি ব্যবহার করবে।

লক্ষ্য করুন, অন-প্রেম-ডেমো লুকার-পিএসসি-ডেমো থেকে প্রক্সি-অনলি-সাবনেট 10.10.10.0/24 শিখেছে।

কনসোল ব্যবহার করে, VPC network → VPC networks → on-prem-demo → ROUTES → REGION → VIEW- তে যান।

b0073faed026931f.png

১২. লুকার পোস্টগ্রেস-ডাটাবেস তৈরি

পরবর্তী অংশে, আপনি ক্লাউড শেল ব্যবহার করে postgres-database vm-এ SSH করবেন।

ক্লাউড শেলের ভিতরে, postgres-database ইনস্ট্যান্সে ssh করুন:

 gcloud compute ssh --zone "$zone" "postgres-database" --project "$project"

OS-এর ভিতরে, postgres-database ইনস্ট্যান্সটির IP অ্যাড্রেস (ens4) শনাক্ত করে লিখে রাখুন:

ip a

উদাহরণ:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
    link/ether 42:01:c0:a8:0a:04 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 192.168.10.4/32 metric 100 scope global dynamic ens4
       valid_lft 66779sec preferred_lft 66779sec
    inet6 fe80::4001:c0ff:fea8:a04/64 scope link 
       valid_lft forever preferred_lft forever

OS-এর ভিতরে, postgresql-এ লগ ইন করুন:

sudo -u postgres psql postgres

অপারেটিং সিস্টেমের ভিতরে, পাসওয়ার্ড প্রম্পটে প্রবেশ করুন:

\password postgres

OS-এর ভিতরে, postgres-এর পাসওয়ার্ড সেট করুন (একই পাসওয়ার্ড দুইবার দিন):

postgres

উদাহরণ:

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

অপারেটিং সিস্টেমের ভিতরে, postgres থেকে প্রস্থান করুন:

\q

উদাহরণ:

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

পরবর্তী অংশে, আপনি pg_hba.conf ফাইলের IPv4 লোকাল কানেকশনস (IPv4 local connections) অংশে আপনার postgres-database ইনস্ট্যান্সের আইপি (192.168.10.4) এবং প্রক্সি-অনলি সাবনেট (10.10.10.0/24) যুক্ত করবেন।

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

নিচের স্ক্রিনশটটি হলো সম্পন্ন হওয়া আপডেট: eaff2ed6d27fa7cc.png

নিচের অংশে, নীচের স্ক্রিনশট অনুযায়ী সমস্ত '*' আইপি অ্যাড্রেসের জন্য লিসেন করতে postgresql.conf ফাইলটি আনকমেন্ট করুন:

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

পূর্বে:

65e0b1074dc48644.png

পরে:

14a0d1fa5455e23e.png

OS-এর ভিতরে, postgresql সার্ভিসটি রিস্টার্ট করুন:

sudo service postgresql restart

OS-এর ভিতরে, postgresql-এর স্ট্যাটাস সক্রিয় আছে কিনা তা যাচাই করুন:

sudo service postgresql status

উদাহরণ:

OS-এর ভিতরে, postgresql-এর স্ট্যাটাস সক্রিয় আছে কিনা তা যাচাই করুন:

user@postgres-database:/$ sudo service postgresql status
 postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited) since Mon 2024-09-02 12:10:10 UTC; 1min 46s ago
    Process: 20486 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 20486 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Sep 02 12:10:10 postgres-database systemd[1]: Starting postgresql.service - PostgreSQL RDBMS...
Sep 02 12:10:10 postgres-database systemd[1]: Finished postgresql.service - PostgreSQL RDBMS.

১৩. পোস্টগ্রেস ডাটাবেস তৈরি করুন

পরবর্তী অংশে, আপনি postgres_looker নামে একটি postgres ডেটাবেস এবং looker_schema নামে একটি স্কিমা তৈরি করবেন, যা অন-প্রিমিসেস কানেক্টিভিটি যাচাই করতে ব্যবহৃত হয়।

OS-এর ভিতরে, postgres-এ লগ ইন করুন:

sudo -u postgres psql postgres

অপারেটিং সিস্টেমের ভিতরে ডাটাবেসটি তৈরি করুন:

create database postgres_looker;

অপারেটিং সিস্টেমের ভিতরে, ডাটাবেসটি তালিকাভুক্ত করুন:

\l

অপারেটিং সিস্টেমের ভিতরে, postgreslooker পাসওয়ার্ড দিয়ে postgres_looker নামে একজন ব্যবহারকারী তৈরি করুন:

create user postgres_looker with password 'postgreslooker';

অপারেটিং সিস্টেমের ভিতরে, ডাটাবেসের সাথে সংযোগ করুন:

\c postgres_looker;

অপারেটিং সিস্টেমের ভিতরে looker-schema নামের স্কিমাটি তৈরি করুন এবং ক্লাউড শেল প্রম্পটে ফিরে যান।

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

Exit from the OS, returning you to cloud shell:

\q

উদাহরণ:

user@postgres-database:/$ sudo -u postgres psql postgres
psql (15.8 (Debian 15.8-0+deb12u1))
Type "help" for help.

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

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

১৪. পোস্টগ্রেস postgres-database এর সাথে লুকারকে একীভূত করুন

পরবর্তী অংশে আপনি লুকার কনসোল ব্যবহার করে অন-প্রিমিসেস postgres-database ইনস্ট্যান্সের সাথে একটি ডেটাবেস সংযোগ তৈরি করবেন।

ADMIN → DATABASE → CONNECTIONS-এ যান → ADD CONNECTION নির্বাচন করুন।

নিচের স্ক্রিনশট অনুযায়ী সংযোগের বিবরণ পূরণ করুন, CONNECT নির্বাচন করুন।

5900fdf0b698cbfc.png

সংযোগটি এখন কনফিগার করা হয়েছে।

4817157fd3b1277e.png

১৫. লুকার সংযোগ যাচাই করুন

পরবর্তী অংশে আপনি শিখবেন কিভাবে Looker-এর 'test' অ্যাকশন এবং TCPDUMP ব্যবহার করে অন-প্রেম-ভিপিসি-তে থাকা postgres-ডাটাবেসের সাথে Looker-এর সংযোগ যাচাই করতে হয়।

সেশনের সময়সীমা শেষ হয়ে গেলে ক্লাউড শেল থেকে postgres-database-এ লগ ইন করুন।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region
gcloud compute ssh --zone "$zone" "postgres-database" --project "$project"

অপারেটিং সিস্টেম থেকে, প্রক্সি-অনলি সাবনেট 10.10.10.0/24 ব্যবহার করে একটি TCPDUMP ফিল্টার তৈরি করুন।

sudo tcpdump -i any net 10.10.10.0/24 -nn

ডেটা কানেকশন অ্যাডমিন → ডেটাবেস → কানেকশনস → postgres-database → টেস্ট- এ যান।

একবার টেস্ট নির্বাচন করা হলে লুকার নিচে নির্দেশিত উপায়ে পোস্টগ্রেস-ডাটাবেসের সাথে সংযোগ স্থাপন করবে:

774f9313ece41034.png

পরিষ্কার করা

একটিমাত্র ক্লাউড শেল টার্মিনাল থেকে ল্যাবের উপাদানগুলো মুছে ফেলুন

gcloud compute service-attachments delete onpremdatabase1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-hybrid-neg-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy  --name=looker-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q

gcloud compute routers nats delete on-prem-nat --router=on-prem-cr --router-region=$region -q

gcloud compute network-endpoint-groups delete on-prem-hybrid-neg --zone=$zone -q

gcloud compute addresses delete hybrid-neg-lb-ip --region=$region -q

gcloud compute vpn-tunnels delete looker-psc-demo-tunnel0 looker-psc-demo-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=$region -q

gcloud compute vpn-gateways delete looker-psc-demo-vpn-gw on-prem-vpn-gw --region=$region -q

gcloud compute routers delete looker-psc-demo-cr on-prem-cr --region=$region -q

gcloud compute instances delete postgres-database --zone=$zone -q

gcloud compute addresses delete on-prem-database1-ip --region=$region -q

gcloud compute networks subnets delete database-subnet --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy on-prem-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy on-prem-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=on-prem-demo-policy  --name=on-prem-demo --global-firewall-policy -q

gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q

gcloud compute networks delete on-prem-demo -q

gcloud compute networks delete looker-psc-demo -q

১৬. অভিনন্দন

অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে HA-VPN-এর মাধ্যমে অন-প্রিমিসেস ডেটাবেসের সাথে সংযোগ সফলভাবে কনফিগার এবং যাচাই করেছেন।

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

কসমোপাপের মতে কোডল্যাবগুলো অসাধারণ!!

c911c127bffdee57.jpeg

এরপর কী?

এই কোডল্যাবগুলো দেখে নিন...

আরও পড়ুন ও ভিডিও

রেফারেন্স নথি