হাইব্রিড নেটওয়ার্কিং এর মাধ্যমে লুকার ক্লাউড সংযুক্ত করুন

১. ভূমিকা

লুকার (গুগল ক্লাউড কোর) গুগল ক্লাউড কনসোল থেকে একটি লুকার ইনস্ট্যান্সের সরলীকৃত ও সুবিন্যস্ত প্রোভিশনিং, কনফিগারেশন এবং ব্যবস্থাপনার সুবিধা প্রদান করে। ইনস্ট্যান্স পরিচালনার কিছু কাজও কনসোল থেকে করা যেতে পারে।

লুকার (গুগল ক্লাউড কোর) ইনস্ট্যান্সের জন্য তিনটি নেটওয়ার্ক কনফিগারেশন উপলব্ধ রয়েছে:

  • পাবলিক: নেটওয়ার্ক সংযোগ একটি বাহ্যিক, ইন্টারনেট-অ্যাক্সেসযোগ্য আইপি অ্যাড্রেস ব্যবহার করে।
  • ব্যক্তিগত: নেটওয়ার্ক সংযোগ একটি অভ্যন্তরীণ, গুগল-হোস্টেড ভার্চুয়াল প্রাইভেট ক্লাউড (VPC) আইপি অ্যাড্রেস ব্যবহার করে।
  • পাবলিক এবং প্রাইভেট: নেটওয়ার্ক সংযোগে একটি পাবলিক আইপি অ্যাড্রেস এবং একটি প্রাইভেট আইপি অ্যাড্রেস উভয়ই ব্যবহৃত হয়, যেখানে আগত ট্র্যাফিক পাবলিক আইপি-র মাধ্যমে এবং বহির্গামী ট্র্যাফিক প্রাইভেট আইপি-র মাধ্যমে রাউট করা হয়।

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

লুকার (গুগল ক্লাউড কোর) সেইসব ইনস্ট্যান্সের জন্য প্রাইভেট আইপি সমর্থন করে, যেগুলো নিম্নলিখিত শর্তগুলো পূরণ করে:

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

এই টিউটোরিয়ালে, আপনি একটি স্বতন্ত্র VPC-তে একটি পূর্ণাঙ্গ প্রাইভেট লুকার নেটওয়ার্ক ডেপ্লয়মেন্ট তৈরি করবেন, যেটির মাল্টি-ক্লাউড এবং অন-প্রিমিসেসের সাথে হাইব্রিড কানেক্টিভিটি থাকবে।

আপনি একটি অন-প্রেমিস পরিবেশকে উপস্থাপন করার জন্য on-prem-vpc নামে একটি ভিপিসি নেটওয়ার্ক সেট আপ করবেন। আপনার ডেপ্লয়মেন্টের জন্য, এই 'on-prem-vpc'-এর কোনো অস্তিত্ব থাকবে না, এর পরিবর্তে আপনার অন-প্রেমিস ডেটা সেন্টার বা ক্লাউড প্রোভাইডারের সাথে হাইব্রিড নেটওয়ার্কিং ব্যবহার করা হবে।

নিচে টিউটোরিয়ালটির প্রধান ধাপগুলো দেওয়া হলো।

  1. us-central1-এ একটি স্বতন্ত্র VPC তৈরি করুন
  2. প্রাইভেট সার্ভিস অ্যাক্সেসের জন্য একটি আইপি সাবনেট বরাদ্দ করুন
  3. স্বতন্ত্র VPC-তে Looker ইনস্ট্যান্স স্থাপন করুন
  4. অন-প্রেম-ভিপিসি এবং হাইব্রিড নেটওয়ার্কিং তৈরি করুন
  5. BGP-এর মাধ্যমে লুকার আইপি রেঞ্জ বিজ্ঞাপন ও যাচাই করুন
  6. Looker এবং Postgresql ডেটা যোগাযোগের সমন্বয় ও যাচাইকরণ

চিত্র ১

8436cc4802b670db.png

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

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

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

  • গুগল ক্লাউড প্রজেক্ট

আইএএম অনুমতি

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

টিউটোরিয়ালটি সমর্থন করার জন্য প্রজেক্টটি আপডেট করুন।

