পরিষেবা প্রযোজকদের জন্য ব্যক্তিগত পরিষেবা সংযোগ পোর্ট ম্যাপিং

1. ভূমিকা

প্রাইভেট সার্ভিস কানেক্টের মাধ্যমে, সার্ভিস প্রযোজকরা একটি সার্ভিস অ্যাটাচমেন্টের মাধ্যমে একটি ভিপিসি পরিবেশে পরিষেবা প্রকাশ করতে পারে এবং অন্য একটি ভিপিসি পরিবেশে গ্রাহকদের একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্টের মাধ্যমে সেই পরিষেবাগুলি অ্যাক্সেস করার অনুমতি দেয়। কখনও কখনও এই প্রযোজক পরিষেবাগুলিকে VM-এর ক্লাস্টার হিসাবে ডিজাইন করা হয়, প্রতিটি VM একই পোর্ট নম্বরগুলিতে একই পরিষেবাগুলি প্রকাশ করে। পূর্বে, এই পরিষেবা ডিজাইনগুলির জন্য হয় একাধিক প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট ভোক্তাদের দিকে মোতায়েন করা প্রয়োজন, অথবা সঠিক প্রযোজক VM টার্গেট করা হয়েছে তা নিশ্চিত করতে প্রযোজকের পক্ষ থেকে IP ফরওয়ার্ডিং ব্যবহার করা প্রয়োজন।

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

আপনি কি শিখবেন

  • প্রাইভেট সার্ভিস কানেক্ট পোর্ট ম্যাপিং ব্যবহারের ক্ষেত্রে
  • PSC পোর্ট ম্যাপিং এর মূল সুবিধা
  • নেটওয়ার্ক প্রয়োজনীয়তা
  • পোর্ট ম্যাপিং ব্যবহার করে একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
  • একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
  • একটি প্রযোজক পরিষেবাতে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্টের মাধ্যমে কল করুন

আপনি কি প্রয়োজন হবে

  • মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প

2. প্রাইভেট সার্ভিস কানেক্ট পোর্ট ম্যাপিং ব্যবহারের ক্ষেত্রে

পোর্ট ম্যাপিং বৈশিষ্ট্যটি একটি পোর্ট ম্যাপিং NEG (নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ) ব্যবহার করে যা PSC ব্যবহারের ক্ষেত্রে নির্দিষ্ট।

পোর্ট ম্যাপিং ব্যবহার করে উপকৃত হতে পারে এমন সবচেয়ে সাধারণ ধরনের প্রযোজক হল NoSQL ডাটাবেস প্রযোজক এবং কাফকা প্রযোজক। যাইহোক, নির্দিষ্ট VM ম্যাপিং প্রয়োজনীয়তা সহ অভিন্ন পোর্টে একই পরিষেবাগুলি প্রকাশ করার জন্য VM-এর ক্লাস্টারের প্রয়োজন যে কোনও প্রযোজক এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন।

প্রযোজক একটি ক্লায়েন্ট পোর্ট এবং একটি প্রযোজক VM + গন্তব্য পোর্টের মধ্যে ম্যাপিং সংজ্ঞায়িত করে। তারপরে প্রযোজককে এই তথ্যটি ভোক্তার সাথে ভাগ করতে হবে। কোন প্রযোজক VM + গন্তব্য পোর্টে পৌঁছাতে হবে তা স্বতন্ত্রভাবে সনাক্ত করতে ভোক্তা পূর্বনির্ধারিত পোর্ট ব্যবহার করে। ভোক্তা দ্বারা ব্যবহৃত পোর্ট একটি ভিন্ন পোর্ট যা প্রযোজক দ্বারা ব্যবহৃত হয়।

