লুকার পিএসসি সাউথবাউন্ড এইচটিটিপিএস ইন্টারনেট এনইজি গিটল্যাব স্ব-পরিচালিত,লুকার পিএসসি সাউথবাউন্ড এইচটিটিপিএস ইন্টারনেট এনইজি গিটল্যাব স্ব-পরিচালিত,লুকার পিএসসি সাউথবাউন্ড HTTPS ইন্টারনেট এনইজি গিটল্যাব স্ব-পরিচালিত,লুকার পিএসসি সাউথবাউন্ড HTTPS ইন্টারনেট এনইজি গিটল্যাব স্ব-পরিচালিত

১. ভূমিকা

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

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

চিত্র ১।

145ea4672c3a3b14.png

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

চিত্র ২।

61932a992ba9b6f4.png

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

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

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

def88091b42bfe4d.png

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

আপনি প্রাইভেট সার্ভিস কানেক্ট (PSC) এর মাধ্যমে একটি সার্ভিস হিসেবে প্রকাশিত অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার এবং ইন্টারনেট এনইজি (NEG) স্থাপন করার জন্য looker-psc-demo নামে একটি প্রোডিউসার নেটওয়ার্ক তৈরি করবেন। প্রকাশিত হয়ে গেলে, প্রোডিউসার সার্ভিসে অ্যাক্সেস যাচাই করার জন্য আপনি নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করবেন:

  • লুকারে প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত একটি PSC এন্ডপয়েন্ট তৈরি করুন।
  • একটি নতুন প্রজেক্ট তৈরি করতে এবং আপনার GitLab সেলফ-ম্যানেজড এনভায়রনমেন্টে HTTPS কানেক্টিভিটি পরীক্ষা করতে Looker Console ব্যবহার করুন।

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

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

উপাদান

বর্ণনা

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

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

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

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

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

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

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

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

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

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

ইন্টারনেট নেতিবাচক

একটি রিসোর্স যা লোড ব্যালান্সারের জন্য একটি এক্সটার্নাল ব্যাকএন্ড নির্ধারণ করতে ব্যবহৃত হয় এবং এটি গিটল্যাবের সেলফ-ম্যানেজড অন-প্রেমেসিস FQDN নির্দেশকারী FQDN হিসাবে কনফিগার করা থাকে। ইন্টারনেট FQDN রেজোলিউশনের জন্য VPC-এর মধ্যে DNS লুকআপ সম্পাদন করে।

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

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

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

34950ed6ef504309.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]
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 internet-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

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

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

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

user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

ইন্টারনেট সেট আপ করুন NEG

একটি ইন্টারনেট এনইজি (NEG) তৈরি করুন, এবং –network-endpoint-type-কে internet-fqdn-port-এ সেট করুন (যে হোস্টনেম এবং পোর্টের মাধ্যমে আপনার এক্সটার্নাল ব্যাকএন্ডে পৌঁছানো যায়)।

ক্লাউড শেলের ভিতরে, গিটল্যাব সেলফ-ম্যানেজড ইনস্ট্যান্স gitlabonprem.com অ্যাক্সেস করার জন্য ব্যবহৃত একটি ইন্টারনেট এনইজি (NEG) তৈরি করুন।

gcloud compute network-endpoint-groups create gitlab-self-managed-internet-neg \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

ক্লাউড শেলের ভিতরে, FQDN gitlabonprem.com এবং পোর্ট 443 দিয়ে gitlab-self-managed-internet-neg ইন্টারনেট NEG-টি আপডেট করুন।

gcloud compute network-endpoint-groups update gitlab-self-managed-internet-neg \
    --add-endpoint="fqdn=gitlabonprem.com,port=443" \
    --region=$region

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

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

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

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

gcloud compute firewall-rules create ssh-iap-looker-psc-demo \
    --network looker-psc-demo \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

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

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

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

gcloud compute backend-services create producer-backend-svc  --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=gitlab-self-managed-internet-neg --network-endpoint-group-region=$region --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-gitlab-self-managed-fr\
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=internet-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=443

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

ক্লাউড শেলের ভিতরে, gitlab-self-managed-svc-attachment-https নামের সার্ভিস অ্যাটাচমেন্টটি তৈরি করুন এবং এতে স্বয়ংক্রিয় অনুমোদনের ব্যবস্থা রাখুন, যা লুকার কোরকে সার্ভিস অ্যাটাচমেন্টটির সাথে সংযোগ স্থাপনের অনুমতি দেবে। আপনি যদি সার্ভিস অ্যাটাচমেন্টটির অ্যাক্সেস নিয়ন্ত্রণ করতে চান , তবে সুস্পষ্ট অনুমোদনের বিকল্পটিও রয়েছে।

gcloud compute service-attachments create gitlab-self-managed-svc-attachment-https --region=$region --producer-forwarding-rule=producer-gitlab-self-managed-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

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

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

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

gcloud compute service-attachments describe gitlab-self-managed-svc-attachment-https --region=$region

উদাহরণ:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-03-04T18:55:42.254-08:00'
description: ''
enableProxyProtocol: false
fingerprint: MlY9GLLGsgE=
id: '9103522880241140673'
kind: compute#serviceAttachment
name: gitlab-self-managed-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '115404658846991336'
  low: '9103522880241140673'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/serviceAttachments/gitlab-self-managed-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/forwardingRules/producer-gitlab-self-managed-fr

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

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

6fa12f77e4640b08.png