এই টিউটোরিয়ালটিতে ক্লাউড শেলে gcloud কনফিগারেশন বাস্তবায়নে সহায়তার জন্য $variables ব্যবহার করা হয়েছে।

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

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

৩. ভিপিসি সেটআপ

অ্যানালিটিক্স-ভিপিসি তৈরি করুন

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

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

অন-প্রেম-ভিপিসি তৈরি করুন

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

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

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

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

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

ক্লাউড রাউটার এবং NAT কনফিগারেশন

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

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

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

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

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

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

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

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

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

ফায়ারওয়াল নিয়ম তৈরি করুন

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

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

ক্লাউড শেল থেকে

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

৪. ব্যক্তিগত পরিষেবা অ্যাক্সেস

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

প্রাইভেট কানেকশন আপনার ভিপিসি নেটওয়ার্কের ভিএম ইনস্ট্যান্সগুলোকে এবং আপনার অ্যাক্সেস করা সার্ভিসগুলোকে শুধুমাত্র ইন্টারনাল আইপি অ্যাড্রেস ব্যবহার করে যোগাযোগ করতে সক্ষম করে।

সাধারণভাবে বলতে গেলে, প্রাইভেট সার্ভিস অ্যাক্সেস ব্যবহার করার জন্য, আপনাকে প্রথমে আপনার VPC নেটওয়ার্কে একটি IP অ্যাড্রেস রেঞ্জ (CIDR ব্লক) বরাদ্দ করতে হবে এবং তারপর একটি সার্ভিস প্রডিউসারের সাথে একটি প্রাইভেট কানেকশন তৈরি করতে হবে

পরিষেবাগুলির জন্য আইপি ঠিকানা পরিসর বরাদ্দ করুন

একটি প্রাইভেট কানেকশন তৈরি করার আগে, আপনাকে অবশ্যই সার্ভিস প্রডিউসারের VPC নেটওয়ার্ক দ্বারা ব্যবহৃত হওয়ার জন্য একটি IPv4 অ্যাড্রেস রেঞ্জ বরাদ্দ করতে হবে। এটি নিশ্চিত করে যে আপনার VPC নেটওয়ার্ক এবং সার্ভিস প্রডিউসারের নেটওয়ার্কের মধ্যে কোনো আইপি অ্যাড্রেস সংঘর্ষ হবে না।

যখন আপনি আপনার VPC নেটওয়ার্কে কোনো রেঞ্জ বরাদ্দ করেন, তখন সেই রেঞ্জটি সাবনেট (প্রাথমিক ও মাধ্যমিক রেঞ্জ) এবং কাস্টম স্ট্যাটিক রুটের গন্তব্য হিসেবে ব্যবহারের অযোগ্য থাকে।

ব্যক্তিগত পরিষেবা অ্যাক্সেসের সাথে IPv6 অ্যাড্রেস রেঞ্জ ব্যবহার করা সমর্থিত নয়।

গুগল ক্লাউড কনসোলে আপনার প্রোজেক্টের জন্য সার্ভিস নেটওয়ার্কিং এপিআই (Service Networking API) সক্রিয় করুন। এপিআই সক্রিয় করার সময়, এটি যে সক্রিয় হয়েছে তা নিশ্চিত করতে আপনাকে কনসোল পৃষ্ঠাটি রিফ্রেশ করতে হতে পারে।

একটি আইপি বরাদ্দ তৈরি করুন

একটি অ্যাড্রেস রেঞ্জ এবং একটি প্রিফিক্স লেংথ (সাবনেট মাস্ক) নির্দিষ্ট করতে, addresses এবং prefix-length ফ্ল্যাগগুলো ব্যবহার করুন। উদাহরণস্বরূপ, CIDR ব্লক 192.168.0.0/22 ​​বরাদ্দ করতে, অ্যাড্রেসের জন্য 192.168.0.0 এবং প্রিফিক্স লেংথের জন্য 22 নির্দিষ্ট করুন।

ক্লাউড শেলের ভিতরে লুকারের জন্য আইপি বরাদ্দ তৈরি করুন।

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