PSC পোর্ট ম্যাপিং এর মূল সুবিধা

  • সহজ: প্রযোজকরা একটি পোর্ট ম্যাপিং সহ PSC উপাদানগুলি স্থাপন করে এবং ভোক্তারা একটি PSC এন্ডপয়েন্ট স্থাপন করে। PSC স্বয়ংক্রিয়ভাবে নেটওয়ার্ক ঠিকানা অনুবাদ পরিচালনা করে।
  • খরচ-কার্যকর: এর জন্য কোনো অতিরিক্ত PSC সম্পদ বা প্রযোজক VM CPU চক্রের প্রয়োজন নেই। মূল্য অন্যান্য ধরনের PSC স্থাপনার মতই
  • উচ্চ-কর্মক্ষমতা: পোর্ট ম্যাপিং অন্যান্য PSC মোডের মতো একই লাইন-রেট থ্রুপুট এবং কম লেটেন্সি প্রদান করে
  • স্কেলযোগ্য এবং আইপি-দক্ষ: ভোক্তা VPC থেকে একটি IP ঠিকানা 1000টি প্রযোজক VM এবং 1000টি পোর্ট ম্যাপিং অ্যাক্সেস করতে পারে

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

  • পোর্ট ম্যাপিংয়ের জন্য প্রযোজক লোড ব্যালেন্সার হিসাবে একটি অভ্যন্তরীণ নেটওয়ার্ক পাসথ্রু লোড ব্যালেন্সার ব্যবহার করা প্রয়োজন।
  • পোর্ট ম্যাপিংয়ের সাথে শুধুমাত্র PSC এন্ডপয়েন্ট ব্যবহার করা যেতে পারে (PSC ব্যাকএন্ড বা PSC ইন্টারফেস নয়)।
  • পোর্ট ম্যাপিং NEGs হল আঞ্চলিক নির্মাণ।
  • পোর্ট ম্যাপিং NEGs শুধুমাত্র একটি PSC সংযোগ জুড়ে ব্যবহার করা যেতে পারে। ক্লায়েন্ট VM প্রযোজক লোড ব্যালেন্সার ফরওয়ার্ডিং নিয়মকে সরাসরি কল করলে তারা কাজ করবে না। এই কোডল্যাবে প্রযোজক পরিষেবাটি যেভাবে পরীক্ষা করা হয় তাতে এটি প্রতিফলিত হয়।
  • PSC এন্ডপয়েন্ট এবং প্রযোজক পরিষেবা স্ট্যাক অবশ্যই বিভিন্ন VPC-তে থাকতে হবে।

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

ad37cfc003475b7c.png

প্রযোজক VPC-তে, দুটি VM তৈরি করা হবে যা প্রতিটি দুটি ওয়েব সার্ভার চালাবে, একটি পোর্ট 1000-এ চলবে এবং একটি পোর্ট 2000-এ চলবে৷ আমরা পোর্টম্যাপ NEG, অভ্যন্তরীণ নেটওয়ার্ক পাসথ্রু লোড ব্যালেন্সার সেট আপ করার আগে প্রতিটি পরিষেবা পরীক্ষা করব এবং পরিষেবা সংযুক্তি।

ভোক্তা ভিপিসি-তে, আমরা একটি PSC এন্ডপয়েন্ট সেট আপ করব এবং একটি ক্লায়েন্ট VM থেকে প্রযোজক পরিষেবাতে সংযোগ পরীক্ষা করব।

5. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।

Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারে করা যেতে পারে। আপনার কিছু ইন্সটল করার দরকার নেই।

6. আপনি শুরু করার আগে

এপিআই সক্ষম করুন

ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেট আপ করা আছে

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=us-central1
zone=us-central1-a
echo $project
echo $region
echo $zone

সমস্ত প্রয়োজনীয় পরিষেবা সক্রিয় করুন

gcloud services enable compute.googleapis.com

7. প্রযোজক VPC নেটওয়ার্ক তৈরি করুন

ভিপিসি নেটওয়ার্ক

ক্লাউড শেল থেকে

gcloud compute networks create producer-vpc --subnet-mode custom

সাবনেট তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute networks subnets create producer-service-subnet --network producer-vpc --range 10.0.0.0/24 --region $region --enable-private-ip-google-access

gcloud compute networks subnets create psc-nat-subnet --network producer-vpc --range 10.100.100.0/24 --region $region --purpose=PRIVATE_SERVICE_CONNECT

