1. ভূমিকা
হাইব্রিড সংযোগ সহ একটি অভ্যন্তরীণ আঞ্চলিক TCP প্রক্সি লোড ব্যালেন্সার আপনাকে এমন একটি পরিষেবা তৈরি করতে দেয় যা আপনার VPC নেটওয়ার্কের ক্লায়েন্টদের জন্য অন-প্রিমিসেস বা অন্যান্য ক্লাউড পরিবেশে হোস্ট করা হয়।
আপনি যদি অন্যান্য VPC নেটওয়ার্কে হাইব্রিড পরিষেবাটি উপলব্ধ করতে চান, তাহলে আপনি পরিষেবাটি প্রকাশ করতে Private Service Connect ব্যবহার করতে পারেন। আপনার অভ্যন্তরীণ আঞ্চলিক TCP প্রক্সি লোড ব্যালেন্সারের সামনে একটি পরিষেবা সংযুক্তি স্থাপন করে, আপনি অন্যান্য VPC নেটওয়ার্কের ক্লায়েন্টদের অন-প্রিমিসেস বা অন্যান্য ক্লাউড পরিবেশে চলমান হাইব্রিড পরিষেবাগুলিতে পৌঁছাতে দিতে পারেন।
তুমি কী তৈরি করবে
এই কোডল্যাবে, আপনি একটি নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ ব্যবহার করে একটি অন-প্রিমিস পরিষেবার সাথে হাইব্রিড সংযোগ সহ একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার তৈরি করতে যাচ্ছেন। গ্রাহক VPC থেকে অন-প্রিমিস পরিষেবার সাথে যোগাযোগ করতে সক্ষম হবে।

