1. ভূমিকা
এই কোডল্যাবে আপনি একটি অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার ব্যবহার করে GitHub-এর সাথে একটি সাউথবাউন্ড এসএসএইচ সংযোগ করবেন এবং একটি পরিষেবা গ্রাহক হিসাবে লুকার পিএসসি থেকে আমন্ত্রিত ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণ স্বরূপ, আপনি যখন লুকার অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনিই পরিষেবার ভোক্তা এবং Google হল পরিষেবা প্রযোজক, যেমন চিত্র 1-এ হাইলাইট করা হয়েছে৷
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, রিভার্স পিএসসি নামেও পরিচিত, গ্রাহককে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসি-তে, প্রাঙ্গনে, পরিচালিত পরিষেবা এবং ইন্টারনেটে লুকার অ্যাক্সেসের অনুমতি দেওয়া যায়। সাউথবাউন্ড সংযোগগুলি যে কোনও অঞ্চলে স্থাপন করা যেতে পারে, যেখানে লুকার পিএসসি মোতায়েন করা হয়েছে তা নির্বিশেষে, চিত্র 2-এ হাইলাইট করা হয়েছে৷
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
- লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
- একটি টেস্ট সংযোগ ব্যবহার করে লুকার থেকে গিটহাবের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- GitHub অ্যাকাউন্ট এবং সংগ্রহস্থল
- SSH Deploy Key Looker এবং GitHub এর মধ্যে শেয়ার করা হয়েছে
- বিদ্যমান লুকার পিএসসি উদাহরণ
2. আপনি কি তৈরি করবেন
অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং Private Service Connect (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত ইন্টারনেট NEG স্থাপন করতে আপনি একটি প্রযোজক নেটওয়ার্ক, looker-psc-demo প্রতিষ্ঠা করবেন। একবার প্রকাশিত হলে, আপনি প্রযোজক পরিষেবাতে বৈধতা অ্যাক্সেসের জন্য নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রজেক্ট তৈরি করতে Looker Console ব্যবহার করুন এবং SSH ব্যবহার করে Git-এর সাথে কানেক্টিং পদ্ধতি ব্যবহার করে GitHub.com-এ SSH কানেক্টিভিটি পরীক্ষা করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তাগুলির ভাঙ্গন রয়েছে, এই কোডল্যাবের ভোক্তা হল লুকার পিএসসি উদাহরণ৷
প্রযোজক নেটওয়ার্ক
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
PSC NAT সাবনেট | ভোক্তা ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উৎস NAT (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উৎস আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উৎস IP ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | আঞ্চলিক অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সারের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
PSC NEG সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
প্রক্সি শুধুমাত্র সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ IP ঠিকানা বরাদ্দ করা হয়। একটি প্রক্সি থেকে ব্যাকএন্ড VM বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলিতে শুধুমাত্র প্রক্সি সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট NEG | লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান। শুধুমাত্র ক্লাউড ভিপিএন বা ক্লাউড ইন্টারকানেক্টের মাধ্যমে এন্ডপয়েন্টে পৌঁছানো যাবে না। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
ক্লাউড রাউটার | ক্লাউড এনএটি ক্লাউড রাউটারের উপর নির্ভর করে প্লেন নিয়ন্ত্রণের ক্ষমতার জন্য, কিন্তু বিজিপি সেশন পরিচালনার জন্য নয়। |
মেঘ NAT | আঞ্চলিক ইন্টারনেট NEG ইন্টারনেট প্রস্থানের জন্য ক্লাউড NAT ব্যবহার করে। |
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
পাবলিক NAT গেটওয়ে তৈরি করুন
NAT গেটওয়ে আঞ্চলিক অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার দ্বারা কনফিগারেশন বিকল্পের সাথে ইন্টারনেট বহির্গমনের জন্য ব্যবহৃত হয়, -endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB, তাই একই NATGW GCE/GKE ইন্টারনেট প্রস্থান সমর্থন করবে না। GCE/GKE ইন্টারনেট এগ্রেসের জন্য –endpoint-types=ENDPOINT_TYPE_VM সহ একটি অতিরিক্ত NAT GW স্থাপন করুন।
ক্লাউড শেলের ভিতরে, ক্লাউড রাউটার তৈরি করুন:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
ক্লাউড শেলের ভিতরে, tcp প্রক্সি লোড ব্যালেন্সারের জন্য ইন্টারনেট এগ্রেস সক্ষম করে ক্লাউড NAT গেটওয়ে তৈরি করুন:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
লোড ব্যালেন্সারের আইপি ঠিকানা সংরক্ষণ করুন
ক্লাউড শেলের ভিতরে, লোড ব্যালেন্সারের জন্য একটি অভ্যন্তরীণ আইপি ঠিকানা সংরক্ষণ করুন:
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-পোর্টে সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ডে পৌঁছানো যেতে পারে)।
ক্লাউড শেলের ভিতরে, github.com এর জন্য ব্যবহৃত একটি ইন্টারনেট NEG তৈরি করুন
gcloud compute network-endpoint-groups create github-internet-neg-ssh \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
ক্লাউড শেলের ভিতরে, FQDN github.com এবং পোর্ট 22 এর সাথে ইন্টারনেট NEG github-internet-neg-ssh আপডেট করুন
gcloud compute network-endpoint-groups update github-internet-neg-ssh \
--add-endpoint="fqdn=github.com,port=22" \
--region=$region
নেটওয়ার্ক ফায়ারওয়াল নীতি এবং ফায়ারওয়াল নিয়ম তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
নিম্নলিখিত ফায়ারওয়াল নিয়মটি PSC NAT সাবনেট পরিসর থেকে নেটওয়ার্কের সমস্ত দৃষ্টান্তে ট্র্যাফিকের অনুমতি দেয়।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
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=github-internet-neg-ssh --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-github-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=22
সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
ক্লাউড শেলের ভিতরে, পরিষেবা সংযুক্তি তৈরি করুন, github-svc-attachment-ssh:
gcloud compute service-attachments create github-svc-attachment-ssh --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
এরপরে, লুকারে PSC এন্ডপয়েন্ট কনফিগার করার জন্য প্রোজেক্ট দিয়ে শুরু করে সেল্ফলিঙ্ক URI-তে তালিকাভুক্ত পরিষেবা সংযুক্তিটি পান এবং নোট করুন।
সেলফলিঙ্ক: প্রকল্প/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-ssh
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute service-attachments describe github-svc-attachment-ssh --region=$region
প্রত্যাশিত আউটপুটের উদাহরণ
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '7557641709467614900'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
ক্লাউড কনসোলে, নেভিগেট করুন:
নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবা৷
9. লুকারে একটি PSC এন্ডপয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেল-এ –psc-সার্ভিস-অ্যাটাচমেন্ট পতাকা ব্যবহারের মাধ্যমে লুকার কোর PSC-এর সাথে প্রযোজক পরিষেবা সংযুক্তি সংযুক্ত করবেন৷
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে psc অ্যাসোসিয়েশন তৈরি করুন:
- INSTANCE_NAME: আপনার লুকারের নাম (Google ক্লাউড কোর) উদাহরণ।
- DOMAIN_1: githubssh.com
- SERVICE_ATTACHMENT_1: পরিষেবা সংযুক্তি, github-svc-attachment-ssh বর্ণনা করার সময় 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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--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.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/$project/locations/$region/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/$project/global/networks/looker-psc-demo",
"projects/$project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "githubssh.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-31T20:53:04.824018122Z"
}
ক্লাউড কনসোলে PSC এন্ডপয়েন্ট যাচাই করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগ যাচাই করতে পারেন
ক্লাউড কনসোলে, নেভিগেট করুন:
লুকার → লুকার ইনস্ট্যান্স → বিশদ বিবরণ৷
10. GitHub-এ কানেক্টিভিটি পরীক্ষা করুন
নিম্নলিখিত ধাপে, আপনি Looker UI-তে github.com ডোমেন githubssh.com-এ আপডেট করে GitHub.com-এ SSH সংযোগ যাচাই করার জন্য একটি প্রকল্প তৈরি করতে Looker Console ব্যবহার করবেন। এই ক্রিয়াটি শুধুমাত্র GitHub-এ SSH সংযোগের জন্য প্রয়োজন।
11. একটি নতুন প্রকল্প তৈরি করুন
বিকাশ মোড সক্ষম করুন
লুকার কনসোলে, নেভিগেট করুন:
ডেভেলপমেন্ট মোড সক্ষম করুন (নীচে বাম পৃষ্ঠা), একবার নির্বাচিত ব্যানার 'আপনি উন্নয়ন মোডে' প্রদর্শিত হবে।
একটি নতুন প্রকল্প তৈরি করুন
ক্লাউড কনসোলে, নেভিগেট করুন:
উন্নয়ন → প্রকল্প
নতুন লুকএমএল প্রকল্প নির্বাচন করুন
একটি প্রকল্পের নাম প্রদান করুন, ফাঁকা প্রকল্প নির্বাচন করুন তারপর প্রকল্প তৈরি করুন।
কনফিগার গিট নির্বাচন করুন
গিট কনফিগার করুন
একবার আপনি চালিয়ে যান নির্বাচন করলে, আপনাকে রিপোজিটরি URL এবং গিট হোস্টিং পরিষেবা যাচাই করার জন্য উন্নীত করা হবে।
আপনার GitHub সংগ্রহস্থলে স্থাপনার কী যোগ করুন। লেখার অ্যাক্সেসের অনুমতি নিশ্চিত করুন। একবার আপডেট হয়ে গেলে পরীক্ষা নির্বাচন করুন এবং সেটআপ চূড়ান্ত করুন।
গিট অ্যাকশন নির্বাচন করুন
টেস্ট গিট সংযোগ নির্বাচন করুন
গিট সংযোগ পরীক্ষা যাচাই করুন
12. পরিষ্কার করুন
একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদান মুছে দিন
gcloud compute service-attachments delete github-svc-attachment-ssh --region=$region -q
gcloud compute forwarding-rules delete producer-github-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-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg-ssh --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে গিটহাবের সাথে সফলভাবে সংযোগ কনফিগার এবং যাচাই করেছেন।
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট NEG, প্রযোজক পরিষেবা এবং লুকার PSC এন্ডপয়েন্ট তৈরি করতে হয় তা শিখেছেন যা প্রযোজক পরিষেবার সাথে সংযোগের অনুমতি দেয়৷
Cosmopup মনে করে কোডল্যাবগুলি দুর্দান্ত!!
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযোগ করুন
- সমস্ত প্রকাশিত প্রাইভেট সার্ভিস কানেক্ট কোডল্যাবগুলিতে অ্যাক্সেস
আরও পড়া এবং ভিডিও
- একটি গিট সংযোগ সেট আপ এবং পরীক্ষা করা হচ্ছে | সন্ধানকারী | গুগল ক্লাউড
- প্রাইভেট সার্ভিস কানেক্ট ওভারভিউ
রেফারেন্স ডক্স
- একটি বহিরাগত ব্যাকএন্ড সহ একটি আঞ্চলিক অভ্যন্তরীণ প্রক্সি নেটওয়ার্ক লোড ব্যালেন্সার সেট আপ করুন৷
- ক্লাউড NAT ওভারভিউ
- একটি লুকার (গুগল ক্লাউড কোর) ব্যক্তিগত পরিষেবা সংযোগের উদাহরণ তৈরি করুন৷
- প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করে কীভাবে একটি পরিষেবা প্রকাশ করবেন
- SSH ব্যবহার করে Git এর সাথে সংযোগ করা হচ্ছে
1. ভূমিকা
এই কোডল্যাবে আপনি একটি অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার ব্যবহার করে GitHub-এর সাথে একটি সাউথবাউন্ড এসএসএইচ সংযোগ করবেন এবং একটি পরিষেবা গ্রাহক হিসাবে লুকার পিএসসি থেকে আমন্ত্রিত ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণ স্বরূপ, আপনি যখন লুকার অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনিই পরিষেবার ভোক্তা এবং Google হল পরিষেবা প্রযোজক, যেমন চিত্র 1-এ হাইলাইট করা হয়েছে৷
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, রিভার্স পিএসসি নামেও পরিচিত, গ্রাহককে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসি-তে, প্রাঙ্গনে, পরিচালিত পরিষেবা এবং ইন্টারনেটে লুকার অ্যাক্সেসের অনুমতি দেওয়া যায়। সাউথবাউন্ড সংযোগগুলি যে কোনও অঞ্চলে স্থাপন করা যেতে পারে, যেখানে লুকার পিএসসি মোতায়েন করা হয়েছে তা নির্বিশেষে, চিত্র 2-এ হাইলাইট করা হয়েছে৷
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
- লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
- একটি টেস্ট সংযোগ ব্যবহার করে লুকার থেকে গিটহাবের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- GitHub অ্যাকাউন্ট এবং সংগ্রহস্থল
- SSH Deploy Key Looker এবং GitHub এর মধ্যে শেয়ার করা হয়েছে
- বিদ্যমান লুকার পিএসসি উদাহরণ
2. আপনি কি তৈরি করবেন
অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং Private Service Connect (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত ইন্টারনেট NEG স্থাপন করতে আপনি একটি প্রযোজক নেটওয়ার্ক, looker-psc-demo প্রতিষ্ঠা করবেন। একবার প্রকাশিত হলে, আপনি প্রযোজক পরিষেবাতে বৈধতা অ্যাক্সেসের জন্য নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রজেক্ট তৈরি করতে Looker Console ব্যবহার করুন এবং SSH ব্যবহার করে Git-এর সাথে কানেক্টিং পদ্ধতি ব্যবহার করে GitHub.com-এ SSH কানেক্টিভিটি পরীক্ষা করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তাগুলির ভাঙ্গন রয়েছে, এই কোডল্যাবের ভোক্তা হল লুকার পিএসসি উদাহরণ৷
প্রযোজক নেটওয়ার্ক
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
PSC NAT সাবনেট | ভোক্তা ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উৎস NAT (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উৎস আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উৎস IP ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | আঞ্চলিক অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সারের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
PSC NEG সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
প্রক্সি শুধুমাত্র সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ IP ঠিকানা বরাদ্দ করা হয়। একটি প্রক্সি থেকে ব্যাকএন্ড VM বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলিতে শুধুমাত্র প্রক্সি সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট NEG | লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান। শুধুমাত্র ক্লাউড ভিপিএন বা ক্লাউড ইন্টারকানেক্টের মাধ্যমে এন্ডপয়েন্টে পৌঁছানো যাবে না। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
ক্লাউড রাউটার | ক্লাউড এনএটি ক্লাউড রাউটারের উপর নির্ভর করে প্লেন নিয়ন্ত্রণের ক্ষমতার জন্য, কিন্তু বিজিপি সেশন পরিচালনার জন্য নয়। |
মেঘ NAT | আঞ্চলিক ইন্টারনেট NEG ইন্টারনেট প্রস্থানের জন্য ক্লাউড NAT ব্যবহার করে। |
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
পাবলিক NAT গেটওয়ে তৈরি করুন
NAT গেটওয়ে আঞ্চলিক অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার দ্বারা কনফিগারেশন বিকল্পের সাথে ইন্টারনেট বহির্গমনের জন্য ব্যবহৃত হয়, -endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB, তাই একই NATGW GCE/GKE ইন্টারনেট প্রস্থান সমর্থন করবে না। GCE/GKE ইন্টারনেট এগ্রেসের জন্য –endpoint-types=ENDPOINT_TYPE_VM সহ একটি অতিরিক্ত NAT GW স্থাপন করুন।
ক্লাউড শেলের ভিতরে, ক্লাউড রাউটার তৈরি করুন:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
ক্লাউড শেলের ভিতরে, tcp প্রক্সি লোড ব্যালেন্সারের জন্য ইন্টারনেট এগ্রেস সক্ষম করে ক্লাউড NAT গেটওয়ে তৈরি করুন:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
লোড ব্যালেন্সারের আইপি ঠিকানা সংরক্ষণ করুন
ক্লাউড শেলের ভিতরে, লোড ব্যালেন্সারের জন্য একটি অভ্যন্তরীণ আইপি ঠিকানা সংরক্ষণ করুন:
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-পোর্টে সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ডে পৌঁছানো যেতে পারে)।
ক্লাউড শেলের ভিতরে, github.com এর জন্য ব্যবহৃত একটি ইন্টারনেট NEG তৈরি করুন
gcloud compute network-endpoint-groups create github-internet-neg-ssh \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
ক্লাউড শেলের ভিতরে, FQDN github.com এবং পোর্ট 22 এর সাথে ইন্টারনেট NEG github-internet-neg-ssh আপডেট করুন
gcloud compute network-endpoint-groups update github-internet-neg-ssh \
--add-endpoint="fqdn=github.com,port=22" \
--region=$region
নেটওয়ার্ক ফায়ারওয়াল নীতি এবং ফায়ারওয়াল নিয়ম তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
নিম্নলিখিত ফায়ারওয়াল নিয়মটি PSC NAT সাবনেট পরিসর থেকে নেটওয়ার্কের সমস্ত দৃষ্টান্তে ট্র্যাফিকের অনুমতি দেয়।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
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=github-internet-neg-ssh --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-github-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=22
সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
ক্লাউড শেলের ভিতরে, পরিষেবা সংযুক্তি তৈরি করুন, github-svc-attachment-ssh:
gcloud compute service-attachments create github-svc-attachment-ssh --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
এরপরে, লুকারে PSC এন্ডপয়েন্ট কনফিগার করার জন্য প্রোজেক্ট দিয়ে শুরু করে সেল্ফলিঙ্ক URI-তে তালিকাভুক্ত পরিষেবা সংযুক্তিটি পান এবং নোট করুন।
সেলফলিঙ্ক: প্রকল্প/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-ssh
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute service-attachments describe github-svc-attachment-ssh --region=$region
প্রত্যাশিত আউটপুটের উদাহরণ
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '7557641709467614900'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
ক্লাউড কনসোলে, নেভিগেট করুন:
নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবা৷
9. লুকারে একটি PSC এন্ডপয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেল-এ –psc-সার্ভিস-অ্যাটাচমেন্ট পতাকা ব্যবহারের মাধ্যমে লুকার কোর PSC-এর সাথে প্রযোজক পরিষেবা সংযুক্তি সংযুক্ত করবেন৷
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে psc অ্যাসোসিয়েশন তৈরি করুন:
- INSTANCE_NAME: আপনার লুকারের নাম (Google ক্লাউড কোর) উদাহরণ।
- DOMAIN_1: githubssh.com
- SERVICE_ATTACHMENT_1: পরিষেবা সংযুক্তি, github-svc-attachment-ssh বর্ণনা করার সময় 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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--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.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/$project/locations/$region/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/$project/global/networks/looker-psc-demo",
"projects/$project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "githubssh.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-31T20:53:04.824018122Z"
}
ক্লাউড কনসোলে PSC এন্ডপয়েন্ট যাচাই করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগ যাচাই করতে পারেন
ক্লাউড কনসোলে, নেভিগেট করুন:
লুকার → লুকার ইনস্ট্যান্স → বিশদ বিবরণ৷
10. GitHub-এ কানেক্টিভিটি পরীক্ষা করুন
নিম্নলিখিত ধাপে, আপনি Looker UI-তে github.com ডোমেন githubssh.com-এ আপডেট করে GitHub.com-এ SSH সংযোগ যাচাই করার জন্য একটি প্রকল্প তৈরি করতে Looker Console ব্যবহার করবেন। এই ক্রিয়াটি শুধুমাত্র GitHub-এ SSH সংযোগের জন্য প্রয়োজন।
11. একটি নতুন প্রকল্প তৈরি করুন
বিকাশ মোড সক্ষম করুন
লুকার কনসোলে, নেভিগেট করুন:
ডেভেলপমেন্ট মোড সক্ষম করুন (নীচে বাম পৃষ্ঠা), একবার নির্বাচিত ব্যানার 'আপনি উন্নয়ন মোডে' প্রদর্শিত হবে।
একটি নতুন প্রকল্প তৈরি করুন
ক্লাউড কনসোলে, নেভিগেট করুন:
উন্নয়ন → প্রকল্প
নতুন লুকএমএল প্রকল্প নির্বাচন করুন
একটি প্রকল্পের নাম প্রদান করুন, ফাঁকা প্রকল্প নির্বাচন করুন তারপর প্রকল্প তৈরি করুন।
কনফিগার গিট নির্বাচন করুন
গিট কনফিগার করুন
একবার আপনি চালিয়ে যান নির্বাচন করলে, আপনাকে রিপোজিটরি URL এবং গিট হোস্টিং পরিষেবা যাচাই করার জন্য উন্নীত করা হবে।
আপনার GitHub সংগ্রহস্থলে স্থাপনার কী যোগ করুন। লেখার অ্যাক্সেসের অনুমতি নিশ্চিত করুন। একবার আপডেট হয়ে গেলে পরীক্ষা নির্বাচন করুন এবং সেটআপ চূড়ান্ত করুন।
গিট অ্যাকশন নির্বাচন করুন
টেস্ট গিট সংযোগ নির্বাচন করুন
গিট সংযোগ পরীক্ষা যাচাই করুন
12. পরিষ্কার করুন
একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদান মুছে দিন
gcloud compute service-attachments delete github-svc-attachment-ssh --region=$region -q
gcloud compute forwarding-rules delete producer-github-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-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg-ssh --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে গিটহাবের সাথে সফলভাবে সংযোগ কনফিগার এবং যাচাই করেছেন।
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট NEG, প্রযোজক পরিষেবা এবং লুকার PSC এন্ডপয়েন্ট তৈরি করতে হয় তা শিখেছেন যা প্রযোজক পরিষেবার সাথে সংযোগের অনুমতি দেয়৷
Cosmopup মনে করে কোডল্যাবগুলি দুর্দান্ত!!
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযোগ করুন
- সমস্ত প্রকাশিত প্রাইভেট সার্ভিস কানেক্ট কোডল্যাবগুলিতে অ্যাক্সেস
আরও পড়া এবং ভিডিও
- একটি গিট সংযোগ সেট আপ এবং পরীক্ষা করা হচ্ছে | সন্ধানকারী | গুগল ক্লাউড
- প্রাইভেট সার্ভিস কানেক্ট ওভারভিউ
রেফারেন্স ডক্স
- একটি বহিরাগত ব্যাকএন্ড সহ একটি আঞ্চলিক অভ্যন্তরীণ প্রক্সি নেটওয়ার্ক লোড ব্যালেন্সার সেট আপ করুন৷
- ক্লাউড NAT ওভারভিউ
- একটি লুকার (গুগল ক্লাউড কোর) ব্যক্তিগত পরিষেবা সংযোগের উদাহরণ তৈরি করুন৷
- প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করে কীভাবে একটি পরিষেবা প্রকাশ করবেন
- SSH ব্যবহার করে Git এর সাথে সংযোগ করা হচ্ছে
1. ভূমিকা
এই কোডল্যাবে আপনি একটি অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার ব্যবহার করে GitHub-এর সাথে একটি সাউথবাউন্ড এসএসএইচ সংযোগ করবেন এবং একটি পরিষেবা গ্রাহক হিসাবে লুকার পিএসসি থেকে আমন্ত্রিত ইন্টারনেট নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ।
প্রাইভেট সার্ভিস কানেক্ট হল Google ক্লাউড নেটওয়ার্কিং এর একটি ক্ষমতা যা গ্রাহকদের তাদের VPC নেটওয়ার্কের ভিতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলি অ্যাক্সেস করতে দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রযোজকদের তাদের নিজস্ব আলাদা ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলি হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ অফার করার অনুমতি দেয়। উদাহরণ স্বরূপ, আপনি যখন লুকার অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনিই পরিষেবার ভোক্তা এবং Google হল পরিষেবা প্রযোজক, যেমন চিত্র 1-এ হাইলাইট করা হয়েছে৷
চিত্র 1।
সাউথবাউন্ড অ্যাক্সেস, রিভার্স পিএসসি নামেও পরিচিত, গ্রাহককে প্রযোজক হিসাবে একটি প্রকাশিত পরিষেবা তৈরি করতে সক্ষম করে যাতে ভিপিসি-তে, প্রাঙ্গনে, পরিচালিত পরিষেবা এবং ইন্টারনেটে লুকার অ্যাক্সেসের অনুমতি দেওয়া যায়। সাউথবাউন্ড সংযোগগুলি যে কোনও অঞ্চলে স্থাপন করা যেতে পারে, যেখানে লুকার পিএসসি মোতায়েন করা হয়েছে তা নির্বিশেষে, চিত্র 2-এ হাইলাইট করা হয়েছে৷
চিত্র 2।
আপনি কি শিখবেন
- নেটওয়ার্ক প্রয়োজনীয়তা
- একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
- লুকারে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
- একটি টেস্ট সংযোগ ব্যবহার করে লুকার থেকে গিটহাবের সাথে সংযোগ স্থাপন করুন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- GitHub অ্যাকাউন্ট এবং সংগ্রহস্থল
- SSH Deploy Key Looker এবং GitHub এর মধ্যে শেয়ার করা হয়েছে
- বিদ্যমান লুকার পিএসসি উদাহরণ
2. আপনি কি তৈরি করবেন
অভ্যন্তরীণ tcp প্রক্সি লোড ব্যালেন্সার এবং Private Service Connect (PSC) এর মাধ্যমে একটি পরিষেবা হিসাবে প্রকাশিত ইন্টারনেট NEG স্থাপন করতে আপনি একটি প্রযোজক নেটওয়ার্ক, looker-psc-demo প্রতিষ্ঠা করবেন। একবার প্রকাশিত হলে, আপনি প্রযোজক পরিষেবাতে বৈধতা অ্যাক্সেসের জন্য নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত লুকারে একটি PSC এন্ডপয়েন্ট তৈরি করুন
- একটি নতুন প্রজেক্ট তৈরি করতে Looker Console ব্যবহার করুন এবং SSH ব্যবহার করে Git-এর সাথে কানেক্টিং পদ্ধতি ব্যবহার করে GitHub.com-এ SSH কানেক্টিভিটি পরীক্ষা করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে প্রযোজক নেটওয়ার্কের জন্য নেটওয়ার্ক প্রয়োজনীয়তাগুলির ভাঙ্গন রয়েছে, এই কোডল্যাবের ভোক্তা হল লুকার পিএসসি উদাহরণ৷
প্রযোজক নেটওয়ার্ক
উপাদান | বর্ণনা |
ভিপিসি (লুকার-পিএসসি-ডেমো) | কাস্টম মোড ভিপিসি |
PSC NAT সাবনেট | ভোক্তা ভিপিসি নেটওয়ার্কের প্যাকেটগুলি উৎস NAT (SNAT) ব্যবহার করে অনুবাদ করা হয় যাতে তাদের মূল উৎস আইপি ঠিকানাগুলি প্রযোজকের ভিপিসি নেটওয়ার্কে NAT সাবনেট থেকে উৎস IP ঠিকানায় রূপান্তরিত হয়। |
পিএসসি ফরওয়ার্ডিং নিয়ম সাবনেট | আঞ্চলিক অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সারের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
PSC NEG সাবনেট | নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের জন্য একটি IP ঠিকানা বরাদ্দ করতে ব্যবহৃত হয় |
প্রক্সি শুধুমাত্র সাবনেট | লোড ব্যালেন্সারের প্রতিটি প্রক্সিকে একটি অভ্যন্তরীণ IP ঠিকানা বরাদ্দ করা হয়। একটি প্রক্সি থেকে ব্যাকএন্ড VM বা এন্ডপয়েন্টে পাঠানো প্যাকেটগুলিতে শুধুমাত্র প্রক্সি সাবনেট থেকে একটি উৎস আইপি ঠিকানা থাকে। |
ইন্টারনেট NEG | লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান। শুধুমাত্র ক্লাউড ভিপিএন বা ক্লাউড ইন্টারকানেক্টের মাধ্যমে এন্ডপয়েন্টে পৌঁছানো যাবে না। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
ক্লাউড রাউটার | ক্লাউড এনএটি ক্লাউড রাউটারের উপর নির্ভর করে প্লেন নিয়ন্ত্রণের ক্ষমতার জন্য, কিন্তু বিজিপি সেশন পরিচালনার জন্য নয়। |
মেঘ NAT | আঞ্চলিক ইন্টারনেট NEG ইন্টারনেট প্রস্থানের জন্য ক্লাউড NAT ব্যবহার করে। |
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
পাবলিক নাট গেটওয়ে তৈরি করুন
NAT গেটওয়েটি কনফিগারেশন বিকল্পের সাথে ইন্টারনেট এড্রেসের জন্য আঞ্চলিক অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার দ্বারা ব্যবহৃত হয়, end জিসিই/Gke ইন্টারনেট এগ্র্রেসের জন্য endendPoint- টাইপস = এন্ডপয়েন্ট_ টাইপ_ভিএম সহ একটি অতিরিক্ত নাট জিডব্লিউ স্থাপন করুন।
ক্লাউড শেলের ভিতরে, ক্লাউড রাউটার তৈরি করুন:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
ক্লাউড শেলের অভ্যন্তরে, ক্লাউড নাট গেটওয়ে তৈরি করুন টিসিপি প্রক্সি লোড ব্যালেন্সারের জন্য ইন্টারনেট এড্রেস সক্ষম করে:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
লোড ব্যালেন্সারের আইপি ঠিকানা সংরক্ষণ করুন
ক্লাউড শেলের ভিতরে, লোড ব্যালেন্সারের জন্য একটি অভ্যন্তরীণ আইপি ঠিকানা সংরক্ষণ করুন:
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 github-internet-neg-ssh \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
ক্লাউড শেলের অভ্যন্তরে, এফকিউডিএন গিটহাব ডটকম এবং 22 পোর্ট সহ ইন্টারনেট নেগ গিথুব-ইন্টারনেট-নেগ-এসএসএইচ আপডেট করুন
gcloud compute network-endpoint-groups update github-internet-neg-ssh \
--add-endpoint="fqdn=github.com,port=22" \
--region=$region
নেটওয়ার্ক ফায়ারওয়াল নীতি এবং ফায়ারওয়াল বিধি তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
নিম্নলিখিত ফায়ারওয়াল নিয়মটি পিএসসি নাট সাবনেট রেঞ্জ থেকে ট্র্যাফিকের নেটওয়ার্কের সমস্ত ক্ষেত্রে ট্র্যাফিকের অনুমতি দেয়।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
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=github-internet-neg-ssh --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-github-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=22
পরিষেবা সংযুক্তি তৈরি করুন
ক্লাউড শেলের ভিতরে, পরিষেবা সংযুক্তি তৈরি করুন, গিটহাব-এসভিসি-সংযুক্তি-এসএসএস:
gcloud compute service-attachments create github-svc-attachment-ssh --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
এরপরে, লুকায় পিএসসি এন্ডপয়েন্টটি কনফিগার করতে প্রকল্পগুলি দিয়ে শুরু করে সেলফলিংক ইউআরআইতে তালিকাভুক্ত পরিষেবা সংযুক্তিটি অর্জন করুন এবং নোট করুন।
সেলফিলিংক: প্রকল্পগুলি/<আপনার প্রকল্প-আইডি>/অঞ্চল/<আপনার-অঞ্চল>/সার্ভিসেটট্যাচমেন্টস/গিটহাব-এসভিসি-সংযুক্তি-এসএসএসএইচ
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute service-attachments describe github-svc-attachment-ssh --region=$region
প্রত্যাশিত আউটপুট উদাহরণ
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '7557641709467614900'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
ক্লাউড কনসোলে, নেভিগেট:
নেটওয়ার্ক পরিষেবাদি → বেসরকারী পরিষেবা সংযোগ → প্রকাশিত পরিষেবাদি
9। লুকারে একটি পিএসসি শেষ পয়েন্ট সংযোগ স্থাপন করুন
নিম্নলিখিত বিভাগে, আপনি একক ডোমেনের জন্য ক্লাউড শেলটিতে ব্যবহার-পিএসসি-পরিষেবা-সংযুক্তি পতাকা ব্যবহারের মাধ্যমে প্রযোজক পরিষেবা সংযুক্তিটি লুকার কোর পিএসসির সাথে যুক্ত করবেন।
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মেলে নিম্নলিখিত পরামিতিগুলি আপডেট করে পিএসসি অ্যাসোসিয়েশন তৈরি করুন:
- উদাহরণ_নাম: আপনার দর্শকের নাম (গুগল ক্লাউড কোর) উদাহরণ।
- ডোমেন_1: githubssh.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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--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.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/$project/locations/$region/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/$project/global/networks/looker-psc-demo",
"projects/$project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "githubssh.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-31T20:53:04.824018122Z"
}
ক্লাউড কনসোলে পিএসসি শেষ পয়েন্টটি বৈধ করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগটি বৈধ করতে পারেন
ক্লাউড কনসোলে, নেভিগেট:
লুকার → লুকার উদাহরণ → বিশদ
10। গিটহাবের সাথে সংযোগ পরীক্ষা করুন
নিম্নলিখিত পদক্ষেপগুলিতে, আপনি গিটহাব ডটকমকে গিটহাব ডটকমকে গিটহুবস ডটকমকে গিটহাবস ডটকমকে আপডেট করে গিটহাব ডটকমের এসএসএইচ সংযোগকে বৈধতা দেওয়ার জন্য একটি প্রকল্প তৈরি করতে লুকার কনসোল ব্যবহার করবেন। এই ক্রিয়াটি কেবল গিটহাবের সাথে এসএসএইচ সংযোগের জন্য প্রয়োজনীয়।
11। একটি নতুন প্রকল্প তৈরি করুন
উন্নয়ন মোড সক্ষম করুন
লুকার কনসোলে, নেভিগেট:
ডেভলপমেন্ট মোড সক্ষম করুন (নীচে বাম পৃষ্ঠা), একবার নির্বাচিত একবার 'আপনি উন্নয়ন মোডে রয়েছেন' ব্যানারটি প্রদর্শিত হয়।
একটি নতুন প্রকল্প তৈরি করুন
ক্লাউড কনসোলে, নেভিগেট:
→ প্রকল্পগুলি বিকাশ করুন
নতুন লুকএমএল প্রকল্প নির্বাচন করুন
একটি প্রকল্পের নাম সরবরাহ করুন, ফাঁকা প্রকল্প নির্বাচন করুন তারপরে প্রকল্প তৈরি করুন।
গিট কনফিগার করুন নির্বাচন করুন
গিট কনফিগার করুন
একবার আপনি চালিয়ে যাওয়ার পরে, আপনাকে সংগ্রহস্থল ইউআরএল এবং গিট হোস্টিং পরিষেবাটি বৈধ করার জন্য প্রচার করা হবে।
আপনার গিটহাব সংগ্রহস্থলে স্থাপনার কী যুক্ত করুন। লেখার অ্যাক্সেসের অনুমতি নিশ্চিত করুন। একবার আপডেট করা পরীক্ষা করুন এবং সেটআপ চূড়ান্ত করুন।
গিট ক্রিয়া নির্বাচন করুন
টেস্ট গিট সংযোগ নির্বাচন করুন
গিট সংযোগ পরীক্ষা বৈধ করুন
12। পরিষ্কার করুন
একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদানগুলি মুছুন
gcloud compute service-attachments delete github-svc-attachment-ssh --region=$region -q
gcloud compute forwarding-rules delete producer-github-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-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg-ssh --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13। অভিনন্দন
অভিনন্দন, আপনি বেসরকারী পরিষেবা সংযোগ দ্বারা চালিত লুকার কনসোল ব্যবহার করে গিটহাবের সাথে সফলভাবে কনফিগার করেছেন এবং বৈধ করেছেন।
আপনি প্রযোজক অবকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট নেগ, প্রযোজক পরিষেবা এবং লুকার পিএসসি এন্ডপয়েন্ট তৈরি করতে শিখেছেন যা প্রযোজক পরিষেবায় সংযোগের অনুমতি দেয়।
কসমোপআপ মনে করে কোডল্যাবগুলি দুর্দান্ত!
এরপর কি?
এই কোডেল্যাবগুলির কয়েকটি দেখুন ...
- বেসরকারী পরিষেবা ব্যবহার করে পরিষেবাগুলি প্রকাশ ও গ্রাস করতে সংযুক্ত করুন
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযুক্ত করুন
- সমস্ত প্রকাশিত বেসরকারী পরিষেবা সংযোগ কোডেল্যাব অ্যাক্সেস