নেটওয়ার্ক ঠিকানা অনুবাদের উদ্দেশ্যে PSC সাবনেট PSC পরিষেবা সংযুক্তির সাথে যুক্ত হবে। উত্পাদন ব্যবহারের ক্ষেত্রে, সমস্ত সংযুক্ত PSC এন্ডপয়েন্ট থেকে অন্তর্মুখী ট্র্যাফিকের পরিমাণ সমর্থন করার জন্য এই সাবনেটটিকে যথাযথভাবে আকার দিতে হবে। আরও তথ্যের জন্য PSC NAT সাবনেট সাইজিং ডকুমেন্টেশন দেখুন।

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

ক্লাউড শেল থেকে

gcloud compute network-firewall-policies create producer-vpc-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy producer-vpc-policy --network producer-vpc --name network-producer-vpc --global-firewall-policy

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

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

ক্লাউড শেল থেকে

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy producer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

নিম্নলিখিত ফায়ারওয়াল নিয়মটি TCP পোর্ট 1000-2000 থেকে PSC সাবনেট থেকে নেটওয়ার্কের সমস্ত দৃষ্টান্তে ট্র্যাফিকের অনুমতি দেয়। একটি উত্পাদন পরিবেশে, এই ফায়ারওয়াল নিয়ম শুধুমাত্র নির্দিষ্ট প্রযোজক পরিষেবার সাথে যুক্ত উদাহরণগুলির মধ্যে সীমাবদ্ধ হওয়া উচিত।

ক্লাউড শেল থেকে

gcloud compute network-firewall-policies rules create 2000 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 10.100.100.0/24 --layer4-configs tcp:1000-2000 --global-firewall-policy

নিম্নলিখিত ফায়ারওয়াল নিয়ম টিসিপি পোর্ট 1000-2000 এর পরিষেবা সাবনেটের মধ্যে সমস্ত ট্র্যাফিকের অনুমতি দেয়। আমাদের প্রযোজক পরিষেবা যথাযথভাবে কাজ করছে কিনা তা পরীক্ষা করতে এই নিয়মটি ব্যবহার করা হবে।

ক্লাউড শেল থেকে

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic within the service subnet" --direction INGRESS --src-ip-ranges 10.0.0.0/24 --layer4-configs tcp:1000-2000 --global-firewall-policy

প্রযোজক VM তৈরি এবং কনফিগার করুন

ভিএম তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute instances create portmap-vm1 --zone=$zone --subnet=producer-service-subnet --no-address

gcloud compute instances create portmap-vm2 --zone=$zone --subnet=producer-service-subnet --no-address

gcloud compute instances create test-client-vm --zone=$zone --subnet=producer-service-subnet --no-address

নিম্নলিখিত বিভাগে, প্রতিটি প্রযোজক VM পোর্ট 1000 এবং 2000-এ HTTP সার্ভার শুরু করুন।

VM কনফিগার করুন

ক্লাউড শেল থেকে

gcloud compute ssh --zone $zone "portmap-vm1" --tunnel-through-iap --project $project

পোর্টম্যাপ-ভিএম 1 সেশন থেকে ক্লাউড শেলে

mkdir 1000
cd 1000
echo "portmap-vm1 1000">index.html
sudo python3 -m http.server 1000 &
cd ..
mkdir 2000
cd 2000
echo "portmap-vm1 2000">index.html
sudo python3 -m http.server 2000 &

একটি নতুন ক্লাউড শেল উইন্ডো খুলুন

ভেরিয়েবল রিসেট করে শুরু করুন। মেঘের শেলে

project=[YOUR-PROJECT-ID]
region=us-central1
zone=us-central1-a
echo $project
echo $region
echo $zone

gcloud compute ssh --zone $zone "portmap-vm2" --tunnel-through-iap --project $project

পোর্টম্যাপ-ভিএম 2 সেশন থেকে ক্লাউড শেলে

mkdir 1000
cd 1000
echo "portmap-vm2 1000">index.html
sudo python3 -m http.server 1000 &
cd ..
mkdir 2000
cd 2000
echo "portmap-vm2 2000">index.html
sudo python3 -m http.server 2000 &

8. পরীক্ষা প্রযোজক পরিষেবা

প্রথমত, আমাদের পোর্টম্যাপ উদাহরণগুলির আইপি ঠিকানাগুলি পেতে হবে। এই আইপি ঠিকানা দুটি নোট নিন.

একটি নতুন ক্লাউড শেল উইন্ডো খুলুন