তুমি কি শিখবে
- হাইব্রিড এনইজি ব্যাকএন্ড পরিষেবা ব্যবহার করে কীভাবে একটি টিসিপি প্রক্সি আইএলবি তৈরি করবেন
- কিভাবে একটি প্রাইভেট সার্ভিস কানেক্ট প্রযোজক (পরিষেবা সংযুক্তি) এবং গ্রাহক (ফরোয়ার্ডিং নিয়ম) প্রতিষ্ঠা করবেন
- গ্রাহক থেকে উৎপাদক পরিষেবা যোগাযোগ কীভাবে পরীক্ষা এবং যাচাই করা যায়
তোমার যা লাগবে
- প্রতিষ্ঠিত হাইব্রিড নেটওয়ার্কিং যেমন HA VPN, ইন্টারকানেক্ট, SW-WAN
- গুগল ক্লাউড প্রজেক্ট
হাইব্রিড সংযোগ স্থাপন করুন
আপনার গুগল ক্লাউড এবং অন-প্রেমিসেস অথবা অন্যান্য ক্লাউড পরিবেশগুলিকে হাইব্রিড সংযোগের মাধ্যমে সংযুক্ত করতে হবে, ক্লাউড ইন্টারকানেক্ট VLAN সংযুক্তি অথবা ক্লাউড রাউটারের সাথে ক্লাউড VPN টানেল ব্যবহার করে। আমরা আপনাকে একটি উচ্চ উপলব্ধতা সংযোগ ব্যবহার করার পরামর্শ দিচ্ছি।
গ্লোবাল ডাইনামিক রাউটিং সহ সক্ষম একটি ক্লাউড রাউটার BGP এর মাধ্যমে নির্দিষ্ট এন্ডপয়েন্ট সম্পর্কে জানতে পারে এবং এটি আপনার Google ক্লাউড VPC নেটওয়ার্কে প্রোগ্রাম করে। রিজিওনাল ডাইনামিক রাউটিং সমর্থিত নয়। স্ট্যাটিক রুটগুলিও সমর্থিত নয়।
ক্লাউড ইন্টারকানেক্ট অথবা ক্লাউড ভিপিএন কনফিগার করার জন্য আপনি যে গুগল ক্লাউড ভিপিসি নেটওয়ার্ক ব্যবহার করেন, সেটিই হাইব্রিড লোড ব্যালেন্সিং ডিপ্লয়মেন্ট কনফিগার করার জন্য একই নেটওয়ার্ক ব্যবহার করেন। নিশ্চিত করুন যে আপনার ভিপিসি নেটওয়ার্কের সাবনেট সিআইডিআর রেঞ্জগুলি আপনার রিমোট সিআইডিআর রেঞ্জের সাথে বিরোধিতা করে না। যখন আইপি অ্যাড্রেস ওভারল্যাপ হয়, তখন রিমোট কানেক্টিভিটির চেয়ে সাবনেট রুটগুলিকে অগ্রাধিকার দেওয়া হয়।
নির্দেশাবলীর জন্য, দেখুন:
কাস্টম রুট বিজ্ঞাপন
নিচের সাবনেটগুলির জন্য ক্লাউড রাউটার থেকে অন-প্রিমিস নেটওয়ার্কে কাস্টম বিজ্ঞাপনের প্রয়োজন হয় যাতে অন-প্রিমিস ফায়ারওয়ালের নিয়মগুলি আপডেট করা হয়।
সাবনেট | বিবরণ |
১৭২.১৬.০.০/২৩ | TCP প্রক্সি সাবনেট সরাসরি অন-প্রিমিস পরিষেবার সাথে যোগাযোগ করতে ব্যবহৃত হয় |
১৩০.২১১.০.০/২২, ৩৫.১৯১.০.০/১৬ |
2. শুরু করার আগে
কোডল্যাব সমর্থন করার জন্য প্রকল্পটি আপডেট করুন
এই কোডল্যাবটি ক্লাউড শেলে gcloud কনফিগারেশন বাস্তবায়নে সহায়তা করার জন্য $variables ব্যবহার করে।
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
psclab=YOUR-PROJECT-NAME
echo $psclab
৩. প্রযোজক সেটআপ
প্রযোজক ভিপিসি তৈরি করুন
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud compute networks create producer-vpc --project=$psclab --subnet-mode=custom
প্রযোজক সাবনেট তৈরি করুন
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud compute networks subnets create subnet-201 --project=$psclab --range=10.10.1.0/24 --network=producer-vpc --region=us-central1
টিসিপি প্রক্সি সাবনেট তৈরি করুন
প্রক্সি বরাদ্দকরণ VPC স্তরে হয়, লোড ব্যালেন্সার স্তরে নয়। আপনি যে ভার্চুয়াল নেটওয়ার্ক (VPC) ব্যবহার করেন তার প্রতিটি অঞ্চলে আপনাকে অবশ্যই একটি করে প্রক্সি-অনলি সাবনেট তৈরি করতে হবে। আপনি যদি একই অঞ্চলে এবং একই VPC নেটওয়ার্কে একাধিক লোড ব্যালেন্সার স্থাপন করেন, তাহলে লোড ব্যালেন্সিংয়ের জন্য তারা একই প্রক্সি-অনলি সাবনেট ভাগ করে নেয়।
- একজন ক্লায়েন্ট লোড ব্যালেন্সারের ফরোয়ার্ডিং রুলের আইপি ঠিকানা এবং পোর্টের সাথে একটি সংযোগ তৈরি করে।
- প্রতিটি প্রক্সি সংশ্লিষ্ট লোড ব্যালেন্সারের ফরোয়ার্ডিং নিয়ম দ্বারা নির্দিষ্ট করা IP ঠিকানা এবং পোর্টে শোনে। প্রক্সিগুলির মধ্যে একটি ক্লায়েন্টের নেটওয়ার্ক সংযোগ গ্রহণ করে এবং বন্ধ করে দেয়।
- লোড ব্যালেন্সারের URL মানচিত্র এবং ব্যাকএন্ড পরিষেবা দ্বারা নির্ধারিত প্রক্সিটি একটি NEG-তে উপযুক্ত ব্যাকএন্ড VM বা এন্ডপয়েন্টের সাথে একটি সংযোগ স্থাপন করে।
আপনার নেটওয়ার্ক অটো-মোড বা কাস্টম যাই হোক না কেন, আপনাকে অবশ্যই প্রক্সি-অনলি সাবনেট তৈরি করতে হবে। একটি প্রক্সি-অনলি সাবনেটে অবশ্যই 64 বা তার বেশি IP ঠিকানা থাকতে হবে। এটি /26 বা তার চেয়ে কম প্রিফিক্স দৈর্ঘ্যের সাথে মিলে যায়। প্রস্তাবিত সাবনেট আকার হল /23 (512 প্রক্সি-অনলি ঠিকানা)।
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud compute networks subnets create proxy-subnet-us-central \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=us-central1 \
--network=producer-vpc \
--range=172.16.0.0/23
প্রাইভেট সার্ভিস কানেক্ট NAT সাবনেট তৈরি করুন
প্রাইভেট সার্ভিস কানেক্টের সাথে ব্যবহারের জন্য এক বা একাধিক ডেডিকেটেড সাবনেট তৈরি করুন । যদি আপনি কোনও পরিষেবা প্রকাশ করার জন্য গুগল ক্লাউড কনসোল ব্যবহার করেন, তাহলে আপনি সেই প্রক্রিয়া চলাকালীন সাবনেট তৈরি করতে পারেন। সার্ভিসের লোড ব্যালেন্সারের মতো একই অঞ্চলে সাবনেট তৈরি করুন। আপনি একটি নিয়মিত সাবনেটকে একটি প্রাইভেট সার্ভিস কানেক্ট সাবনেটে রূপান্তর করতে পারবেন না।
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud compute networks subnets create psc-nat-subnet --network=producer-vpc --region=us-central1 --range=100.100.10.0/24 --purpose=private-service-connect
প্রযোজক ফায়ারওয়াল নিয়ম তৈরি করুন
প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট এবং সার্ভিস অ্যাটাচমেন্টের মধ্যে ট্র্যাফিকের অনুমতি দেওয়ার জন্য ফায়ারওয়াল নিয়ম কনফিগার করুন। কোডল্যাবে, একটি ইনগ্রেস ফায়ারওয়াল নিয়ম তৈরি করা হয়েছে যা NAT সাবনেট 100.100.10.0/24 কে প্রাইভেট সার্ভিস কানেক্ট সার্ভিস অ্যাটাচমেন্ট (অভ্যন্তরীণ লোড ব্যালেন্সার) অ্যাক্সেসের অনুমতি দেয়।
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud compute --project=$psclab firewall-rules create allow-to-ingress-nat-subnet --direction=INGRESS --priority=1000 --network=producer-vpc --action=ALLOW --rules=all --source-ranges=100.100.10.0/24
ক্লাউড শেলের ভিতরে fw-allow-health-check নিয়ম তৈরি করুন যাতে Google ক্লাউড হেলথ চেকগুলি TCP পোর্ট 80-এর অন-প্রিমিস পরিষেবা (ব্যাকএন্ড পরিষেবা) পর্যন্ত পৌঁছাতে পারে।
gcloud compute firewall-rules create fw-allow-health-check \
--network=producer-vpc \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--rules=tcp:80
পোর্ট 80-এ প্রক্সি সাবনেটের সাথে যোগাযোগের জন্য অন-প্রিমিস পরিষেবাগুলিকে অনুমতি দেওয়ার জন্য একটি ইনগ্রেস ফায়ারওয়াল নিয়ম তৈরি করুন।
gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
--network=producer-vpc \
--action=allow \
--direction=ingress \
--source-ranges=172.16.0.0/23 \
--rules=tcp:80
হাইব্রিড সংযোগ NEG সেট আপ করুন
NEG তৈরি করার সময়, এমন একটি ZONE ব্যবহার করুন যা Google ক্লাউড এবং আপনার অন-প্রেমিসেস বা অন্যান্য ক্লাউড পরিবেশের মধ্যে ভৌগোলিক দূরত্ব কমিয়ে আনে। উদাহরণস্বরূপ, যদি আপনি জার্মানির ফ্রাঙ্কফুর্টে অন-প্রেমিসেস পরিবেশে কোনও পরিষেবা হোস্ট করেন, তাহলে NEG তৈরি করার সময় আপনি europe-west3-a Google ক্লাউড জোন নির্দিষ্ট করতে পারেন।
তাছাড়া, যদি আপনি ক্লাউড ইন্টারকানেক্ট ব্যবহার করেন, তাহলে NEG তৈরি করতে ব্যবহৃত ZONE একই অঞ্চলে থাকা উচিত যেখানে ক্লাউড ইন্টারকানেক্ট সংযুক্তিটি কনফিগার করা হয়েছিল।
উপলব্ধ অঞ্চল এবং অঞ্চলগুলির জন্য, কম্পিউট ইঞ্জিন ডকুমেন্টেশন দেখুন: উপলব্ধ অঞ্চল এবং অঞ্চল ।
ক্লাউড শেলের ভিতরে gcloud compute network-endpoint-groups create কমান্ড ব্যবহার করে একটি হাইব্রিড সংযোগ NEG তৈরি করুন।
gcloud compute network-endpoint-groups create on-prem-service-neg \
--network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
--zone=us-central1-a \
--network=producer-vpc
ক্লাউড শেলের ভিতরে হাইব্রিড NEG-তে অন-প্রিমিসেস IP:Port এন্ডপয়েন্ট যোগ করুন।
gcloud compute network-endpoint-groups update on-prem-service-neg \
--zone=us-central1-a \
--add-endpoint="ip=192.168.1.5,port=80"
লোড ব্যালেন্সার কনফিগার করুন
নিম্নলিখিত ধাপগুলিতে আপনি লোড ব্যালেন্সার (ফরওয়ার্ডিং নিয়ম) কনফিগার করবেন এবং নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপের সাথে সংযুক্ত করবেন।
ক্লাউড শেলের ভিতরে, প্রাঙ্গণে পরিষেবা প্রদানকারী আঞ্চলিক স্বাস্থ্য পরীক্ষা তৈরি করুন
gcloud compute health-checks create tcp on-prem-service-hc \
--region=us-central1 \
--use-serving-port
ক্লাউড শেলের ভিতরে অন-প্রিমিস ব্যাকএন্ডের জন্য ব্যাকএন্ড পরিষেবা তৈরি করুন
gcloud compute backend-services create on-premise-service-backend \
--load-balancing-scheme=INTERNAL_MANAGED \
--protocol=TCP \
--region=us-central1 \
--health-checks=on-prem-service-hc \
--health-checks-region=us-central1
ক্লাউড শেলের ভেতরে ব্যাকএন্ড পরিষেবাতে হাইব্রিড NEG ব্যাকএন্ড যোগ করুন। MAX_CONNECTIONS এর জন্য, ব্যাকএন্ডের দ্বারা পরিচালিত সর্বাধিক সমবর্তী সংযোগগুলি লিখুন।
gcloud compute backend-services add-backend on-premise-service-backend \
--network-endpoint-group=on-prem-service-neg \
--network-endpoint-group-zone=us-central1-a \
--region=us-central1 \
--balancing-mode=CONNECTION \
--max-connections=100
ক্লাউড শেলের ভিতরে টার্গেট প্রক্সি তৈরি করুন
gcloud compute target-tcp-proxies create on-premise-svc-tcpproxy \
--backend-service=on-premise-service-backend \
--region=us-central1
ক্লাউড শেলের ভিতরে ফরোয়ার্ডিং নিয়ম (ILB) তৈরি করুন
gcloud compute forwarding-rules create কমান্ড ব্যবহার করে ফরোয়ার্ডিং নিয়ম তৈরি করুন।
FWD_RULE_PORT কে ১-৬৫৫৩৫ এর একটি একক পোর্ট নম্বর দিয়ে প্রতিস্থাপন করুন। ফরওয়ার্ডিং নিয়মটি কেবলমাত্র একটি মিলিত গন্তব্য পোর্ট সহ প্যাকেটগুলিকে ফরোয়ার্ড করে।
gcloud compute forwarding-rules create tcp-ilb-psc \
--load-balancing-scheme=INTERNAL_MANAGED \
--network=producer-vpc \
--subnet=subnet-201 \
--ports=80 \
--region=us-central1 \
--target-tcp-proxy=on-premise-svc-tcpproxy \
--target-tcp-proxy-region=us-central1
অভ্যন্তরীণ লোড ব্যালান্সারের আইপি ঠিকানা পান
gcloud compute forwarding-rules describe tcp-ilb-psc --region=us-central1 | grep -i IPAddress:
Example output:
gcloud compute forwarding-rules describe tcp-ilb-psc --region=us-central1 | grep -i IPAddress:
IPAddress: 10.10.1.2
৪. লোড ব্যালেন্সার যাচাই করুন
ক্লাউড কনসোল থেকে নেটওয়ার্ক সার্ভিসেস → লোড ব্যালেন্সিং → লোড ব্যালেন্সারগুলিতে নেভিগেট করুন। মনে রাখবেন, ১টি এনইজি 'সবুজ' যা অন-প্রিমিস পরিষেবার সফল স্বাস্থ্য পরীক্ষা নির্দেশ করে।