ক্লাউড শেলের ভিতরে আইপি বরাদ্দ যাচাই করুন।

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

উদাহরণ:

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

একটি ব্যক্তিগত সংযোগ তৈরি করুন

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

প্রাইভেট কানেকশন হলো আপনার VPC নেটওয়ার্ক এবং একজন সার্ভিস প্রডিউসারের মধ্যেকার একটি এক-এক সম্পর্ক। যদি একজন সার্ভিস প্রডিউসার একাধিক পরিষেবা প্রদান করে, তবে সেই প্রডিউসারের সমস্ত পরিষেবার জন্য আপনার কেবল একটি প্রাইভেট কানেকশনই যথেষ্ট।

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

ক্লাউড শেলের ভিতরে একটি প্রাইভেট কানেকশন তৈরি করুন এবং অপারেশন নামটি লিখে রাখুন।

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

উদাহরণ:

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

ক্লাউড শেলের ভিতরে, অপারেশনটি সফল হয়েছে কিনা তা পরীক্ষা করুন এবং পূর্ববর্তী ধাপে তৈরি করা নামটি দিয়ে OPERATION_NAME প্রতিস্থাপন করুন।

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

উদাহরণ:

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

৫. একটি লুকার (গুগল ক্লাউড কোর) ইনস্ট্যান্স তৈরি করুন

শুরু করার আগে

Google Cloud কনসোলে আপনার প্রোজেক্টের জন্য Looker API সক্রিয় করুন। API সক্রিয় করার সময়, এটি সক্রিয় হয়েছে কিনা তা নিশ্চিত করতে আপনাকে কনসোল পৃষ্ঠাটি রিফ্রেশ করতে হতে পারে।

ইনস্ট্যান্সটিতে প্রমাণীকরণ ও অ্যাক্সেস করার জন্য একটি OAuth ক্লায়েন্ট সেট আপ করুন

পরবর্তী অংশে, লুকার ইনস্ট্যান্স তৈরি করার জন্য আপনাকে OAuth ক্লায়েন্ট আইডি এবং সিক্রেট ব্যবহার করতে হবে।

অনুমোদিত জাভাস্ক্রিপ্ট অরিজিন এবং রিডাইরেক্ট ইউআরআই-এর প্রয়োজন নেই।

103601bca0b6ebe8.png

ক্লাউড কনসোলের ভিতরে প্রদত্ত স্ক্রিনশটগুলো অনুসরণ করে একটি ইনস্ট্যান্স তৈরি করুন।

LOOKER → CREATE AN INSTANCE- এ যান

পূর্বে তৈরি করা OAuth ক্লায়েন্ট আইডি এবং সিক্রেট পূরণ করুন।

b780ed751824176c.png3fe880e26a81a756.png91acffd74c68a067.png

তৈরি নির্বাচন করুন

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

Looker ইনস্ট্যান্সটি তৈরি হওয়ার পর একটি ইনস্ট্যান্স ইউআরএল তৈরি হয়। ইউআরএলটি লিখে রাখুন।

5ac8a1b8b438dce6.png

৬. OAuth 2.0 ক্লায়েন্ট আইডি আপডেট করুন।

পরবর্তী অংশে, আপনাকে পূর্বে তৈরি করা OAuth ক্লায়েন্ট আইডি অনুমোদিত রিডাইরেক্ট ইউআরআই (URI) আপডেট করতে হবে এবং এর জন্য ইনস্ট্যান্স ইউআরএল (Instance URL)-এর শেষে /oauth2callback যুক্ত করতে হবে।

একবার সম্পন্ন হলে, আপনি ইনস্ট্যান্স ইউআরএলটি ব্যবহার করে লুকার ইউআই-তে লগ ইন করতে পারবেন।

ক্লাউড কনসোলের ভিতরে, APIs & SERVICES → CREDENTIALS- এ যান।

আপনার Oauth 2.0 ক্লায়েন্ট আইডি নির্বাচন করুন এবং আপনার ইনস্ট্যান্স ইউআরএল আপডেট করুন, উদাহরণ নিচে দেওয়া হলো:

793c5b82ec34fb1f.png

৭. লুকার অ্যাক্সেস যাচাই করুন