ভেরিয়েবল রিসেট করে শুরু করুন। মেঘের শেলে

project=[YOUR-PROJECT-ID]
region=us-central1
zone=us-central1-a
echo $project
echo $region
echo $zone

gcloud compute instances describe portmap-vm1 \
  --format='get(networkInterfaces[0].networkIP)' --zone $zone

gcloud compute instances describe portmap-vm2\
  --format='get(networkInterfaces[0].networkIP)' --zone $zone

পরীক্ষার উদাহরণে লগ ইন করুন। মেঘের শেলে

gcloud compute ssh --zone $zone "test-client-vm" --tunnel-through-iap --project $project

curl [portmap-vm1 IP]:1000

প্রত্যাশিত আউটপুট

portmap-vm1 1000

মেঘের শেলে

curl [portmap-vm1 IP]:2000

প্রত্যাশিত আউটপুট

portmap-vm1 2000

মেঘের শেলে

curl [portmap-vm2 IP]:1000

প্রত্যাশিত আউটপুট

portmap-vm2 1000

মেঘের শেলে

curl [portmap-vm2 IP]:2000

প্রত্যাশিত আউটপুট

portmap-vm2 2000

test-client-vm থেকে প্রস্থান করুন

9. পোর্টম্যাপ NEG দিয়ে প্রযোজক পরিষেবা তৈরি করুন

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

ক্লাউড শেল থেকে

gcloud beta compute network-endpoint-groups create portmap-neg --region=$region --network=producer-vpc --subnet=producer-service-subnet --network-endpoint-type=GCE_VM_IP_PORTMAP

ক্লায়েন্ট পোর্ট থেকে প্রযোজক পোর্টে ম্যাপিং তৈরি করতে পোর্টম্যাপ NEG-এ শেষ পয়েন্ট যোগ করুন। প্রযোজক এই ম্যাপিং তৈরি করে এবং ভোক্তাদের কাছে এই তথ্যটি যোগাযোগ করার জন্য তার নিজস্ব পদ্ধতি থাকবে। নির্দিষ্ট পোর্ট ম্যাপিং PSC এর মাধ্যমে ভাগ করা হয় না।

মেঘের শেলে

gcloud beta compute network-endpoint-groups update portmap-neg --region=$region --add-endpoint=client-destination-port=1001,instance=projects/$project/zones/$zone/instances/portmap-vm1,port=1000 --add-endpoint=client-destination-port=1002,instance=projects/$project/zones/$zone/instances/portmap-vm1,port=2000 --add-endpoint=client-destination-port=1003,instance=projects/$project/zones/$zone/instances/portmap-vm2,port=1000 --add-endpoint=client-destination-port=1004,instance=projects/$project/zones/$zone/instances/portmap-vm2,port=2000

লোড ব্যালেন্সার তৈরি সম্পূর্ণ করুন।

মেঘের শেলে

gcloud compute backend-services create portmap-bes --load-balancing-scheme=internal --region=$region --network=producer-vpc

gcloud compute backend-services add-backend portmap-bes --network-endpoint-group=portmap-neg --network-endpoint-group-region=$region

gcloud compute forwarding-rules create portmap-fr --load-balancing-scheme=INTERNAL --network=producer-vpc --subnet=producer-service-subnet --ports=ALL --region=$region --backend-service=portmap-bes

সার্ভিস অ্যাটাচমেন্ট তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute service-attachments create portmap-service-attachment --region=$region --producer-forwarding-rule=portmap-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet

এর পরে, ভোক্তা পরিবেশে PSC এন্ডপয়েন্ট কনফিগার করতে পরিষেবা সংযুক্তি URI পুনরুদ্ধার করুন এবং নোট করুন।

মেঘের শেলে

gcloud compute service-attachments describe portmap-service-attachment --region=$region

প্রত্যাশিত আউটপুটের উদাহরণ

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-07-19T10:02:29.432-07:00'
description: ''
enableProxyProtocol: false
fingerprint: LI8D6JNQsLA=
id: '6207474793859982026'
kind: compute#serviceAttachment
name: portmap-service-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$zone/subnetworks/psc-nat-subnet
pscServiceAttachmentId:
  high: '94288091358954472'
  low: '6207474793859982026'
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/portmap-service-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/portmap-fr