43987fabbabb41ad.png

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

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

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

  • INSTANCE_NAME: আপনার Looker (Google Cloud core) ইনস্ট্যান্সের নাম।
  • ডোমেইন_১: gitlabonprem.com
  • SERVICE_ATTACHMENT_1: সার্ভিস অ্যাটাচমেন্ট, gitlab-self-managed-svc-attachment-https, বর্ণনা করার সময় ক্যাপচার করা URI।
  • অঞ্চল: যে অঞ্চলে আপনার লুকার (গুগল ক্লাউড কোর) ইনস্ট্যান্সটি হোস্ট করা আছে।

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

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=gitlabonprem.com,attachment=projects/$project/regions/$region/serviceAttachments/gitlab-self-managed-svc-attachment-https \
--region=$region

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

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": "cosmopup.looker.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.12.28",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
    "projects/$project/global/networks/looker-psc-demo"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "gitlabonprem.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/gitlab-self-managed-svc-attachment-https"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-30T17:47:33.440271635Z"
}

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

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

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

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

2d4684d722d31e4b.png

2d600f33dc61cb6d.png

১০. ডিএনএস রেজোলিউশন

পরবর্তী অংশে, একটি GCE ইনস্ট্যান্স তৈরি করুন এবং একটি PING করার মাধ্যমে Gitlab Self-Managed ইনস্ট্যান্স, gitlabonprem.com-এ DNS রেজোলিউশন যাচাই করুন। প্রত্যাশিতভাবেই, gitlabonprem.com-এর জন্য একটি প্রাইভেট DNS জোনের প্রয়োজন হওয়ায় রেজোলিউশন ব্যর্থ হবে।

১১. একটি GCE ইনস্ট্যান্স তৈরি করুন

ক্লাউড শেলের ভিতরে, ডিএনএস রেজোলিউশন যাচাই করার জন্য ব্যবহৃত GCE ইনস্ট্যান্সটি তৈরি করুন।

gcloud compute instances create gce-dns-lookup \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=producer-psc-fr-subnet

ক্লাউড শেলে IAP ব্যবহার করে কনজিউমার-ভিএম-এ লগ ইন করুন এবং `curl` কমান্ড চালিয়ে প্রডিউসার সার্ভিসের সাথে সংযোগ যাচাই করুন। টাইমআউট হলে পুনরায় চেষ্টা করুন।

gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap

অপারেটিং সিস্টেম থেকে gitlabonprem.com-এ একটি পিং (PING) করলে, ব্যর্থতা প্রত্যাশিত।

ping gitlabonprem.com

উদাহরণ:

user@gce-dns-lookup:~$ ping gitlabonprem.com
ping: gitlabonprem.com: Name or service not known

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

exit

১২. একটি ব্যক্তিগত ডিএনএস জোন তৈরি করুন

ক্লাউড শেলের ভিতরে ক্লাউড ডিএনএস প্রাইভেট জোন তৈরি করুন।

gcloud dns --project=$projectid managed-zones create gitlab-self-managed --description="" --dns-name="gitlabonprem.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"

ক্লাউড শেলের ভিতরে, গিটল্যাব সেলফ-ম্যানেজড ইনস্ট্যান্সের আইপি অ্যাড্রেস, 192.168.10.4, ব্যবহার করে একটি A রেকর্ড তৈরি করুন।

gcloud dns --project=$projectid record-sets create gitlabonprem.com. --zone="gitlab-self-managed" --type="A" --ttl="300" --rrdatas="192.168.10.4"

ক্লাউড শেলে IAP ব্যবহার করে কনজিউমার-ভিএম-এ লগ ইন করুন এবং `curl` কমান্ড চালিয়ে প্রডিউসার সার্ভিসের সাথে সংযোগ যাচাই করুন। টাইমআউট হলে পুনরায় চেষ্টা করুন।

gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap

অপারেটিং সিস্টেম থেকে gitlabonprem.com-এ একটি পিং (PING) করুন, যার অ্যাড্রেসটি হলো 192.168.10.4।

ping gitlabonprem.com

উদাহরণ:

user@gce-dns-lookup:~$ ping gitlabonprem.com
PING gitlabonprem.com (192.168.10.4) 56(84) bytes of data

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

exit

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

এখন অন-প্রিমিসেস-এ হোস্ট করা প্রাইভেট আইপি অ্যাড্রেস ব্যবহার করে FQDN gitlabonprem.com রিজলভ করা যাবে। এরপর, কানেক্টিভিটি চালু করার জন্য looker-psc-demo VPC এবং অন-প্রিমিসেস নেটওয়ার্কের মধ্যে হাইব্রিড নেটওয়ার্কিং (যেমন ইন্টারকানেক্ট, HA-VPN) কনফিগার করতে হবে।

অন-প্রেমিসেস-এ হাইব্রিড এনইজি সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি নিচে দেওয়া হলো:

১৪. সংযোগ পরীক্ষা করুন

পরবর্তী ধাপগুলোতে, আপনি "একটি গিট সংযোগ স্থাপন ও পরীক্ষা করা" অংশে বর্ণিত পদ্ধতি অনুসরণ করে gitlabonprem.com-এর সাথে HTTPS সংযোগ যাচাই করার জন্য Looker Console ব্যবহার করে একটি প্রজেক্ট তৈরি করবেন।

ae3b3884e8ef5db8.png

১৫. পরিষ্কার করুন

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

gcloud compute service-attachments delete gitlab-self-managed-svc-attachment-https --region=$region -q

gcloud compute forwarding-rules delete producer-gitlab-self-managed-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-endpoint-groups delete gitlab-self-managed-internet-neg --region=$region -q

gcloud compute instances delete gce-dns-lookup --zone=us-central1-a -q

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

gcloud dns --project=$projectid record-sets delete gitlabonprem.com. --zone="gitlab-sel
f-managed" --type="A"

gcloud dns --project=$projectid managed-zones delete gitlab-self-managed 

gcloud compute networks delete looker-psc-demo -q

১৬. অভিনন্দন

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

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

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

c911c127bffdee57.jpeg

এরপর কী?

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

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

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