ক্লাউড কনসোলে, Looker-এ যান এবং আপনার ইনস্ট্যান্স ইউআরএলটি নির্বাচন করুন, যা Looker UI খুলে দেবে।

9d132a67c532279e.png

চালু করার পর, নিচের স্ক্রিনশট অনুযায়ী আপনার সামনে ল্যান্ডিং পেজটি আসবে, যা লুকার ক্লাউড কোর-এ আপনার অ্যাক্সেস নিশ্চিত করবে।

b77055fd674f8a69.png

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

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

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

এই টিউটোরিয়ালে আপনি Looker-এর সাথে প্রাইভেট কানেক্টিভিটি দেখানোর জন্য analytics-vpc এবং on-prem-vpc-এর মধ্যে HA VPN স্থাপন করবেন।

অ্যানালিটিক্স-ভিপিসির জন্য HA VPN গেটওয়ে তৈরি করুন

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

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

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

অন-প্রেম-ভিপিসির জন্য HA VPN গেটওয়ে তৈরি করুন

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

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

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

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

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

a3973b2bbb832bae.png

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

ক্লাউড শেলের ভিতরে, us-central1-এ অবস্থিত ক্লাউড রাউটারটি তৈরি করুন।

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

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

ক্লাউড শেলের ভিতরে, us-central1-এ অবস্থিত ক্লাউড রাউটারটি তৈরি করুন।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

61c09b3d3102149d.png

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

BGP সেশন তৈরি করুন

এই অংশে আপনি ক্লাউড রাউটার ইন্টারফেস এবং বিজিপি পিয়ার কনফিগার করবেন।

অ্যানালিটিক্স-ভিপিসির জন্য একটি বিজিপি ইন্টারফেস এবং পিয়ারিং তৈরি করুন

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ddd4a8f851d44fd6.png

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

যেহেতু HA VPN টানেল এবং BGP সেশনগুলো স্থাপিত হয়েছে, তাই অন-প্রেম-ভিপিসি থেকে রাউটগুলো অ্যানালিটিক্স-ভিপিসি থেকে জানা যায়। কনসোল ব্যবহার করে, VPC network → VPC networks → analytics-vpc → ROUTES → REGION → us-central1 → VIEW- তে যান।

লক্ষ্য করুন, অ্যানালিটিক্স-ভিপিসি অন-প্রেম-ভিপিসি ডেটাবেস-সাবনেট-ইউএস-সেন্ট্রাল১ 172.16.10.0/27 থেকে রুট শিখেছে।

57c7898390db4bcb.png

যাচাই করুন যে অন-প্রেম-ভিপিসি এইচএ ভিপিএন-এর মাধ্যমে কোনো রুট শিখে ফেলেনি।

অ্যানালিটিক্স-ভিপিসি-তে কোনো সাবনেট নেই, তাই ক্লাউড রাউটার অন-প্রেম-ভিপিসি-তে কোনো সাবনেট অ্যাডভার্টাইজ করবে না। কনসোল ব্যবহার করে, VPC network → VPC networks → on-prem-vpc → ROUTES → REGION → us-central1 → VIEW-তে যান।

5b007e46a7c7026.png

১০. অন-প্রেমে লুকার সাবনেটটি বিজ্ঞাপন দিন

Analytics-cr-us-central1 ক্লাউড রাউটারটি Looker Private Service Access (PSA) সাবনেটটি স্বয়ংক্রিয়ভাবে প্রচার করে না, কারণ সাবনেটটি VPC-কে নয়, বরং PSA-কে বরাদ্দ করা হয়েছে।

আপনাকে analytics-cr-central1 থেকে PSA সাবনেট 192.168.0.0/22 ​​(psa-range-looker)-এর জন্য একটি কাস্টম রুট অ্যাডভার্টাইজমেন্ট তৈরি করতে হবে, যা অন-প্রিমিসেস এনভায়রনমেন্টে অ্যাডভার্টাইজ করা হবে এবং ওয়ার্কলোডগুলো Looker অ্যাক্সেস করার জন্য এটি ব্যবহার করবে।

