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

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

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

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

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



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

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

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


৯. লুকারে একটি 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 এন্ডপয়েন্টটি যাচাই করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগটি যাচাই করতে পারেন।
ক্লাউড কনসোলে, এখানে যান:
লুকার → লুকার ইনস্ট্যান্স → বিবরণ


১০. ডিএনএস রেজোলিউশন
পরবর্তী অংশে, একটি 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) কনফিগার করতে হবে।
অন-প্রেমিসেস-এ হাইব্রিড এনইজি সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি নিচে দেওয়া হলো:
- নেটওয়ার্ক কানেক্টিভিটি পণ্য নির্বাচন | গুগল ক্লাউড
- VPC পিয়ারিং সহ একটি হাব অ্যান্ড স্পোক আর্কিটেকচারে, হাইব্রিড NEG-কে ক্লাউড রাউটার (হাব)-এর সাথে একই VPC- তে স্থাপন করা হয়।
- নিশ্চিত করুন যে অন-প্রিমিসেস ফায়ারওয়ালগুলি প্রক্সি-অনলি সাবনেট রেঞ্জকে সমর্থন করার জন্য আপডেট করা হয়েছে, কারণ এই সাবনেটটি অন-প্রিমিসেস ওয়ার্কলোডগুলির সাথে যোগাযোগের জন্য সোর্স আইপি অ্যাড্রেস হিসাবে কাজ করে।
- ক্লাউড রাউটার থেকে প্রক্সি-অনলি সাবনেটটিকে একটি কাস্টম রুট অ্যাডভার্টাইজমেন্ট হিসেবে প্রচার করুন ।
১৪. সংযোগ পরীক্ষা করুন
পরবর্তী ধাপগুলোতে, আপনি "একটি গিট সংযোগ স্থাপন ও পরীক্ষা করা" অংশে বর্ণিত পদ্ধতি অনুসরণ করে 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
১৬. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে একটি গিটল্যাব সেলফ-ম্যানেজড ইনস্ট্যান্সের সাথে সংযোগ সফলভাবে কনফিগার এবং যাচাই করেছেন।
আপনি প্রডিউসার ইনফ্রাস্ট্রাকচার তৈরি করেছেন এবং শিখেছেন কীভাবে একটি ইন্টারনেট এনইজি (NEG), প্রডিউসার সার্ভিস ও লুকার পিএসসি (PSC) এন্ডপয়েন্ট তৈরি করতে হয়, যা প্রডিউসার সার্ভিসের সাথে সংযোগ স্থাপন করতে সক্ষম করে।
কসমোপাপের মতে কোডল্যাবগুলো অসাধারণ!!

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