1. ভূমিকা
এই কোডল্যাবে আপনি একটি অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার ব্যবহার করে আপনার GitLab স্ব-পরিচালিত পরিবেশে একটি দক্ষিণমুখী HTTPS সংযোগ সঞ্চালন করবেন এবং একটি পরিষেবা গ্রাহক হিসাবে Looker PSC থেকে আমন্ত্রিত ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ (NEG) ব্যবহার করবেন।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণ স্বরূপ, আপনি যখন লুকার অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনিই পরিষেবার ভোক্তা এবং Google হল পরিষেবা প্রযোজক, যেমন চিত্র 1-এ হাইলাইট করা হয়েছে৷
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, রিভার্স পিএসসি নামেও পরিচিত, ভোক্তাকে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসিতে, একটি ভিপিসিতে, পরিচালিত পরিষেবা এবং ইন্টারনেটে এন্ডপয়েন্টগুলিতে লুকার অ্যাক্সেসের অনুমতি দেওয়া যায়৷ সাউথবাউন্ড সংযোগগুলি যে কোনও অঞ্চলে স্থাপন করা যেতে পারে, যেখানে লুকার পিএসসি মোতায়েন করা হয়েছে তা নির্বিশেষে, চিত্র 2-এ হাইলাইট করা হয়েছে৷
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
- লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
- GitLab স্ব-পরিচালিত উদাহরণের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- গিটল্যাব অ্যাকাউন্ট এবং সংগ্রহস্থল
- বিদ্যমান লুকার পিএসসি উদাহরণ
2. আপনি কি তৈরি করবেন
অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং Private Service Connect (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত ইন্টারনেট NEG স্থাপন করতে আপনি একটি প্রযোজক নেটওয়ার্ক, looker-psc-demo প্রতিষ্ঠা করবেন। একবার প্রকাশিত হলে, আপনি প্রযোজক পরিষেবাতে অ্যাক্সেস যাচাই করতে নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রকল্প তৈরি করতে এবং আপনার গিটল্যাব স্ব-পরিচালিত পরিবেশে HTTPS সংযোগ পরীক্ষা করতে Looker Console ব্যবহার করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তাগুলির ভাঙ্গন রয়েছে, এই কোডল্যাবের ভোক্তা হল লুকার পিএসসি উদাহরণ৷
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
PSC NAT সাবনেট | ভোক্তা ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উৎস NAT (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উৎস আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উৎস IP ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | আঞ্চলিক অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সারের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
PSC NEG সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
প্রক্সি শুধুমাত্র সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ IP ঠিকানা বরাদ্দ করা হয়। একটি প্রক্সি থেকে ব্যাকএন্ড VM বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলিতে শুধুমাত্র প্রক্সি-সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট NEG | FQDN হিসাবে কনফিগার করা লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান যা গিটল্যাব স্ব-পরিচালিত অন-প্রিমেসিস FQDN নির্দেশ করে। ইন্টারনেট FQDN রেজোলিউশনের জন্য VPC-এর মধ্যে DNS লুকআপ করে। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
4. কোডল্যাব টপোলজি
5. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
- প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে। - আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারে করা যেতে পারে। আপনার কিছু ইন্সটল করার দরকার নেই।
6. আপনি শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেট আপ করা আছে:
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
7. প্রযোজক VPC নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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 তৈরি করুন, এবং –নেটওয়ার্ক-এন্ডপয়েন্ট-টাইপকে ইন্টারনেট-fqdn-পোর্টে সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ডে পৌঁছানো যেতে পারে)।
ক্লাউড শেলের ভিতরে, গিটল্যাব স্ব-পরিচালিত উদাহরণ, 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 দৃষ্টান্তগুলিতে প্রযোজ্য।
- IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে, 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
8. প্রযোজক পরিষেবা তৈরি করুন
লোড ব্যালেন্সার উপাদান তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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, স্বয়ংক্রিয় অনুমোদন সহ যা পরিষেবা সংযুক্তির সাথে লুকার কোর সংযোগের অনুমতি দেয়৷ আপনি যদি পরিষেবা সংযুক্তিতে অ্যাক্সেস নিয়ন্ত্রণ করতে চান তবে স্পষ্ট অনুমোদনের বিকল্পটি সমর্থিত।
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 এন্ডপয়েন্ট কনফিগার করার জন্য প্রোজেক্ট দিয়ে শুরু করে সেল্ফলিঙ্ক URI-তে তালিকাভুক্ত পরিষেবা সংযুক্তিটি পান এবং নোট করুন।
self-Link: 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
ক্লাউড কনসোলে, নেভিগেট করুন:
নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবা৷
9. লুকারে একটি PSC এন্ডপয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেল-এ –psc-সার্ভিস-অ্যাটাচমেন্ট পতাকা ব্যবহারের মাধ্যমে লুকার কোর PSC-এর সাথে প্রযোজক পরিষেবা সংযুক্তি সংযুক্ত করবেন৷
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে psc অ্যাসোসিয়েশন তৈরি করুন:
- INSTANCE_NAME: আপনার লুকারের নাম (Google ক্লাউড কোর) উদাহরণ।
- DOMAIN_1: 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
ক্লাউড শেলের ভিতরে, সার্ভিস অ্যাটাচমেন্ট সংযোগের স্ট্যাটাস "স্বীকৃত" যাচাই করুন, আপনার লুকার 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 এন্ডপয়েন্ট যাচাই করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগ যাচাই করতে পারেন
ক্লাউড কনসোলে, নেভিগেট করুন:
লুকার → লুকার ইনস্ট্যান্স → বিশদ বিবরণ৷
10. DNS রেজোলিউশন
নিম্নলিখিত বিভাগে, একটি GCE দৃষ্টান্ত তৈরি করুন এবং একটি PING সম্পাদন করে Gitlab স্ব-পরিচালিত উদাহরণ, gitlabonprem.com-এ DNS রেজোলিউশন যাচাই করুন৷ যেমন প্রত্যাশিত, রেজোলিউশন ব্যর্থ হবে gitlabonprem.com-এর জন্য একটি ব্যক্তিগত DNS জোন প্রয়োজন৷
11. একটি 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 ব্যবহার করে ভোক্তা-ভিএমে লগ ইন করুন একটি কার্ল সম্পাদন করে প্রযোজক পরিষেবার সাথে সংযোগ যাচাই করতে। টাইমআউট হলে আবার চেষ্টা করুন।
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
OS থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরে আসবে।
exit
12. একটি ব্যক্তিগত 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"
ক্লাউড শেলের ভিতরে, গিটল্যাব স্ব-পরিচালিত উদাহরণ আইপি ঠিকানা, 192.168.10.4 সমন্বিত একটি রেকর্ড তৈরি করুন।
gcloud dns --project=$projectid record-sets create gitlabonprem.com. --zone="gitlab-self-managed" --type="A" --ttl="300" --rrdatas="192.168.10.4"
ক্লাউড শেল-এ IAP ব্যবহার করে ভোক্তা-ভিএমে লগ ইন করুন একটি কার্ল সম্পাদন করে প্রযোজক পরিষেবার সাথে সংযোগ যাচাই করতে। টাইমআউট হলে আবার চেষ্টা করুন।
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
OS থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরে আসবে।
exit
13. হাইব্রিড সংযোগ
FQDN gitlabonprem.com এখন প্রাঙ্গনে হোস্ট করা ব্যক্তিগত IP ঠিকানা দিয়ে সমাধান করা যেতে পারে। এরপরে, সংযোগ সক্ষম করতে হাইব্রিড নেটওয়ার্কিং (যেমন ইন্টারকানেক্ট, HA-VPN) অবশ্যই looker-psc-demo VPC এবং অন-প্রিমিসেস নেটওয়ার্কের মধ্যে কনফিগার করতে হবে।
অন-প্রিমেসিস-এ হাইব্রিড এনইজি সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি নিম্নরূপ:
- একটি নেটওয়ার্ক সংযোগ পণ্য নির্বাচন করা | গুগল ক্লাউড
- ভিপিসি পিয়ারিং সহ একটি হাব এবং স্পোক আর্কিটেকচারে, হাইব্রিড এনইজি ক্লাউড রাউটার (হাব) হিসাবে একই ভিপিসিতে স্থাপন করা হয়
- নিশ্চিত করুন যে অন-প্রিমিসেস ফায়ারওয়ালগুলি প্রক্সি-অনলি সাবনেট পরিসরকে সামঞ্জস্য করার জন্য আপডেট করা হয়েছে, কারণ এই সাবনেটটি অন-প্রিমিসেস ওয়ার্কলোডের সাথে যোগাযোগের জন্য উৎস IP ঠিকানা হিসাবে কাজ করে
- একটি কাস্টম রুট বিজ্ঞাপন হিসাবে ক্লাউড রাউটার থেকে প্রক্সি-শুধু সাবনেটের বিজ্ঞাপন দিন
14. টেস্ট কানেক্টিভিটি
নিম্নলিখিত ধাপে, আপনি একটি গিট সংযোগ সেট আপ এবং পরীক্ষা করার পদ্ধতিটি ব্যবহার করে gitlabonprem.com-এ HTTPS সংযোগ যাচাই করার জন্য একটি প্রকল্প তৈরি করতে Looker Console ব্যবহার করবেন।
15. পরিষ্কার করুন
একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদান মুছে দিন
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
16. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে একটি গিটল্যাব স্ব-পরিচালিত ইন্সট্যান্সের সাথে সফলভাবে সংযোগ কনফিগার এবং যাচাই করেছেন।
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট NEG, প্রযোজক পরিষেবা এবং লুকার PSC এন্ডপয়েন্ট তৈরি করতে হয় তা শিখেছেন যা প্রযোজক পরিষেবার সাথে সংযোগের অনুমতি দেয়৷
Cosmopup মনে করে কোডল্যাবগুলি দুর্দান্ত!!
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযোগ করুন
- সমস্ত প্রকাশিত প্রাইভেট সার্ভিস কানেক্ট কোডল্যাবগুলিতে অ্যাক্সেস
আরও পড়া এবং ভিডিও
- একটি গিট সংযোগ সেট আপ এবং পরীক্ষা করা হচ্ছে | সন্ধানকারী | গুগল ক্লাউড
- প্রাইভেট সার্ভিস কানেক্ট ওভারভিউ
রেফারেন্স ডক্স
1. ভূমিকা
এই কোডল্যাবে আপনি একটি অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার ব্যবহার করে আপনার GitLab স্ব-পরিচালিত পরিবেশে একটি দক্ষিণমুখী HTTPS সংযোগ সঞ্চালন করবেন এবং একটি পরিষেবা গ্রাহক হিসাবে Looker PSC থেকে আমন্ত্রিত ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ (NEG) ব্যবহার করবেন।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণ স্বরূপ, আপনি যখন লুকার অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনিই পরিষেবার ভোক্তা এবং Google হল পরিষেবা প্রযোজক, যেমন চিত্র 1-এ হাইলাইট করা হয়েছে৷
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, রিভার্স পিএসসি নামেও পরিচিত, ভোক্তাকে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসিতে, একটি ভিপিসিতে, পরিচালিত পরিষেবা এবং ইন্টারনেটে এন্ডপয়েন্টগুলিতে লুকার অ্যাক্সেসের অনুমতি দেওয়া যায়৷ সাউথবাউন্ড সংযোগগুলি যে কোনও অঞ্চলে স্থাপন করা যেতে পারে, যেখানে লুকার পিএসসি মোতায়েন করা হয়েছে তা নির্বিশেষে, চিত্র 2-এ হাইলাইট করা হয়েছে৷
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
- লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
- GitLab স্ব-পরিচালিত উদাহরণের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- গিটল্যাব অ্যাকাউন্ট এবং সংগ্রহস্থল
- বিদ্যমান লুকার পিএসসি উদাহরণ
2. আপনি কি তৈরি করবেন
অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং Private Service Connect (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত ইন্টারনেট NEG স্থাপন করতে আপনি একটি প্রযোজক নেটওয়ার্ক, looker-psc-demo প্রতিষ্ঠা করবেন। একবার প্রকাশিত হলে, আপনি প্রযোজক পরিষেবাতে অ্যাক্সেস যাচাই করতে নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রকল্প তৈরি করতে এবং আপনার গিটল্যাব স্ব-পরিচালিত পরিবেশে HTTPS সংযোগ পরীক্ষা করতে Looker Console ব্যবহার করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তাগুলির ভাঙ্গন রয়েছে, এই কোডল্যাবের ভোক্তা হল লুকার পিএসসি উদাহরণ৷
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
PSC NAT সাবনেট | ভোক্তা ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উৎস NAT (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উৎস আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উৎস IP ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | আঞ্চলিক অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সারের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
PSC NEG সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
প্রক্সি শুধুমাত্র সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ IP ঠিকানা বরাদ্দ করা হয়। একটি প্রক্সি থেকে ব্যাকএন্ড VM বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলিতে শুধুমাত্র প্রক্সি-সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট NEG | FQDN হিসাবে কনফিগার করা লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান যা গিটল্যাব স্ব-পরিচালিত অন-প্রিমেসিস FQDN নির্দেশ করে। ইন্টারনেট FQDN রেজোলিউশনের জন্য VPC-এর মধ্যে DNS লুকআপ করে। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
4. কোডল্যাব টপোলজি
5. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
- প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে। - আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারে করা যেতে পারে। আপনার কিছু ইন্সটল করার দরকার নেই।
6. আপনি শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেট আপ করা আছে:
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
7. প্রযোজক VPC নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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 তৈরি করুন, এবং –নেটওয়ার্ক-এন্ডপয়েন্ট-টাইপকে ইন্টারনেট-fqdn-পোর্টে সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ডে পৌঁছানো যেতে পারে)।
ক্লাউড শেলের ভিতরে, গিটল্যাব স্ব-পরিচালিত উদাহরণ, 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 দৃষ্টান্তগুলিতে প্রযোজ্য।
- IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে, 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
8. প্রযোজক পরিষেবা তৈরি করুন
লোড ব্যালেন্সার উপাদান তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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, স্বয়ংক্রিয় অনুমোদন সহ যা পরিষেবা সংযুক্তির সাথে লুকার কোর সংযোগের অনুমতি দেয়৷ আপনি যদি পরিষেবা সংযুক্তিতে অ্যাক্সেস নিয়ন্ত্রণ করতে চান তবে স্পষ্ট অনুমোদনের বিকল্পটি সমর্থিত।
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 এন্ডপয়েন্ট কনফিগার করার জন্য প্রোজেক্ট দিয়ে শুরু করে সেল্ফলিঙ্ক URI-তে তালিকাভুক্ত পরিষেবা সংযুক্তিটি পান এবং নোট করুন।
self-Link: 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
ক্লাউড কনসোলে, নেভিগেট করুন:
নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবা৷
9. লুকারে একটি PSC এন্ডপয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেল-এ –psc-সার্ভিস-অ্যাটাচমেন্ট পতাকা ব্যবহারের মাধ্যমে লুকার কোর PSC-এর সাথে প্রযোজক পরিষেবা সংযুক্তি সংযুক্ত করবেন৷
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে psc অ্যাসোসিয়েশন তৈরি করুন:
- INSTANCE_NAME: আপনার লুকারের নাম (Google ক্লাউড কোর) উদাহরণ।
- DOMAIN_1: 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
ক্লাউড শেলের ভিতরে, সার্ভিস অ্যাটাচমেন্ট সংযোগের স্ট্যাটাস "স্বীকৃত" যাচাই করুন, আপনার লুকার 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 এন্ডপয়েন্ট যাচাই করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগ যাচাই করতে পারেন
ক্লাউড কনসোলে, নেভিগেট করুন:
লুকার → লুকার ইনস্ট্যান্স → বিশদ বিবরণ৷
10. DNS রেজোলিউশন
নিম্নলিখিত বিভাগে, একটি GCE দৃষ্টান্ত তৈরি করুন এবং একটি PING সম্পাদন করে Gitlab স্ব-পরিচালিত উদাহরণ, gitlabonprem.com-এ DNS রেজোলিউশন যাচাই করুন৷ যেমন প্রত্যাশিত, রেজোলিউশন ব্যর্থ হবে gitlabonprem.com-এর জন্য একটি ব্যক্তিগত DNS জোন প্রয়োজন৷
11. একটি 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 ব্যবহার করে ভোক্তা-ভিএমে লগ ইন করুন একটি কার্ল সম্পাদন করে প্রযোজক পরিষেবার সাথে সংযোগ যাচাই করতে। টাইমআউট হলে আবার চেষ্টা করুন।
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
OS থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরে আসবে।
exit
12. একটি ব্যক্তিগত 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"
ক্লাউড শেলের ভিতরে, গিটল্যাব স্ব-পরিচালিত উদাহরণ আইপি ঠিকানা, 192.168.10.4 সমন্বিত একটি রেকর্ড তৈরি করুন।
gcloud dns --project=$projectid record-sets create gitlabonprem.com. --zone="gitlab-self-managed" --type="A" --ttl="300" --rrdatas="192.168.10.4"
ক্লাউড শেল-এ IAP ব্যবহার করে ভোক্তা-ভিএমে লগ ইন করুন একটি কার্ল সম্পাদন করে প্রযোজক পরিষেবার সাথে সংযোগ যাচাই করতে। টাইমআউট হলে আবার চেষ্টা করুন।
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
OS থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরে আসবে।
exit
13. হাইব্রিড সংযোগ
FQDN gitlabonprem.com এখন প্রাঙ্গনে হোস্ট করা ব্যক্তিগত IP ঠিকানা দিয়ে সমাধান করা যেতে পারে। এরপরে, সংযোগ সক্ষম করতে হাইব্রিড নেটওয়ার্কিং (যেমন ইন্টারকানেক্ট, HA-VPN) অবশ্যই looker-psc-demo VPC এবং অন-প্রিমিসেস নেটওয়ার্কের মধ্যে কনফিগার করতে হবে।
অন-প্রিমেসিস-এ হাইব্রিড এনইজি সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি নিম্নরূপ:
- একটি নেটওয়ার্ক সংযোগ পণ্য নির্বাচন করা | গুগল ক্লাউড
- ভিপিসি পিয়ারিং সহ একটি হাব এবং স্পোক আর্কিটেকচারে, হাইব্রিড এনইজি ক্লাউড রাউটার (হাব) হিসাবে একই ভিপিসিতে স্থাপন করা হয়
- নিশ্চিত করুন যে অন-প্রিমিসেস ফায়ারওয়ালগুলি প্রক্সি-অনলি সাবনেট পরিসরকে সামঞ্জস্য করার জন্য আপডেট করা হয়েছে, কারণ এই সাবনেটটি অন-প্রিমিসেস ওয়ার্কলোডের সাথে যোগাযোগের জন্য উৎস IP ঠিকানা হিসাবে কাজ করে
- একটি কাস্টম রুট বিজ্ঞাপন হিসাবে ক্লাউড রাউটার থেকে প্রক্সি-শুধু সাবনেটের বিজ্ঞাপন দিন
14. টেস্ট কানেক্টিভিটি
নিম্নলিখিত ধাপে, আপনি একটি গিট সংযোগ সেট আপ এবং পরীক্ষা করার পদ্ধতিটি ব্যবহার করে gitlabonprem.com-এ HTTPS সংযোগ যাচাই করার জন্য একটি প্রকল্প তৈরি করতে Looker Console ব্যবহার করবেন।
15. পরিষ্কার করুন
একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদান মুছে দিন
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
16. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে একটি গিটল্যাব স্ব-পরিচালিত ইন্সট্যান্সের সাথে সফলভাবে সংযোগ কনফিগার এবং যাচাই করেছেন।
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট NEG, প্রযোজক পরিষেবা এবং লুকার PSC এন্ডপয়েন্ট তৈরি করতে হয় তা শিখেছেন যা প্রযোজক পরিষেবার সাথে সংযোগের অনুমতি দেয়৷
Cosmopup মনে করে কোডল্যাবগুলি দুর্দান্ত!!
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযোগ করুন
- সমস্ত প্রকাশিত প্রাইভেট সার্ভিস কানেক্ট কোডল্যাবগুলিতে অ্যাক্সেস
আরও পড়া এবং ভিডিও
- একটি গিট সংযোগ সেট আপ এবং পরীক্ষা করা হচ্ছে | সন্ধানকারী | গুগল ক্লাউড
- প্রাইভেট সার্ভিস কানেক্ট ওভারভিউ
রেফারেন্স ডক্স
1. ভূমিকা
এই কোডল্যাবে আপনি একটি অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার ব্যবহার করে আপনার GitLab স্ব-পরিচালিত পরিবেশে একটি দক্ষিণমুখী HTTPS সংযোগ সঞ্চালন করবেন এবং একটি পরিষেবা গ্রাহক হিসাবে Looker PSC থেকে আমন্ত্রিত ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ (NEG) ব্যবহার করবেন।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণ স্বরূপ, আপনি যখন লুকার অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনিই পরিষেবার ভোক্তা এবং Google হল পরিষেবা প্রযোজক, যেমন চিত্র 1-এ হাইলাইট করা হয়েছে৷
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, রিভার্স পিএসসি নামেও পরিচিত, ভোক্তাকে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসিতে, একটি ভিপিসিতে, পরিচালিত পরিষেবা এবং ইন্টারনেটে এন্ডপয়েন্টগুলিতে লুকার অ্যাক্সেসের অনুমতি দেওয়া যায়৷ সাউথবাউন্ড সংযোগগুলি যে কোনও অঞ্চলে স্থাপন করা যেতে পারে, যেখানে লুকার পিএসসি মোতায়েন করা হয়েছে তা নির্বিশেষে, চিত্র 2-এ হাইলাইট করা হয়েছে৷
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
- লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
- GitLab স্ব-পরিচালিত উদাহরণের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- গিটল্যাব অ্যাকাউন্ট এবং সংগ্রহস্থল
- বিদ্যমান লুকার পিএসসি উদাহরণ
2. আপনি কি তৈরি করবেন
অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং Private Service Connect (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত ইন্টারনেট NEG স্থাপন করতে আপনি একটি প্রযোজক নেটওয়ার্ক, looker-psc-demo প্রতিষ্ঠা করবেন। একবার প্রকাশিত হলে, আপনি প্রযোজক পরিষেবাতে অ্যাক্সেস যাচাই করতে নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রকল্প তৈরি করতে এবং আপনার গিটল্যাব স্ব-পরিচালিত পরিবেশে HTTPS সংযোগ পরীক্ষা করতে Looker Console ব্যবহার করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তাগুলির ভাঙ্গন রয়েছে, এই কোডল্যাবের ভোক্তা হল লুকার পিএসসি উদাহরণ৷
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
PSC NAT সাবনেট | ভোক্তা ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উৎস NAT (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উৎস আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উৎস IP ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | আঞ্চলিক অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সারের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
PSC NEG সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
প্রক্সি শুধুমাত্র সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ IP ঠিকানা বরাদ্দ করা হয়। একটি প্রক্সি থেকে ব্যাকএন্ড VM বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলিতে শুধুমাত্র প্রক্সি-সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট NEG | FQDN হিসাবে কনফিগার করা লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান যা গিটল্যাব স্ব-পরিচালিত অন-প্রিমেসিস FQDN নির্দেশ করে। ইন্টারনেট FQDN রেজোলিউশনের জন্য VPC-এর মধ্যে DNS লুকআপ করে। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
4। কোডেল্যাব টপোলজি
5। সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিযুক্ত পরিবেশ সেটআপ
- গুগল ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা একটি বিদ্যমান একটি পুনরায় ব্যবহার করুন। আপনার যদি ইতিমধ্যে কোনও জিমেইল বা গুগল ওয়ার্কস্পেস অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নামটি এই প্রকল্পের অংশগ্রহণকারীদের প্রদর্শনের নাম। এটি একটি চরিত্রের স্ট্রিং যা গুগল এপিআই দ্বারা ব্যবহৃত হয় না। আপনি সর্বদা এটি আপডেট করতে পারেন।
- প্রকল্পের আইডিটি সমস্ত গুগল ক্লাউড প্রকল্পগুলিতে অনন্য এবং এটি অপরিবর্তনীয় (এটি সেট করার পরে পরিবর্তন করা যায় না)। ক্লাউড কনসোল অটো-জেনারেট করে একটি অনন্য স্ট্রিং; সাধারণত আপনি এটি কি যত্নশীল না। বেশিরভাগ কোডল্যাবগুলিতে, আপনাকে আপনার প্রকল্পের আইডি (সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত) রেফারেন্স করতে হবে। আপনি যদি উত্পন্ন আইডি পছন্দ না করেন তবে আপনি অন্য একটি এলোমেলো উত্পন্ন করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন এবং এটি উপলব্ধ কিনা তা দেখতে পারেন। এই পদক্ষেপের পরে এটি পরিবর্তন করা যায় না এবং প্রকল্পের সময়কালের জন্য থেকে যায়। - আপনার তথ্যের জন্য, একটি তৃতীয় মান রয়েছে, একটি প্রকল্প নম্বর , যা কিছু এপিআই ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাব দিয়ে চালানোর জন্য খুব বেশি দাম পড়বে না, যদি কিছু হয়। এই টিউটোরিয়ালটি ছাড়িয়ে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি সংস্থানগুলি মুছতে পারেন বা প্রকল্পটি মুছতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা $ 300 মার্কিন ডলার ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।
ক্লাউড শেল শুরু করুন
গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবটিতে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, মেঘে চলমান একটি কমান্ড লাইন পরিবেশ।
গুগল ক্লাউড কনসোল থেকে, উপরের ডান সরঞ্জামদণ্ডে ক্লাউড শেল আইকনটি ক্লিক করুন:
পরিবেশের সাথে বিধান এবং সংযোগ স্থাপনে এটি কেবল কয়েক মুহুর্ত সময় নেওয়া উচিত। এটি শেষ হয়ে গেলে আপনার এই জাতীয় কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত উন্নয়ন সরঞ্জামের সাথে লোড করা হয়েছে। এটি একটি অবিরাম 5 জিবি হোম ডিরেক্টরি সরবরাহ করে এবং গুগল ক্লাউডে চলে, নেটওয়ার্কের কার্যকারিতা এবং প্রমাণীকরণকে ব্যাপকভাবে বাড়িয়ে তোলে। এই কোডল্যাবের আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যে করা যেতে পারে। আপনার কিছু ইনস্টল করার দরকার নেই।
6। আপনি শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, আপনার প্রকল্পের আইডি সেট আপ হয়েছে তা নিশ্চিত করুন:
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
7। প্রযোজক ভিপিসি নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks create looker-psc-demo --subnet-mode custom
সাবনেট তৈরি করুন
পিএসসি সাবনেট নেটওয়ার্ক ঠিকানা অনুবাদের উদ্দেশ্যে পিএসসি পরিষেবা সংযুক্তির সাথে যুক্ত হবে।
ক্লাউড শেলের ভিতরে, পিএসসি নাট সাবনেট তৈরি করুন:
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
ইন্টারনেট নেগ সেট আপ করুন
একটি ইন্টারনেট নেগ তৈরি করুন এবং ইন্টারনেট-এফকিউডিএন-পোর্টে নেটওয়ার্ক-এন্ডপয়েন্ট-টাইপ সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ড পৌঁছানো যায়)।
ক্লাউড শেলের অভ্যন্তরে, গিটল্যাব স্ব-পরিচালিত উদাহরণ, গিটলবোনপ্রেম.কম অ্যাক্সেসের জন্য ব্যবহৃত একটি ইন্টারনেট নেগ তৈরি করুন।
gcloud compute network-endpoint-groups create gitlab-self-managed-internet-neg \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
ক্লাউড শেলের অভ্যন্তরে, এফকিউডিএন গিটলবোনপ্রেম.কম এবং পোর্ট 443 এর সাথে ইন্টারনেট নেগ গিটল্যাব-স্ব-ম্যানেজড-ইন্টারনেট-এনইজি আপডেট করুন
gcloud compute network-endpoint-groups update gitlab-self-managed-internet-neg \
--add-endpoint="fqdn=gitlabonprem.com,port=443" \
--region=$region
নেটওয়ার্ক ফায়ারওয়াল বিধি তৈরি করুন
আইএপিকে আপনার ভিএম দৃষ্টান্তগুলির সাথে সংযোগ স্থাপনের অনুমতি দেওয়ার জন্য, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- আইএপি ব্যবহার করে আপনি অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত ভিএম দৃষ্টান্তগুলিতে প্রযোজ্য।
- আইপি রেঞ্জ থেকে 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসীমাটিতে সমস্ত আইপি ঠিকানা রয়েছে যা আইএপি টিসিপি ফরোয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে, আইএপি ফায়ারওয়াল নিয়ম তৈরি করুন।
gcloud compute firewall-rules create ssh-iap-looker-psc-demo \
--network looker-psc-demo \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
8। প্রযোজক পরিষেবা তৈরি করুন
লোড ব্যালেন্সার উপাদান তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড শেলটিতে, আপনার ব্যাকএন্ড পরিষেবাতে অনুরোধগুলি রুট করার জন্য একটি টার্গেট টিসিপি প্রক্সি তৈরি করুন:
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
পরিষেবা সংযুক্তি তৈরি করুন
ক্লাউড শেলের অভ্যন্তরে, পরিষেবা সংযুক্তি তৈরি করুন, গিটল্যাব-স্ব-ম্যানেজড-এসভিসি-সংযুক্তি-এইচটিটিপিএস, স্বয়ংক্রিয় অনুমোদনের সাথে যা পরিষেবা সংযুক্তিতে লুকার কোর সংযোগের অনুমতি দেয়। আপনি যদি পরিষেবা সংযুক্তিতে অ্যাক্সেস নিয়ন্ত্রণ করতে চান তবে সুস্পষ্ট অনুমোদনের বিকল্পটি সমর্থিত।
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
এরপরে, লুকায় পিএসসি এন্ডপয়েন্টটি কনফিগার করতে প্রকল্পগুলি দিয়ে শুরু করে সেলফলিংক ইউআরআইতে তালিকাভুক্ত পরিষেবা সংযুক্তিটি অর্জন করুন এবং নোট করুন।
সেলফিলিংক: প্রকল্পগুলি/<আপনার প্রকল্প-আইডি>/অঞ্চল/<আপনার-অঞ্চল>/সার্ভিসেটট্যাচমেন্টস/গিটল্যাব-স্ব-পরিচালিত-এসভিসি-সংযুক্তি-এইচটিটিপিএস
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড কনসোলে, নেভিগেট:
নেটওয়ার্ক পরিষেবাদি → বেসরকারী পরিষেবা সংযোগ → প্রকাশিত পরিষেবাদি
9। লুকারে একটি পিএসসি শেষ পয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একক ডোমেনের জন্য ক্লাউড শেলটিতে ব্যবহার-পিএসসি-পরিষেবা-সংযুক্তি পতাকা ব্যবহারের মাধ্যমে প্রযোজক পরিষেবা সংযুক্তিটি লুকার কোর পিএসসির সাথে যুক্ত করবেন।
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে পিএসসি অ্যাসোসিয়েশন তৈরি করুন:
- উদাহরণ_নাম: আপনার দর্শকের নাম (গুগল ক্লাউড কোর) উদাহরণ।
- ডোমেন_1: gitlabonprem.com
- সার্ভিস_আটচমেন্ট_1: পরিষেবা সংযুক্তি, গিটল্যাব-স্ব-পরিচালিত-এসভিসি-সংযুক্তি-এইচটিটিপিএস বর্ণনা করার সময় ইউআরআই ক্যাপচার করেছে।
- অঞ্চল: যে অঞ্চলে আপনার লুকার (গুগল ক্লাউড কোর) উদাহরণটি হোস্ট করা হয়েছে।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড শেলের অভ্যন্তরে, সার্ভিসিয়েটচমেন্টস সংযোগটি যাচাই করুন "স্বীকৃত", আপনার লুকার পিএসসি উদাহরণ_নাম দিয়ে আপডেট করুন
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"
}
ক্লাউড কনসোলে পিএসসি শেষ পয়েন্টটি বৈধ করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগটি বৈধ করতে পারেন
ক্লাউড কনসোলে, নেভিগেট:
লুকার → লুকার উদাহরণ → বিশদ
10। ডিএনএস রেজোলিউশন
নিম্নলিখিত বিভাগে, একটি জিসিই উদাহরণ তৈরি করুন এবং গিটল্যাব স্ব-পরিচালিত উদাহরণ, গিটলাবোনপ্রেম.কমকে একটি পিং সম্পাদন করে ডিএনএস রেজোলিউশনকে বৈধতা দিন। যেমনটি প্রত্যাশা করা হয়েছিল, রেজোলিউশনটি গিটলবোনপ্রেম ডটকমের জন্য একটি বেসরকারী ডিএনএস জোনের প্রয়োজনে ব্যর্থ হবে।
11। একটি জিসিই উদাহরণ তৈরি করুন
ক্লাউড শেলের অভ্যন্তরে, ডিএনএস রেজোলিউশনকে বৈধতা দেওয়ার জন্য ব্যবহৃত জিসিই উদাহরণ তৈরি করুন।
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
কার্ল সম্পাদন করে প্রযোজক পরিষেবায় সংযোগকে বৈধতা দেওয়ার জন্য ক্লাউড শেল আইএপি ব্যবহার করে গ্রাহক-ভিএম এ লগ ইন করুন। সময়সীমা থাকলে পুনরায় চেষ্টা করুন।
gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap
ওএস থেকে গিটলাবোনপ্রেম ডটকমকে একটি পিং সম্পাদন করে, ব্যর্থতা আশা করা যায়।
ping gitlabonprem.com
উদাহরণ:
user@gce-dns-lookup:~$ ping gitlabonprem.com
ping: gitlabonprem.com: Name or service not known
ওএস থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরিয়ে ফিরিয়ে দিন।
exit
12। একটি বেসরকারী ডিএনএস অঞ্চল তৈরি করুন
ক্লাউড শেলের ভিতরে, ক্লাউড ডিএনএস বেসরকারী অঞ্চল তৈরি করুন।
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 সমন্বিত একটি রেকর্ড তৈরি করুন।
gcloud dns --project=$projectid record-sets create gitlabonprem.com. --zone="gitlab-self-managed" --type="A" --ttl="300" --rrdatas="192.168.10.4"
কার্ল সম্পাদন করে প্রযোজক পরিষেবায় সংযোগকে বৈধতা দেওয়ার জন্য ক্লাউড শেল আইএপি ব্যবহার করে গ্রাহক-ভিএম এ লগ ইন করুন। সময়সীমা থাকলে পুনরায় চেষ্টা করুন।
gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap
ওএস থেকে একটি পিং সম্পাদন করে গিটলাবোনপ্রেম ডটকমকে, যা 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
13 .. হাইব্রিড সংযোগ
এফকিউডিএন গিটলবোনপ্রেম.কম এখন অন-প্রাঙ্গনে হোস্ট করা ব্যক্তিগত আইপি ঠিকানা দিয়ে সমাধান করা যেতে পারে। এরপরে, হাইব্রিড নেটওয়ার্কিং (যেমন আন্তঃসংযোগ, এইচএ-ভিপিএন) সংযোগ সক্ষম করতে লুকার-পিএসসি-ডেমো ভিপিসি এবং অন-প্রিমিস নেটওয়ার্কের মধ্যে কনফিগার করতে হবে।
নীচে অন-প্রিমিসিসে হাইব্রিড নেগ সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি রয়েছে:
- একটি নেটওয়ার্ক সংযোগ পণ্য নির্বাচন করা | গুগল ক্লাউড
- ভিপিসি পিয়ারিং সহ একটি হাব এবং স্পোক আর্কিটেকচারে, হাইব্রিড নেগ ক্লাউড রাউটার (হাব) এর মতো একই ভিপিসিতে মোতায়েন করা হয়
- নিশ্চিত করুন যে অন-প্রাঙ্গনে ফায়ারওয়ালগুলি প্রক্সি-কেবলমাত্র সাবনেট রেঞ্জকে সামঞ্জস্য করার জন্য আপডেট করা হয়েছে, কারণ এই সাবনেট অন-প্রাঙ্গনে কাজের চাপের সাথে যোগাযোগের জন্য উত্স আইপি ঠিকানা হিসাবে কাজ করে
- কাস্টম রুটের বিজ্ঞাপন হিসাবে ক্লাউড রাউটার থেকে কেবল প্রক্সি-কেবলমাত্র সাবনেটের বিজ্ঞাপন দিন
14। পরীক্ষা সংযোগ
নিম্নলিখিত পদক্ষেপগুলিতে, আপনি গিট সংযোগ স্থাপন এবং পরীক্ষা করার ক্ষেত্রে বর্ণিত পদ্ধতিটি ব্যবহার করে গিটলবোনপ্রেম.কম এ এইচটিটিপিএস সংযোগকে বৈধতা দেওয়ার জন্য একটি প্রকল্প তৈরি করতে লুকার কনসোল ব্যবহার করবেন।
15। পরিষ্কার করুন
একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদানগুলি মুছুন
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
16 .. অভিনন্দন
অভিনন্দন, আপনি বেসরকারী পরিষেবা সংযোগ দ্বারা চালিত লুকার কনসোল ব্যবহার করে একটি গিটল্যাব স্ব-পরিচালিত উদাহরণের সাথে সাফল্যের সাথে কনফিগার করেছেন এবং বৈধ করেছেন।
আপনি প্রযোজক অবকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট নেগ, প্রযোজক পরিষেবা এবং লুকার পিএসসি এন্ডপয়েন্ট তৈরি করতে শিখেছেন যা প্রযোজক পরিষেবায় সংযোগের অনুমতি দেয়।
কসমোপআপ মনে করে কোডল্যাবগুলি দুর্দান্ত!
এরপর কি?
এই কোডেল্যাবগুলির কয়েকটি দেখুন ...
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযুক্ত করুন
- সমস্ত প্রকাশিত বেসরকারী পরিষেবা সংযোগ কোডেল্যাব অ্যাক্সেস
আরও পড়া এবং ভিডিও
রেফারেন্স ডক্স
1. ভূমিকা
এই কোডল্যাব-এ আপনি একটি অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার এবং ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট পয়েন্ট গ্রুপ (এনইজি) ব্যবহার করে একটি পরিষেবা গ্রাহক হিসাবে লুকার পিএসসি থেকে আহ্বান জানিয়ে আপনার গিটল্যাব স্ব-পরিচালিত পরিবেশের সাথে একটি দক্ষিণ-পশ্চিম এইচটিটিপিএস সংযোগ সম্পাদন করবেন।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণস্বরূপ, আপনি যখন অ্যাক্সেস লুকারের জন্য প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, আপনি পরিষেবা গ্রাহক, এবং গুগল পরিষেবা প্রযোজক, চিত্র 1 এ হাইলাইট করা হয়েছে।
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, যা বিপরীত পিএসসি নামেও পরিচিত, গ্রাহককে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসিতে, পরিচালিত পরিষেবাগুলি এবং ইন্টারনেটে লুকারকে এন্ডপয়েন্টস অন-প্রাঙ্গনে অ্যাক্সেসের অনুমতি দেয়। চিত্র 2 -এ হাইলাইট করা হিসাবে লুকার পিএসসি যেখানেই স্থাপন করা হয়েছে তা নির্বিশেষে যে কোনও অঞ্চলে দক্ষিণ -পশ্চিম সংযোগগুলি স্থাপন করা যেতে পারে।
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি বেসরকারী পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন
- লুকারে একটি বেসরকারী পরিষেবা সংযোগ শেষ পয়েন্ট তৈরি করুন
- গিটল্যাব স্ব-পরিচালিত উদাহরণের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ গুগল ক্লাউড প্রকল্প
- গিটল্যাব অ্যাকাউন্ট এবং সংগ্রহস্থল
- বিদ্যমান লুকার পিএসসি উদাহরণ
2। আপনি কি নির্মাণ করবেন
আপনি প্রাইভেট সার্ভিস কানেক্ট (পিএসসি) এর মাধ্যমে পরিষেবা হিসাবে প্রকাশিত অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার এবং ইন্টারনেট নেগ মোতায়েন করতে একটি প্রযোজক নেটওয়ার্ক, লুকার-পিএসসি-ডেমো স্থাপন করবেন। একবার প্রকাশিত হয়ে গেলে, আপনি প্রযোজক পরিষেবাতে অ্যাক্সেস বৈধ করার জন্য নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রযোজক পরিষেবা সংযুক্তির সাথে সম্পর্কিত লুকারে একটি পিএসসি এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রকল্প তৈরি করতে লুকার কনসোলটি ব্যবহার করুন এবং আপনার গিটল্যাব স্ব-পরিচালিত পরিবেশে এইচটিটিপিএস সংযোগ পরীক্ষা করুন।
3। নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তার ভাঙ্গন রয়েছে, এই কোডল্যাবের গ্রাহক হলেন লুকার পিএসসি উদাহরণ।
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
পিএসসি নাট সাবনেট | গ্রাহক ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উত্স NAT (এসএনএটি) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উত্স আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উত্স আইপি ঠিকানাগুলিতে রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং বিধি সাবনেট | আঞ্চলিক অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সারের জন্য একটি আইপি ঠিকানা বরাদ্দ করতে ব্যবহৃত |
পিএসসি নেগ সাবনেট | নেটওয়ার্ক শেষ পয়েন্ট গ্রুপের জন্য একটি আইপি ঠিকানা বরাদ্দ করতে ব্যবহৃত |
প্রক্সি কেবল সাবনেট | প্রতিটি লোড ব্যালেন্সারের প্রক্সিগুলি একটি অভ্যন্তরীণ আইপি ঠিকানা বরাদ্দ করা হয়। প্রক্সি থেকে ব্যাকেন্ড ভিএম বা এন্ডপয়েন্টে প্রেরিত প্যাকেটগুলিতে প্রক্সি-কেবলমাত্র সাবনেট থেকে একটি উত্স আইপি ঠিকানা রয়েছে। |
ইন্টারনেট নেগ | FQDN হিসাবে কনফিগার করা লোড ব্যালেন্সারের জন্য একটি বাহ্যিক ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান গিটল্যাব স্ব-পরিচালিত অন-প্রিমিসিস এফকিউডিএন হিসাবে চিহ্নিত করে। ইন্টারনেট এফকিউডিএন রেজোলিউশনের জন্য ভিপিসির মধ্যে ডিএনএস লুকআপ করে। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট নেগের সাথে সম্পর্কিত। |
4। কোডেল্যাব টপোলজি
5। সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিযুক্ত পরিবেশ সেটআপ
- গুগল ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা একটি বিদ্যমান একটি পুনরায় ব্যবহার করুন। আপনার যদি ইতিমধ্যে কোনও জিমেইল বা গুগল ওয়ার্কস্পেস অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নামটি এই প্রকল্পের অংশগ্রহণকারীদের প্রদর্শনের নাম। এটি একটি চরিত্রের স্ট্রিং যা গুগল এপিআই দ্বারা ব্যবহৃত হয় না। আপনি সর্বদা এটি আপডেট করতে পারেন।
- প্রকল্পের আইডিটি সমস্ত গুগল ক্লাউড প্রকল্পগুলিতে অনন্য এবং এটি অপরিবর্তনীয় (এটি সেট করার পরে পরিবর্তন করা যায় না)। ক্লাউড কনসোল অটো-জেনারেট করে একটি অনন্য স্ট্রিং; সাধারণত আপনি এটি কি যত্নশীল না। বেশিরভাগ কোডল্যাবগুলিতে, আপনাকে আপনার প্রকল্পের আইডি (সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত) রেফারেন্স করতে হবে। আপনি যদি উত্পন্ন আইডি পছন্দ না করেন তবে আপনি অন্য একটি এলোমেলো উত্পন্ন করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন এবং এটি উপলব্ধ কিনা তা দেখতে পারেন। এই পদক্ষেপের পরে এটি পরিবর্তন করা যায় না এবং প্রকল্পের সময়কালের জন্য থেকে যায়। - আপনার তথ্যের জন্য, একটি তৃতীয় মান রয়েছে, একটি প্রকল্প নম্বর , যা কিছু এপিআই ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাব দিয়ে চালানোর জন্য খুব বেশি দাম পড়বে না, যদি কিছু হয়। এই টিউটোরিয়ালটি ছাড়িয়ে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি সংস্থানগুলি মুছতে পারেন বা প্রকল্পটি মুছতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা $ 300 মার্কিন ডলার ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।
ক্লাউড শেল শুরু করুন
গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবটিতে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, মেঘে চলমান একটি কমান্ড লাইন পরিবেশ।
গুগল ক্লাউড কনসোল থেকে, উপরের ডান সরঞ্জামদণ্ডে ক্লাউড শেল আইকনটি ক্লিক করুন:
পরিবেশের সাথে বিধান এবং সংযোগ স্থাপনে এটি কেবল কয়েক মুহুর্ত সময় নেওয়া উচিত। এটি শেষ হয়ে গেলে আপনার এই জাতীয় কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত উন্নয়ন সরঞ্জামের সাথে লোড করা হয়েছে। এটি একটি অবিরাম 5 জিবি হোম ডিরেক্টরি সরবরাহ করে এবং গুগল ক্লাউডে চলে, নেটওয়ার্কের কার্যকারিতা এবং প্রমাণীকরণকে ব্যাপকভাবে বাড়িয়ে তোলে। এই কোডল্যাবের আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যে করা যেতে পারে। আপনার কিছু ইনস্টল করার দরকার নেই।
6। আপনি শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, আপনার প্রকল্পের আইডি সেট আপ হয়েছে তা নিশ্চিত করুন:
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
7। প্রযোজক ভিপিসি নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks create looker-psc-demo --subnet-mode custom
সাবনেট তৈরি করুন
পিএসসি সাবনেট নেটওয়ার্ক ঠিকানা অনুবাদের উদ্দেশ্যে পিএসসি পরিষেবা সংযুক্তির সাথে যুক্ত হবে।
ক্লাউড শেলের ভিতরে, পিএসসি নাট সাবনেট তৈরি করুন:
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
ইন্টারনেট নেগ সেট আপ করুন
একটি ইন্টারনেট নেগ তৈরি করুন এবং ইন্টারনেট-এফকিউডিএন-পোর্টে নেটওয়ার্ক-এন্ডপয়েন্ট-টাইপ সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ড পৌঁছানো যায়)।
ক্লাউড শেলের অভ্যন্তরে, গিটল্যাব স্ব-পরিচালিত উদাহরণ, গিটলবোনপ্রেম.কম অ্যাক্সেসের জন্য ব্যবহৃত একটি ইন্টারনেট নেগ তৈরি করুন।
gcloud compute network-endpoint-groups create gitlab-self-managed-internet-neg \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
ক্লাউড শেলের অভ্যন্তরে, এফকিউডিএন গিটলবোনপ্রেম.কম এবং পোর্ট 443 এর সাথে ইন্টারনেট নেগ গিটল্যাব-স্ব-ম্যানেজড-ইন্টারনেট-এনইজি আপডেট করুন
gcloud compute network-endpoint-groups update gitlab-self-managed-internet-neg \
--add-endpoint="fqdn=gitlabonprem.com,port=443" \
--region=$region
নেটওয়ার্ক ফায়ারওয়াল বিধি তৈরি করুন
আইএপিকে আপনার ভিএম দৃষ্টান্তগুলির সাথে সংযোগ স্থাপনের অনুমতি দেওয়ার জন্য, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- আইএপি ব্যবহার করে আপনি অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত ভিএম দৃষ্টান্তগুলিতে প্রযোজ্য।
- আইপি রেঞ্জ থেকে 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসীমাটিতে সমস্ত আইপি ঠিকানা রয়েছে যা আইএপি টিসিপি ফরোয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে, আইএপি ফায়ারওয়াল নিয়ম তৈরি করুন।
gcloud compute firewall-rules create ssh-iap-looker-psc-demo \
--network looker-psc-demo \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
8। প্রযোজক পরিষেবা তৈরি করুন
লোড ব্যালেন্সার উপাদান তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড শেলটিতে, আপনার ব্যাকএন্ড পরিষেবাতে অনুরোধগুলি রুট করার জন্য একটি টার্গেট টিসিপি প্রক্সি তৈরি করুন:
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
পরিষেবা সংযুক্তি তৈরি করুন
ক্লাউড শেলের অভ্যন্তরে, পরিষেবা সংযুক্তি তৈরি করুন, গিটল্যাব-স্ব-ম্যানেজড-এসভিসি-সংযুক্তি-এইচটিটিপিএস, স্বয়ংক্রিয় অনুমোদনের সাথে যা পরিষেবা সংযুক্তিতে লুকার কোর সংযোগের অনুমতি দেয়। আপনি যদি পরিষেবা সংযুক্তিতে অ্যাক্সেস নিয়ন্ত্রণ করতে চান তবে সুস্পষ্ট অনুমোদনের বিকল্পটি সমর্থিত।
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
এরপরে, লুকায় পিএসসি এন্ডপয়েন্টটি কনফিগার করতে প্রকল্পগুলি দিয়ে শুরু করে সেলফলিংক ইউআরআইতে তালিকাভুক্ত পরিষেবা সংযুক্তিটি অর্জন করুন এবং নোট করুন।
সেলফিলিংক: প্রকল্পগুলি/<আপনার প্রকল্প-আইডি>/অঞ্চল/<আপনার-অঞ্চল>/সার্ভিসেটট্যাচমেন্টস/গিটল্যাব-স্ব-পরিচালিত-এসভিসি-সংযুক্তি-এইচটিটিপিএস
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড কনসোলে, নেভিগেট:
নেটওয়ার্ক পরিষেবাদি → বেসরকারী পরিষেবা সংযোগ → প্রকাশিত পরিষেবাদি
9। লুকারে একটি পিএসসি শেষ পয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একক ডোমেনের জন্য ক্লাউড শেলটিতে ব্যবহার-পিএসসি-পরিষেবা-সংযুক্তি পতাকা ব্যবহারের মাধ্যমে প্রযোজক পরিষেবা সংযুক্তিটি লুকার কোর পিএসসির সাথে যুক্ত করবেন।
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে পিএসসি অ্যাসোসিয়েশন তৈরি করুন:
- উদাহরণ_নাম: আপনার দর্শকের নাম (গুগল ক্লাউড কোর) উদাহরণ।
- ডোমেন_1: gitlabonprem.com
- পরিষেবা_আটচমেন্ট_1: পরিষেবা সংযুক্তি, গিটল্যাব-স্ব-পরিচালিত-এসভিসি-সংযুক্তি-এইচটিটিপিএস বর্ণনা করার সময় ইউআরআই ক্যাপচার করেছে।
- অঞ্চল: যে অঞ্চলে আপনার লুকার (গুগল ক্লাউড কোর) উদাহরণটি হোস্ট করা হয়েছে।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড শেলের অভ্যন্তরে, সার্ভিসিয়েটচমেন্টস সংযোগটি যাচাই করুন "স্বীকৃত", আপনার লুকার পিএসসি উদাহরণ_নাম দিয়ে আপডেট করুন
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"
}
ক্লাউড কনসোলে পিএসসি শেষ পয়েন্টটি বৈধ করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগটি বৈধ করতে পারেন
ক্লাউড কনসোলে, নেভিগেট:
লুকার → লুকার উদাহরণ → বিশদ
10। ডিএনএস রেজোলিউশন
নিম্নলিখিত বিভাগে, একটি জিসিই উদাহরণ তৈরি করুন এবং গিটল্যাব স্ব-পরিচালিত উদাহরণ, গিটলাবোনপ্রেম.কমকে একটি পিং সম্পাদন করে ডিএনএস রেজোলিউশনকে বৈধতা দিন। যেমনটি প্রত্যাশা করা হয়েছিল, রেজোলিউশনটি গিটলবোনপ্রেম ডটকমের জন্য একটি বেসরকারী ডিএনএস জোনের প্রয়োজনে ব্যর্থ হবে।
11। একটি জিসিই উদাহরণ তৈরি করুন
ক্লাউড শেলের অভ্যন্তরে, ডিএনএস রেজোলিউশনকে বৈধতা দেওয়ার জন্য ব্যবহৃত জিসিই উদাহরণ তৈরি করুন।
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
কার্ল সম্পাদন করে প্রযোজক পরিষেবায় সংযোগকে বৈধতা দেওয়ার জন্য ক্লাউড শেল আইএপি ব্যবহার করে গ্রাহক-ভিএম এ লগ ইন করুন। সময়সীমা থাকলে পুনরায় চেষ্টা করুন।
gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap
ওএস থেকে গিটলাবোনপ্রেম ডটকমকে একটি পিং সম্পাদন করে, ব্যর্থতা আশা করা যায়।
ping gitlabonprem.com
উদাহরণ:
user@gce-dns-lookup:~$ ping gitlabonprem.com
ping: gitlabonprem.com: Name or service not known
ওএস থেকে প্রস্থান করুন, আপনাকে ক্লাউড শেল টার্মিনালে ফিরিয়ে ফিরিয়ে দিন।
exit
12। একটি বেসরকারী ডিএনএস অঞ্চল তৈরি করুন
ক্লাউড শেলের ভিতরে, ক্লাউড ডিএনএস বেসরকারী অঞ্চল তৈরি করুন।
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 সমন্বিত একটি রেকর্ড তৈরি করুন।
gcloud dns --project=$projectid record-sets create gitlabonprem.com. --zone="gitlab-self-managed" --type="A" --ttl="300" --rrdatas="192.168.10.4"
কার্ল সম্পাদন করে প্রযোজক পরিষেবায় সংযোগকে বৈধতা দেওয়ার জন্য ক্লাউড শেল আইএপি ব্যবহার করে গ্রাহক-ভিএম এ লগ ইন করুন। সময়সীমা থাকলে পুনরায় চেষ্টা করুন।
gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap
ওএস থেকে একটি পিং সম্পাদন করে গিটলাবোনপ্রেম ডটকমকে, যা 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
13 .. হাইব্রিড সংযোগ
এফকিউডিএন গিটলবোনপ্রেম.কম এখন অন-প্রাঙ্গনে হোস্ট করা ব্যক্তিগত আইপি ঠিকানা দিয়ে সমাধান করা যেতে পারে। এরপরে, হাইব্রিড নেটওয়ার্কিং (যেমন আন্তঃসংযোগ, এইচএ-ভিপিএন) সংযোগ সক্ষম করতে লুকার-পিএসসি-ডেমো ভিপিসি এবং অন-প্রিমিস নেটওয়ার্কের মধ্যে কনফিগার করতে হবে।
নীচে অন-প্রিমিসিসে হাইব্রিড নেগ সংযোগ স্থাপনের জন্য প্রয়োজনীয় পদক্ষেপগুলি রয়েছে:
- একটি নেটওয়ার্ক সংযোগ পণ্য নির্বাচন করা | গুগল ক্লাউড
- ভিপিসি পিয়ারিং সহ একটি হাব এবং স্পোক আর্কিটেকচারে, হাইব্রিড নেগ ক্লাউড রাউটার (হাব) এর মতো একই ভিপিসিতে মোতায়েন করা হয়
- নিশ্চিত করুন যে অন-প্রাঙ্গনে ফায়ারওয়ালগুলি প্রক্সি-কেবলমাত্র সাবনেট রেঞ্জকে সামঞ্জস্য করার জন্য আপডেট করা হয়েছে, কারণ এই সাবনেট অন-প্রাঙ্গনে কাজের চাপের সাথে যোগাযোগের জন্য উত্স আইপি ঠিকানা হিসাবে কাজ করে
- কাস্টম রুটের বিজ্ঞাপন হিসাবে ক্লাউড রাউটার থেকে কেবল প্রক্সি-কেবলমাত্র সাবনেটের বিজ্ঞাপন দিন
14। পরীক্ষা সংযোগ
নিম্নলিখিত পদক্ষেপগুলিতে, আপনি গিট সংযোগ স্থাপন এবং পরীক্ষা করার ক্ষেত্রে বর্ণিত পদ্ধতিটি ব্যবহার করে গিটলবোনপ্রেম.কম এ এইচটিটিপিএস সংযোগকে বৈধতা দেওয়ার জন্য একটি প্রকল্প তৈরি করতে লুকার কনসোল ব্যবহার করবেন।
15। পরিষ্কার করুন
একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদানগুলি মুছুন
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
16 .. অভিনন্দন
অভিনন্দন, আপনি বেসরকারী পরিষেবা সংযোগ দ্বারা চালিত লুকার কনসোল ব্যবহার করে একটি গিটল্যাব স্ব-পরিচালিত উদাহরণের সাথে সাফল্যের সাথে কনফিগার করেছেন এবং বৈধ করেছেন।
আপনি প্রযোজক অবকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট নেগ, প্রযোজক পরিষেবা এবং লুকার পিএসসি এন্ডপয়েন্ট তৈরি করতে শিখেছেন যা প্রযোজক পরিষেবায় সংযোগের অনুমতি দেয়।
কসমোপআপ মনে করে কোডল্যাবগুলি দুর্দান্ত!
এরপর কি?
এই কোডেল্যাবগুলির কয়েকটি দেখুন ...
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযুক্ত করুন
- সমস্ত প্রকাশিত বেসরকারী পরিষেবা সংযোগ কোডেল্যাব অ্যাক্সেস