10. কনজিউমার ভিপিসি নেটওয়ার্ক তৈরি করুন

ভিপিসি নেটওয়ার্ক

ক্লাউড শেল থেকে

gcloud compute networks create consumer-vpc --subnet-mode custom

সাবনেট তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute networks subnets create consumer-client-subnet --network consumer-vpc --range=10.0.0.0/24 --region $region --enable-private-ip-google-access

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

ক্লাউড শেল থেকে

gcloud compute network-firewall-policies create consumer-vpc-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy consumer-vpc-policy --network consumer-vpc --name network-consumer-vpc --global-firewall-policy

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy consumer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

ভোক্তা নেটওয়ার্কের জন্য শুধুমাত্র IAP অ্যাক্সেস থেকে SSH প্রয়োজন।

11. ভিএম, পিএসসি এন্ডপয়েন্ট এবং টেস্ট কানেক্টিভিটি তৈরি করুন

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

টেস্ট VM তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute instances create consumer-client-vm --zone $zone --subnet=consumer-client-subnet --no-address

PSC এন্ডপয়েন্ট তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute addresses create psc-endpoint-ip --region=$region --subnet=consumer-client-subnet --addresses 10.0.0.10

gcloud compute forwarding-rules create psc-portmap-endpoint --region=$region --network=consumer-vpc --address=psc-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]

কানেক্টিভিটি পরীক্ষা করুন

ক্লাউড শেল থেকে

gcloud compute ssh --zone $zone "consumer-client-vm" --tunnel-through-iap --project $project

curl 10.0.0.10:1001

প্রত্যাশিত আউটপুট

portmap-vm1 1000

ক্লাউড শেল থেকে

curl 10.0.0.10:1002

প্রত্যাশিত আউটপুট

portmap-vm1 2000

ক্লাউড শেল থেকে

curl 10.0.0.10:1003

প্রত্যাশিত আউটপুট

portmap-vm2 1000

ক্লাউড শেল থেকে

curl 10.0.0.10:1004

প্রত্যাশিত আউটপুট

portmap-vm2 2000

12. পরিষ্কার করার পদক্ষেপ

VM উদাহরণ থেকে প্রস্থান করুন (সমস্ত উইন্ডো)

exit

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

gcloud compute forwarding-rules delete psc-portmap-endpoint --region=$region -q

gcloud compute addresses delete psc-endpoint-ip --region=$region -q

gcloud compute instances delete consumer-client-vm --zone=$zone -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy=consumer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=consumer-vpc-policy  --name=network-consumer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q

gcloud compute networks subnets delete consumer-client-subnet  --region=$region -q

gcloud compute networks delete consumer-vpc -q

gcloud compute service-attachments delete portmap-service-attachment --region=$region -q

gcloud compute forwarding-rules delete portmap-fr --region=$region -q

gcloud compute backend-services delete portmap-bes --region=$region -q

gcloud compute network-endpoint-groups delete portmap-neg --region=$region -q

gcloud compute instances delete test-client-vm --zone=$zone -q

gcloud compute instances delete portmap-vm2 --zone=$zone -q

gcloud compute instances delete portmap-vm1 --zone=$zone -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=producer-vpc-policy  --name=network-producer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete producer-vpc-policy --global -q

gcloud compute networks subnets delete psc-nat-subnet --region $region -q

gcloud compute networks subnets delete producer-service-subnet --region $region -q

gcloud compute networks delete producer-vpc -q

13. অভিনন্দন!

কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।

আমরা কভার করেছি কি

  • প্রাইভেট সার্ভিস কানেক্ট পোর্ট ম্যাপিং ব্যবহারের ক্ষেত্রে
  • PSC পোর্ট ম্যাপিং এর মূল সুবিধা
  • নেটওয়ার্ক প্রয়োজনীয়তা
  • পোর্ট ম্যাপিং ব্যবহার করে একটি ব্যক্তিগত পরিষেবা সংযোগ প্রযোজক পরিষেবা তৈরি করুন৷
  • একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
  • একটি প্রযোজক পরিষেবাতে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্টের মাধ্যমে কল করুন