কনসোল থেকে HYBRID CONNECTIVITY → CLOUD ROUTERS → analytics-cr-us-central1 -এ যান, তারপর EDIT নির্বাচন করুন।

'Advertised routes' বিভাগে, 'Create custom routes' অপশনটি নির্বাচন করুন, নিচের উদাহরণ অনুযায়ী ফিল্ডগুলো আপডেট করুন, 'DONE' নির্বাচন করুন এবং তারপর 'SAVE'-এ ক্লিক করুন।

87f95ee3d1cd8521.png

১১. যাচাই করুন যে অন-প্রেম-ভিপিসি লুকার সাবনেটটি শিখেছে।

যেহেতু অন-প্রেম-ভিপিসি-কে অ্যানালিটিক্স-সিআর-ইউএস-সেন্ট্রাল১ থেকে একটি কাস্টম রুট অ্যাডভার্টাইজমেন্ট হিসেবে প্রচার করা হয়েছে, তাই এটি এখন লুকার পিএসএ সাবনেট অ্যাক্সেস করতে পারবে।

কনসোল ব্যবহার করে, VPC NETWORK → VPC NETWORKS → on-prem-vpc → ROUTES → REGION → us-central1 → VIEW- এ যান।

analytics-vpc থেকে বিজ্ঞাপিত Looker রুটগুলি পর্যবেক্ষণ করুন:

a987a76fd57ddedd.png

১২. বর্তমান VPC পিয়ারিং যাচাই করুন

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

বর্তমান আমদানি ও রপ্তানি করা রুটগুলো যাচাই করুন।

VPC NETWORK → VPC NETWORK PEERING → servicenetworking-googleapis-com- এ যান।

f6d9395712934cd8.png

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

86a0e8c3534c6986.png

এক্সপোর্টেড রুটস নির্বাচন করলে দেখা যায় যে পিয়ার্ড ভিপিসি নেটওয়ার্কে কোনো রুট এক্সপোর্ট করা হয়নি, কারণ ১) অ্যানালিটিক্স-ভিপিসি-তে সাবনেট কনফিগার করা নেই এবং ২) এক্সপোর্ট কাস্টম রুটস নির্বাচন করা হয়নি।

a52de427fa73fb22.png

১৩. ভিপিসি পিয়ারিং আপডেট করুন

VPC NETWORK → VPC NETWORK PEERING → servicenetworking-googleapis-com → EDIT-এ যান

এক্সপোর্ট কাস্টম রুটস নির্বাচন করুন → সংরক্ষণ করুন

a2309e4c3a7cee80.png

১৪. হালনাগাদকৃত ভিপিসি পিয়ারিং যাচাই করুন

রপ্তানিকৃত রুটগুলো যাচাই করুন।

VPC NETWORK → VPC NETWORK PEERING → servicenetworking-googleapis-com- এ যান।

এক্সপোর্টেড রুটস নির্বাচন করলে দেখা যায় যে, অ্যানালিটিক্স-ভিপিসি দ্বারা অন-প্রেম-ভিপিসি রুটগুলো (ডাটাবেস সাবনেট 172.16.10.0/27) পিয়ার্ড ভিপিসি নেটওয়ার্কিং হোস্টিং লুকারে এক্সপোর্ট করা হয়েছে।

47e953268d78a469.png

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

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

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

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

অপারেটিং সিস্টেমের ভিতরে, postgres-database ইনস্ট্যান্সটির আইপি অ্যাড্রেস (ens4) শনাক্ত করে লিখে রাখুন।

ip a

উদাহরণ:

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

অপারেটিং সিস্টেমের ভিতরে postgresql-এ লগ ইন করুন।

sudo -u postgres psql postgres

অপারেটিং সিস্টেমের ভিতরে, পাসওয়ার্ড দেওয়ার জন্য অনুরোধ করা হলে তা লিখুন।

\password postgres

অপারেটিং সিস্টেমের ভিতরে, 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 লোকাল কানেকশনস অংশে আপনার postgres-database ইনস্ট্যান্সের আইপি অ্যাড্রেস এবং Looker Private Google Access সাবনেট (192.168.0.0/22) প্রবেশ করান।

178364a8ee9b6233.png

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

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

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

পূর্বে:

aad52092c0a9408.png

পরে:

7e80b916d29e097c.png

অপারেটিং সিস্টেমের ভেতরে postgresql সার্ভিসটি রিস্টার্ট করুন।

sudo service postgresql restart

অপারেটিং সিস্টেমের ভিতরে, postgresql-এর স্ট্যাটাস সক্রিয় আছে কিনা তা যাচাই করুন।

sudo service postgresql status

উদাহরণ:

অপারেটিং সিস্টেমের ভিতরে, 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 Sat 2023-07-01 23:40:59 UTC; 7s ago
    Process: 4073 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 4073 (code=exited, status=0/SUCCESS)
        CPU: 2ms

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

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

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

অপারেটিং সিস্টেমের ভেতরে postgres-এ লগ ইন করুন।

sudo -u postgres psql postgres

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

create database postgres_looker;

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

\l

অপারেটিং সিস্টেমের ভিতরে, 'looker' পাসওয়ার্ড দিয়ে '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

উদাহরণ:

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

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

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

অপারেটিং সিস্টেম থেকে প্রস্থান করে আপনাকে ক্লাউড শেলে ফিরিয়ে নিয়ে যাওয়া হবে।

\q
exit

১৭. অন-প্রেম-ভিপিসিতে একটি ফায়ারওয়াল তৈরি করুন।

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

ক্লাউড শেল থেকে অন-প্রেম-ভিপিসি ফায়ারওয়ালটি তৈরি করুন।

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

১৮. অ্যানালিটিক্স-ভিপিসিতে প্রাইভেট ডিএনএস তৈরি করুন।

যদিও লুকার একটি গুগল পরিচালিত ভিপিসি-তে ডেপ্লয় করা হয়েছে, সার্ভিসেস নেটওয়ার্কিং-এর সাথে পিয়ারিং-এর মাধ্যমে অ্যানালিটিক্স-ভিপিসি প্রাইভেট ডিএনএস-এ অ্যাক্সেস সমর্থিত।

পরবর্তী অংশে, আপনি analytics-vpc-তে একটি প্রাইভেট ডিএনএস জোন তৈরি করবেন, যেখানে postgres-database ইনস্ট্যান্সের Fully Qualified Domain Name ( postgres.analytics.com) এবং আইপি অ্যাড্রেসের একটি A রেকর্ড থাকবে।

ক্লাউড শেল থেকে analytics.com নামে একটি প্রাইভেট জোন তৈরি করুন।

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

ক্লাউড শেল থেকে postgres-database ইনস্ট্যান্সটির আইপি অ্যাড্রেস শনাক্ত করুন।

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

উদাহরণ:

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

ক্লাউড শেল থেকে A রেকর্ড তৈরি করার সময়, পূর্বে চিহ্নিত আইপি অ্যাড্রেসটি যোগ করা নিশ্চিত করুন।

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

উদাহরণ:

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

ক্লাউড শেল থেকে, সার্ভিসেস নেটওয়ার্কিং-এর সাথে `analytics.com` ডিএনএস-সাফিক্সটি পিয়ার করা হয়, যার ফলে লুকার `analytics-vpc` প্রাইভেট জোনে অ্যাক্সেস পায়।

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

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

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

ক্লাউড কনসোলে, Looker-এ যান এবং আপনার ইনস্ট্যান্স ইউআরএলটি নির্বাচন করুন, যা Looker UI খুলে দেবে।

9d132a67c532279e.png

চালু করার পর, নিচের স্ক্রিনশট অনুযায়ী আপনার সামনে ল্যান্ডিং পেজটি প্রদর্শিত হবে।

b77055fd674f8a69.png

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

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

c8cca15252c2020d.png

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

3e51b7e2cc62fb45.png

২০. লুকার সংযোগ যাচাই করুন

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

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

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

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

অপারেটিং সিস্টেম থেকে, psa-range-looker সাবনেট 192.168.0.0/22 ​​ব্যবহার করে একটি TCPDUMP ফিল্টার তৈরি করুন।

sudo tcpdump -i any net 192.168.0.0/22 -nn

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