'অন-প্রিমিস-সার্ভিস-ব্যাকএন্ড' নির্বাচন করলে ফ্রন্ট এন্ড আইপি ঠিকানা পাওয়া যায়

৫. অন-প্রাইমাইজ থেকে শেখা রুটগুলি দেখুন
VPC নেটওয়ার্ক → রুটগুলিতে নেভিগেট করুন। দ্রষ্টব্য, শেখা অন-প্রিমিস সার্ভিস সাবনেট 192.168.1.0/27

৬. অন-প্রিমিস পরিষেবার সাথে সংযোগ যাচাই করুন
প্রযোজক ভিপিসি থেকে আমরা অন-প্রিমিস পরিষেবার সাথে সংযোগ পরীক্ষা করার জন্য একটি ভিএম তৈরি করব, তারপরে কনফিগারেশনের জন্য পরিষেবা সংযুক্তিটি পাশে থাকবে।
ক্লাউড শেলের ভিতরে প্রযোজক ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করুন
gcloud compute instances create test-box-us-central1 \
--zone=us-central1-a \
--image-family=debian-10 \
--image-project=debian-cloud \
--subnet=subnet-201 \
--no-address
IAP কে আপনার VM ইনস্ট্যান্সের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- IAP ব্যবহার করে আপনি যে সমস্ত VM ইনস্ট্যান্স অ্যাক্সেস করতে চান তার ক্ষেত্রে প্রযোজ্য।
- ৩৫.২৩৫.২৪০.০/২০ আইপি রেঞ্জ থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই রেঞ্জে সমস্ত আইপি ঠিকানা রয়েছে যা আইএপি টিসিপি ফরোয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে প্রযোজক ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করুন
gcloud compute firewall-rules create ssh-iap \
--network producer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
লোড ব্যালেন্স আইপি অ্যাড্রেসের বিপরীতে কার্ল করে অন-প্রিমিস পরিষেবার সাথে সংযোগ যাচাই করতে ক্লাউড শেলের IAP ব্যবহার করে test-box-us-central1 এ লগ ইন করুন। যদি কোনও সময়সীমা থাকে তবে আবার চেষ্টা করুন।
gcloud compute ssh test-box-us-central1 --project=$psclab --zone=us-central1-a --tunnel-through-iap
অন-প্রিমিস পরিষেবার সাথে সংযোগ যাচাই করার জন্য একটি কার্ল সম্পাদন করুন। একবার যাচাই হয়ে গেলে VM থেকে প্রস্থান করুন এবং ক্লাউড শেল প্রম্পটে ফিরে যান। ধাপ 3 এবং 4 এ চিহ্নিত আপনার আউটপুটের উপর ভিত্তি করে অভ্যন্তরীণ লোড ব্যালেন্সার IP প্রতিস্থাপন করুন।
deepakmichael@test-box-us-central1:~$ curl -v 10.10.1.2
* Expire in 0 ms for 6 (transfer 0x55b9a6b2f0f0)
* Trying 10.10.1.2...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b9a6b2f0f0)
* Connected to 10.10.1.2 (10.10.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.10.1.2
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:42:38 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:42:38 GMT
< Server: lighttpd/1.4.53
<
Welcome to my on-premise service!!
৭. প্রাইভেট সার্ভিস কানেক্ট সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
নিম্নলিখিত ধাপগুলিতে আমরা পরিষেবা সংযুক্তি তৈরি করব, একবার কনজিউমার এন্ডপয়েন্টের সাথে যুক্ত হয়ে গেলে, VPC পিয়ারিং ছাড়াই অন-প্রিমিস পরিষেবাতে অ্যাক্সেস অর্জন করা হবে।
পরিষেবা সংযুক্তি তৈরি করুন
ক্লাউড শেলের ভিতরে সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=tcp-ilb-psc --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet
ঐচ্ছিক: যদি একটি শেয়ার্ড VPC ব্যবহার করেন, তাহলে পরিষেবা প্রকল্পে পরিষেবা সংযুক্তি তৈরি করুন
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=tcp-ilb-psc --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=projects/<hostproject>/regions/<region>/subnetworks/<natsubnet>
TCP পরিষেবা সংযুক্তি যাচাই করুন
gcloud compute service-attachments describe service-1 --region us-central1
৮. ঐচ্ছিক: নতুন প্রতিষ্ঠিত পরিষেবা সংযুক্তি দেখতে নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগে নেভিগেট করুন।

পরিষেবা-১ নির্বাচন করলে আরও বিস্তারিত তথ্য পাওয়া যাবে, যার মধ্যে রয়েছে গ্রাহক কর্তৃক ব্যক্তিগত পরিষেবা সংযোগ স্থাপনের জন্য ব্যবহৃত পরিষেবা সংযুক্তি URI। URIটি মনে রাখবেন কারণ এটি পরবর্তী ধাপে ব্যবহার করা হবে।

পরিষেবা সংযুক্তির বিবরণ: projects/<projectname>/regions/us-central1/serviceAttachments/service-1
৯. গ্রাহক সেটআপ
কনজিউমার ভিপিসি তৈরি করুন
ক্লাউড শেলের ভিতরে নিম্নলিখিত কাজগুলি সম্পাদন করুন
gcloud compute networks create consumer-vpc --project=$psclab --subnet-mode=custom
কনজিউমার সাবনেট তৈরি করুন
ক্লাউড শেলের ভিতরে GCE সাবনেট তৈরি করুন
gcloud compute networks subnets create subnet-101 --project=$psclab --range=10.100.1.0/24 --network=consumer-vpc --region=us-central1
ক্লাউড শেলের ভেতরে কনজিউমার এন্ডপয়েন্ট সাবনেট তৈরি করুন
gcloud compute networks subnets create subnet-102 --project=$psclab --range=10.100.2.0/24 --network=consumer-vpc --region=us-central1
কনজিউমার এন্ডপয়েন্ট (ফরওয়ার্ডিং নিয়ম) তৈরি করুন
ক্লাউড শেলের ভিতরে স্ট্যাটিক আইপি অ্যাড্রেস তৈরি করুন যা কনজিউমার এন্ডপয়েন্ট হিসেবে ব্যবহৃত হবে
gcloud compute addresses create psc-consumer-ip-1 --region=us-central1 --subnet=subnet-102 --addresses 10.100.2.10
কনজিউমার এন্ডপয়েন্ট তৈরি করতে পূর্বে তৈরি করা পরিষেবা সংযুক্তি URI ব্যবহার করা যাক।
ক্লাউড শেলের ভিতরে কনজিউমার এন্ডপয়েন্ট তৈরি করুন
gcloud compute forwarding-rules create psc-consumer-1 --region=us-central1 --network=consumer-vpc --address=psc-consumer-ip-1 --target-service-attachment=projects/$psclab/regions/us-central1/serviceAttachments/service-1
১০. কনজিউমার প্রাইভেট সার্ভিস কানেক্ট যাচাই করুন - কনজিউমার ভিপিসি
কনজিউমার ভিপিসি থেকে নেটওয়ার্ক সার্ভিসেস → প্রাইভেট সার্ভিস কানেক্ট → কানেক্টেড এন্ডপয়েন্টস -এ নেভিগেট করে একটি সফল প্রাইভেট সার্ভিস কানেকশন যাচাই করুন। প্রতিষ্ঠিত psc-consumer-1 সংযোগ এবং আমরা পূর্বে তৈরি করা সংশ্লিষ্ট আইপি ঠিকানাটি নোট করুন।

psc-consumer-1 নির্বাচন করার সময় পরিষেবা সংযুক্তি URI সহ সংযোজনের বিবরণ প্রদান করা হয়

১১. কনজিউমার প্রাইভেট সার্ভিস কানেক্ট যাচাই করুন - প্রযোজক ভিপিসি
প্রযোজক ভিপিসি থেকে নেটওয়ার্ক সার্ভিসেস → প্রাইভেট সার্ভিস কানেক্ট → প্রকাশিত সার্ভিসে নেভিগেট করে একটি সফল প্রাইভেট সার্ভিস সংযোগ যাচাই করুন। মনে রাখবেন প্রকাশিত সার্ভিস-১ সংযোগটি এখন ১টি ফরওয়ার্ডিং নিয়ম (সংযোগের শেষ বিন্দু) নির্দেশ করে।

১২. একটি ব্যক্তিগত DNS জোন এবং একটি রেকর্ড তৈরি করুন
PSC সংযোগ শেষ বিন্দুতে ম্যাপ করা প্রাইভেট DNS জোন তৈরি করুন যাতে VPC-এর মধ্যে যেকোনো হোস্ট থেকে প্রযোজকের কাছে নির্বিঘ্নে অ্যাক্সেস পাওয়া যায়।
ক্লাউড শেল থেকে
gcloud dns --project=$psclab managed-zones create codelab-zone --description="" --dns-name="codelab.net." --visibility="private" --networks="consumer-vpc"
gcloud dns --project=$psclab record-sets create service1.codelab.net. --zone="codelab-zone" --type="A" --ttl="300" --rrdatas="10.100.2.10"
১৩. ভিএম ব্যবহার করে প্রযোজক পরিষেবায় গ্রাহকদের অ্যাক্সেস যাচাই করুন।
কনজিউমারস ভিপিসি থেকে আমরা কনজিউমার এন্ডপয়েন্ট service1.codelabs.net অ্যাক্সেস করে অন-প্রিমিস পরিষেবার সাথে সংযোগ পরীক্ষা করার জন্য একটি ভিএম তৈরি করব।
ক্লাউড শেলের ভিতরে কনজিউমার ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করুন
gcloud compute instances create consumer-vm \
--zone=us-central1-a \
--image-family=debian-10 \
--image-project=debian-cloud \
--subnet=subnet-101 \
--no-address
IAP কে আপনার VM ইনস্ট্যান্সের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- IAP ব্যবহার করে আপনি যে সমস্ত VM ইনস্ট্যান্স অ্যাক্সেস করতে চান তার ক্ষেত্রে প্রযোজ্য।
- ৩৫.২৩৫.২৪০.০/২০ আইপি রেঞ্জ থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই রেঞ্জে সমস্ত আইপি ঠিকানা রয়েছে যা আইএপি টিসিপি ফরোয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে কনজিউমার ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করুন
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
ক্লাউড শেলে IAP ব্যবহার করে consumer-vm-এ লগ ইন করুন এবং dns FQDN service1.codelab.net-এর বিরুদ্ধে কার্ল করে অন-প্রিমিস পরিষেবার সাথে সংযোগ যাচাই করুন। সময়সীমা শেষ হলে আবার চেষ্টা করুন।
gcloud compute ssh consumer-vm --project=$psclab --zone=us-central1-a --tunnel-through-iap
অন-প্রিমিস পরিষেবার সাথে সংযোগ যাচাই করে একটি কার্ল সম্পাদন করুন। যাচাই হয়ে গেলে VM থেকে প্রস্থান করুন এবং ক্লাউড শেল প্রম্পটে ফিরে যান।
ক্লাউড শেলের ভিতরে একটি কার্ল সঞ্চালন করুন
$ curl -v service1.codelab.net
* Trying 10.100.2.10...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x5650fc3390f0)
* Connected to service1.codelab.net (10.100.2.10) port 80 (#0)
> GET / HTTP/1.1
> Host: service1.codelab.net
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:15:41 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:15:41 GMT
< Server: lighttpd/1.4.53
<
Welcome to my on-premise service!!
নিচে অন-প্রিমিস পরিষেবা থেকে তোলা একটি উদাহরণ দেওয়া হল, মনে রাখবেন সোর্স আইপি ঠিকানা ১৭২.১৬.০.২ টিসিপি প্রক্সি সাবনেট রেঞ্জ ১৭২.১৬.০.০/২৩ থেকে নেওয়া হয়েছে।

১৪. প্রযোজক পরিষ্কার করুন
প্রযোজক উপাদানগুলি মুছুন
ক্লাউড শেলের ভিতরে প্রযোজক উপাদানগুলি মুছে ফেলুন
gcloud compute instances delete test-box-us-central1 --zone=us-central1-a --quiet
gcloud compute service-attachments delete service-1 --region=us-central1 --quiet
gcloud compute forwarding-rules delete tcp-ilb-psc --region=us-central1 --quiet
gcloud compute target-tcp-proxies delete on-premise-svc-tcpproxy --region=us-central1 --quiet
gcloud compute backend-services delete on-premise-service-backend --region=us-central1 --quiet
gcloud compute network-endpoint-groups delete on-prem-service-neg --zone=us-central1-a --quiet
gcloud compute networks subnets delete psc-nat-subnet subnet-201 proxy-subnet-us-central --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap fw-allow-proxy-only-subnet allow-to-ingress-nat-subnet fw-allow-health-check --quiet
gcloud compute health-checks delete on-prem-service-hc --region=us-central1 --quiet
gcloud compute networks delete producer-vpc --quiet
১৫. গ্রাহক পরিষ্কার-পরিচ্ছন্নতা
গ্রাহক উপাদানগুলি মুছুন
ক্লাউড শেলের ভিতরে ভোক্তা উপাদানগুলি মুছে ফেলুন
gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet
gcloud compute forwarding-rules delete psc-consumer-1 --region=us-central1 --quiet
gcloud compute addresses delete psc-consumer-ip-1 --region=us-central1 --quiet
gcloud compute networks subnets delete subnet-101 subnet-102 --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --quiet
gcloud dns record-sets delete service1.codelab.net --type=A --zone=codelab-zone --quiet
gcloud dns managed-zones delete codelab-zone --quiet
gcloud compute networks delete consumer-vpc --quiet
১৬. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে TCP প্রক্সির সাথে ব্যক্তিগত পরিষেবা সংযোগ কনফিগার এবং যাচাই করেছেন।
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, এবং আপনি প্রযোজক VPC-তে একটি পরিষেবা সংযুক্তি যুক্ত করেছেন যা একটি অন-প্রিমিস পরিষেবার দিকে নির্দেশ করে। আপনি শিখেছেন কিভাবে কনজিউমার VPC-তে একটি কনজিউমার এন্ডপয়েন্ট তৈরি করতে হয় যা অন-প্রিমিস পরিষেবার সাথে সংযোগ স্থাপনের অনুমতি দেয়।
এরপর কী?
এই কোডল্যাবগুলির কিছু দেখুন...
- GKE-এর মাধ্যমে পরিষেবা প্রকাশ এবং ব্যবহার করার জন্য প্রাইভেট সার্ভিস ব্যবহার করা
- পরিষেবা প্রকাশ এবং ব্যবহার করার জন্য প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করা