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

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

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

২. তুমি কী তৈরি করবে
আপনি একটি প্রডিউসার নেটওয়ার্ক, looker-psc-demo, স্থাপন করবেন, যা প্রাইভেট সার্ভিস কানেক্ট (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং ইন্টারনেট NEG স্থাপন করবে। প্রকাশিত হয়ে গেলে, আপনি প্রডিউসার পরিষেবাতে অ্যাক্সেস যাচাই করার জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করবেন:
- প্রযোজক পরিষেবা সংযুক্তির সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন।
- একটি নতুন প্রকল্প তৈরি করতে এবং আপনার GitLab স্ব-পরিচালিত পরিবেশে HTTPS সংযোগ পরীক্ষা করতে Looker Console ব্যবহার করুন।
৩. নেটওয়ার্কের প্রয়োজনীয়তা
নিচে প্রডিউসার নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তার বিশদ বিবরণ দেওয়া হল, এই কোডল্যাবের গ্রাহক হলেন লুকার পিএসসি ইনস্ট্যান্স।
উপাদান | বিবরণ |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
পিএসসি এনএটি সাবনেট | কনজিউমার ভিপিসি নেটওয়ার্কের প্যাকেটগুলি সোর্স ন্যাট (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল সোর্স আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কের ন্যাট সাবনেট থেকে সোর্স আইপি ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | রিজিওনাল ইন্টারনাল টিসিপি প্রক্সি লোড ব্যালেন্সারের জন্য একটি আইপি ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
পিএসসি এনইজি সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
শুধুমাত্র প্রক্সি সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সির একটি অভ্যন্তরীণ আইপি ঠিকানা থাকে। প্রক্সি থেকে ব্যাকএন্ড ভিএম বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলির প্রক্সি-অনলি সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট এনইজি | FQDN হিসেবে কনফিগার করা লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি রিসোর্স যা Gitlab স্ব-পরিচালিত অন-প্রিমিসিস FQDN নির্দেশ করে। ইন্টারনেট FQDN রেজোলিউশনের জন্য VPC-এর মধ্যে DNS লুকআপ করে। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড রিসোর্সের মধ্যে একটি সেতু হিসেবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
৪. কোডল্যাব টপোলজি

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



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

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

এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সকল ডেভেলপমেন্ট টুল রয়েছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি অফার করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারেই করা যেতে পারে। আপনাকে কিছু ইনস্টল করার প্রয়োজন নেই।
৬. শুরু করার আগে
API গুলি সক্ষম করুন
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রোজেক্ট আইডি সেট আপ করা আছে:
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 সাবনেট PSC সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত থাকবে।
ক্লাউড শেলের ভিতরে, 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 (হোস্টনেম এবং পোর্ট যেখানে আপনার বহিরাগত ব্যাকএন্ডে পৌঁছানো যাবে) এ সেট করুন।
ক্লাউড শেলের ভিতরে, Gitlab স্ব-পরিচালিত ইনস্ট্যান্স, 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 দিয়ে ইন্টারনেট NEG gitlab-self-managed-internet-neg আপডেট করুন।
gcloud compute network-endpoint-groups update gitlab-self-managed-internet-neg \
--add-endpoint="fqdn=gitlabonprem.com,port=443" \
--region=$region
নেটওয়ার্ক ফায়ারওয়াল নিয়ম তৈরি করুন
IAP কে আপনার VM ইনস্ট্যান্সের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- IAP ব্যবহার করে আপনি যে সমস্ত VM ইনস্ট্যান্স অ্যাক্সেস করতে চান তার ক্ষেত্রে প্রযোজ্য।
- ৩৫.২৩৫.২৪০.০/২০ আইপি রেঞ্জ থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই রেঞ্জে সমস্ত আইপি ঠিকানা রয়েছে যা আইএপি টিসিপি ফরোয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে, 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
নিম্নলিখিত সিনট্যাক্সে, একটি ফরওয়ার্ডিং নিয়ম তৈরি করুন (অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার)।
ক্লাউড শেলে, নিম্নলিখিতগুলি সম্পাদন করুন:
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 তৈরি করুন, যা স্বয়ংক্রিয় অনুমোদনের মাধ্যমে Looker Core-কে সার্ভিস অ্যাটাচমেন্টের সাথে সংযুক্ত করার অনুমতি দেয়। আপনি যদি সার্ভিস অ্যাটাচমেন্টে অ্যাক্সেস নিয়ন্ত্রণ করতে চান তবে স্পষ্ট অনুমোদনের বিকল্পটি সমর্থিত।
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
এরপর, লুকারে PSC এন্ডপয়েন্ট কনফিগার করার জন্য প্রজেক্ট দিয়ে শুরু করে selfLink URI-তে তালিকাভুক্ত পরিষেবা সংযুক্তিটি পান এবং নোট করুন।
স্ব-লিঙ্ক: projects/<your-project-id>/regions/<your-region>/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
ক্লাউড কনসোলে, এখানে যান:
নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবা


৯. লুকারে একটি পিএসসি এন্ডপয়েন্ট সংযোগ স্থাপন করুন
পরবর্তী বিভাগে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেলে –psc-service-attachment ফ্ল্যাগ ব্যবহারের মাধ্যমে Looker Core PSC-এর সাথে Producers Service Attachment সংযুক্ত করবেন।
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত প্যারামিটারগুলি আপডেট করে psc অ্যাসোসিয়েশন তৈরি করুন:
- INSTANCE_NAME: আপনার লুকারের (গুগল ক্লাউড কোর) ইনস্ট্যান্সের নাম।
- DOMAIN_1: gitlabonprem.com
- SERVICE_ATTACHMENT_1: পরিষেবা সংযুক্তি বর্ণনা করার সময় URI ক্যাপচার করা হয়েছে, gitlab-self-managed-svc-attachment-https।
- অঞ্চল: যে অঞ্চলে আপনার লুকার (গুগল ক্লাউড কোর) ইনস্ট্যান্স হোস্ট করা আছে।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড শেলের ভিতরে, 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 এন্ডপয়েন্ট যাচাই করুন
ক্লাউড কনসোল থেকে আপনি PSC সংযোগ যাচাই করতে পারবেন
ক্লাউড কনসোলে, এখানে যান:
লুকার → লুকার ইনস্ট্যান্স → বিস্তারিত


১০. ডিএনএস রেজোলিউশন
পরবর্তী বিভাগে, একটি GCE ইনস্ট্যান্স তৈরি করুন এবং একটি PING সম্পাদন করে Gitlab স্ব-পরিচালিত ইনস্ট্যান্স, gitlabonprem.com-এ DNS রেজোলিউশন যাচাই করুন। যেমনটি প্রত্যাশিত ছিল, gitlabonprem.com-এর জন্য একটি ব্যক্তিগত DNS জোনের প্রয়োজন হলে রেজোলিউশন ব্যর্থ হবে।
১১. একটি 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 ব্যবহার করে consumer-vm-এ লগ ইন করুন। যদি কোনও সময়সীমা থাকে তবে আবার চেষ্টা করুন।
gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap
OS থেকে gitlabonprem.com-এ PING করলে ব্যর্থতা প্রত্যাশিত।
ping gitlabonprem.com
উদাহরণ:
user@gce-dns-lookup:~$ ping gitlabonprem.com
ping: gitlabonprem.com: Name or service not known
অপারেটিং সিস্টেম থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরিয়ে আনুন।
exit
১২. একটি ব্যক্তিগত DNS জোন তৈরি করুন
ক্লাউড শেলের ভিতরে, ক্লাউড ডিএনএস প্রাইভেট জোন তৈরি করুন।
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"
ক্লাউড শেলের ভিতরে, Gitlab Self-Managed instance IP Address, 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 ব্যবহার করে consumer-vm-এ লগ ইন করুন। যদি কোনও সময়সীমা থাকে তবে আবার চেষ্টা করুন।
gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap
OS থেকে 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 এখন প্রাইভেট আইপি অ্যাড্রেস হোস্ট করে সমাধান করা যেতে পারে। এরপর, সংযোগ সক্ষম করার জন্য হাইব্রিড নেটওয়ার্কিং (যেমন ইন্টারকানেক্ট, HA-VPN) looker-psc-demo VPC এবং অন-প্রিমিসেস নেটওয়ার্কের মধ্যে কনফিগার করতে হবে।
অন-প্রিমিসিসের সাথে হাইব্রিড এনইজি সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি নীচে দেওয়া হল:
- একটি নেটওয়ার্ক সংযোগ পণ্য নির্বাচন করা | গুগল ক্লাউড
- ভিপিসি পিয়ারিং সহ একটি হাব এবং স্পোক আর্কিটেকচারে, হাইব্রিড এনইজি ক্লাউড রাউটার (হাব) এর মতো একই ভিপিসিতে স্থাপন করা হয়েছে।
- নিশ্চিত করুন যে অন-প্রিমিসেস ফায়ারওয়ালগুলি প্রক্সি-কেবল সাবনেট পরিসরের জন্য আপডেট করা হয়েছে, কারণ এই সাবনেটটি অন-প্রিমিসেস ওয়ার্কলোডের সাথে যোগাযোগের জন্য উৎস আইপি ঠিকানা হিসাবে কাজ করে।
- ক্লাউড রাউটার থেকে প্রক্সি-কেবল সাবনেটকে একটি কাস্টম রুট বিজ্ঞাপন হিসেবে বিজ্ঞাপন দিন ।
১৪. সংযোগ পরীক্ষা করুন
নিম্নলিখিত ধাপগুলিতে, আপনি "Git সংযোগ সেট আপ এবং পরীক্ষা" বিভাগে বর্ণিত পদ্ধতি ব্যবহার করে gitlabonprem.com-এ HTTPS সংযোগ যাচাই করার জন্য একটি প্রকল্প তৈরি করতে Looker Console ব্যবহার করবেন।

১৫. পরিষ্কার করা
একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদানগুলি মুছুন
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
১৬. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে একটি GitLab স্ব-পরিচালিত ইনস্ট্যান্সের সাথে সংযোগটি সফলভাবে কনফিগার এবং যাচাই করেছেন।
তুমি প্রযোজক পরিকাঠামো তৈরি করেছো, শিখেছো কিভাবে একটি ইন্টারনেট এনইজি, প্রযোজক পরিষেবা এবং লুকার পিএসসি এন্ডপয়েন্ট তৈরি করতে হয় যা প্রযোজক পরিষেবার সাথে সংযোগ স্থাপনের সুযোগ করে দেয়।
কসমাপপ মনে করে কোডল্যাবগুলি অসাধারণ!!

এরপর কী?
এই কোডল্যাবগুলির কিছু দেখুন...
- পরিষেবা প্রকাশ এবং ব্যবহার করার জন্য প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করা
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রেম পরিষেবাগুলিতে সংযোগ করুন।
- সমস্ত প্রকাশিত প্রাইভেট সার্ভিস কানেক্ট কোডল্যাবগুলিতে অ্যাক্সেস