একবার 'Test' নির্বাচন করা হলে, Looker সফলভাবে postgres-database-এর সাথে সংযুক্ত হবে, যা নিচে দেখানো হলো:

ef25b837b6a41fe.png

OS টার্মিনালে ফিরে যান এবং যাচাই করুন যে TCPDUMP নিশ্চিত করেছে যে psc-range-looker অন-প্রিমিসেস postgres-database ইনস্ট্যান্সের সাথে সংযোগ স্থাপন করছে।

একটি নোট যোগ করুন যে PSA রেঞ্জের যেকোনো IP লুকার থেকে দেখা যাবে।

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

২১. নিরাপত্তা সুপারিশসমূহ

লুকার এবং পোস্টগ্রেস ডেটাবেস সুরক্ষিত করার জন্য কিছু নিরাপত্তা সুপারিশ এবং সর্বোত্তম অনুশীলন রয়েছে। এগুলি হলো:

  • Looker-এর জন্য সর্বনিম্ন সুবিধাপ্রাপ্ত ডাটাবেস অ্যাকাউন্টের অনুমতি এমনভাবে সেট করা, যাতে এটি প্রয়োজনীয় কাজগুলো সম্পাদন করতে পারে।
  • ক্লায়েন্ট ও লুকার UI-এর মধ্যে এবং লুকার থেকে ডাটাবেসে স্থানান্তরিত ডেটা TLS 1.2+ ব্যবহার করে এনক্রিপ্ট করা হয়।
  • সংরক্ষিত ডেটা ডিফল্টরূপে এনক্রিপ্ট করা থাকে, গ্রাহক Looker ইনস্ট্যান্সের জন্য ( https://cloud.google.com/looker/docs/looker-core-cmek ) এবং Postgres-এর জন্য ( https://cloud.google.com/sql/docs/postgres/configure-cmek ) CMEK-ও ব্যবহার করতে পারেন।
  • লুকার অ্যাক্সেস কন্ট্রোল - লুকার অ্যাডমিনিস্ট্রেটররা কন্টেন্ট অ্যাক্সেস, ডেটা অ্যাক্সেস এবং ফিচার অ্যাক্সেস প্রদানের মাধ্যমে নিয়ন্ত্রণ করতে পারেন যে কোনো প্রিন্সিপাল বা ব্যবহারকারী গোষ্ঠী লুকারে কী দেখতে ও করতে পারবে। এই অপশনগুলো লুকার অ্যাডমিনকে মডেল ও পারমিশন সেট সহ নির্দিষ্ট রোল নির্ধারণ করতে এবং ডেটার জন্য সূক্ষ্ম অ্যাক্সেস কন্ট্রোল তৈরি করতে সাহায্য করে।
  • লুকার অডিট লগ এবং ডেটা অ্যাক্সেস লগ উভয়ই সমর্থন করে, যা কে, কখন এবং কোথায় কী করেছে তার তথ্য ধারণ করে। অডিট লগ ডিফল্টরূপে সক্রিয় থাকে, অন্যদিকে ডেটা অ্যাক্সেস লগ আলাদাভাবে সক্রিয় করতে হয়।
  • বর্তমানে VPC-SC শুধুমাত্র প্রাইভেট আইপি দিয়ে কনফিগার করা এন্টারপ্রাইজ এবং এমবেড ইনস্ট্যান্স সমর্থন করে।

২২. পরিষ্কার করা

Looker Cloud Core ইনস্ট্যান্সটি ডিলিট করতে, এখানে যান:

লুকার → লুকার-টিউটোরিয়াল → ডিলিট

e5a2e3af9e7ffd40.png

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

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

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

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

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

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

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

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

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

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

gcloud compute networks delete analytics-vpc --quiet

২৩. অভিনন্দন

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

আপনি postgres-database ইনস্ট্যান্সে Looker-এর Connect 'Test' টুল এবং TCPDUMP ব্যবহার করে postgres-database-এর সাথে Looker Cloud Core-এর সংযোগ সফলভাবে পরীক্ষা করতেও সক্ষম হয়েছেন।

কসমোপাপ মনে করে টিউটোরিয়ালগুলো অসাধারণ!!

e6d3675ca7c6911f.jpeg

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

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