1. ভূমিকা
হাইব্রিড সংযোগ সহ একটি অভ্যন্তরীণ আঞ্চলিক TCP প্রক্সি লোড ব্যালেন্সার আপনাকে একটি পরিষেবা তৈরি করতে দেয় যা আপনার ভিপিসি নেটওয়ার্কে ক্লায়েন্টদের জন্য উপলব্ধ অন-প্রিমিসেস বা অন্যান্য ক্লাউড পরিবেশে হোস্ট করা হয়।
আপনি যদি হাইব্রিড পরিষেবাটি অন্যান্য VPC নেটওয়ার্কগুলিতে উপলব্ধ করতে চান, আপনি পরিষেবাটি প্রকাশ করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করতে পারেন৷ আপনার অভ্যন্তরীণ আঞ্চলিক TCP প্রক্সি লোড ব্যালেন্সারের সামনে একটি পরিষেবা সংযুক্তি স্থাপন করে, আপনি অন্যান্য ভিপিসি নেটওয়ার্কের ক্লায়েন্টদের অন-প্রাঙ্গনে বা অন্যান্য ক্লাউড পরিবেশে চলমান হাইব্রিড পরিষেবাগুলিতে পৌঁছাতে দিতে পারেন।
আপনি কি নির্মাণ করবেন
এই কোডল্যাবে, আপনি একটি নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ ব্যবহার করে একটি অন-প্রিমিস পরিষেবাতে হাইব্রিড সংযোগ সহ একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার তৈরি করতে যাচ্ছেন। কনজিউমার ভিপিসি থেকে অন-প্রিমিস সার্ভিসের সাথে যোগাযোগ করতে সক্ষম হবে।
আপনি কি শিখবেন
- হাইব্রিড NEG ব্যাকএন্ড পরিষেবা সহ একটি TCP প্রক্সি ILB কীভাবে তৈরি করবেন
- কিভাবে একটি প্রাইভেট সার্ভিস কানেক্ট প্রডিউসার (পরিষেবা সংযুক্তি) এবং ভোক্তা (ফরওয়ার্ডিং নিয়ম) প্রতিষ্ঠা করবেন
- কিভাবে ভোক্তা থেকে প্রযোজক পরিষেবা যোগাযোগ পরীক্ষা এবং যাচাই করা যায়
আপনি কি প্রয়োজন হবে
- প্রতিষ্ঠিত হাইব্রিড নেটওয়ার্কিং যেমন HA VPN, ইন্টারকানেক্ট, SW-WAN
- গুগল ক্লাউড প্রকল্প
হাইব্রিড সংযোগ স্থাপন
আপনার Google ক্লাউড এবং অন-প্রিমিসেস বা অন্যান্য ক্লাউড পরিবেশ অবশ্যই হাইব্রিড সংযোগের মাধ্যমে সংযুক্ত থাকতে হবে, হয় ক্লাউড ইন্টারকানেক্ট VLAN সংযুক্তি বা ক্লাউড রাউটার সহ ক্লাউড ভিপিএন টানেল ব্যবহার করে৷ আমরা আপনাকে একটি উচ্চ প্রাপ্যতা সংযোগ ব্যবহার করার পরামর্শ দিই।
গ্লোবাল ডাইনামিক রাউটিং এর সাথে সক্ষম একটি ক্লাউড রাউটার BGP এর মাধ্যমে নির্দিষ্ট এন্ডপয়েন্ট সম্পর্কে শিখে এবং এটিকে আপনার Google ক্লাউড VPC নেটওয়ার্কে প্রোগ্রাম করে। আঞ্চলিক গতিশীল রাউটিং সমর্থিত নয়। স্ট্যাটিক রুটও সমর্থিত নয়।
আপনি ক্লাউড ইন্টারকানেক্ট বা ক্লাউড ভিপিএন কনফিগার করতে যে Google ক্লাউড ভিপিসি নেটওয়ার্ক ব্যবহার করেন সেটি হল একই নেটওয়ার্ক যা আপনি হাইব্রিড লোড ব্যালেন্সিং ডিপ্লয়মেন্ট কনফিগার করতে ব্যবহার করেন। নিশ্চিত করুন যে আপনার VPC নেটওয়ার্কের সাবনেট CIDR রেঞ্জগুলি আপনার দূরবর্তী CIDR রেঞ্জের সাথে বিরোধপূর্ণ নয়৷ যখন IP ঠিকানাগুলি ওভারল্যাপ হয়, তখন সাবনেট রুটগুলিকে দূরবর্তী সংযোগের উপর অগ্রাধিকার দেওয়া হয়।
নির্দেশাবলীর জন্য, দেখুন:
কাস্টম রুট বিজ্ঞাপন
নিচের সাবনেটগুলির জন্য ক্লাউড রাউটার থেকে অন-প্রিমিস নেটওয়ার্কে কাস্টম বিজ্ঞাপনের প্রয়োজন যাতে অন-প্রিমিস ফায়ারওয়াল নিয়ম আপডেট করা হয়।
সাবনেট | বর্ণনা |
172.16.0.0/23 | TCP প্রক্সি সাবনেট অন-প্রিমিস পরিষেবার সাথে সরাসরি যোগাযোগ করতে ব্যবহৃত হয় |
130.211.0.0/22, 35.191.0.0/16 |
2. আপনি শুরু করার আগে
কোডল্যাবকে সমর্থন করার জন্য প্রকল্পটি আপডেট করুন
এই কোডল্যাব ক্লাউড শেল-এ gcloud কনফিগারেশন বাস্তবায়নে সাহায্য করার জন্য $ভেরিয়েবল ব্যবহার করে।
ক্লাউড শেল ভিতরে নিম্নলিখিত সঞ্চালন
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
psclab=YOUR-PROJECT-NAME
echo $psclab
3. প্রযোজক সেটআপ
প্রযোজক ভিপিসি তৈরি করুন
ক্লাউড শেল ভিতরে নিম্নলিখিত সঞ্চালন
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
TCP প্রক্সি সাবনেট তৈরি করুন
প্রক্সি বরাদ্দ VPC স্তরে, লোড ব্যালেন্সার স্তরে নয়৷ একটি ভার্চুয়াল নেটওয়ার্ক (VPC) এর প্রতিটি অঞ্চলে আপনাকে অবশ্যই একটি প্রক্সি-শুধু সাবনেট তৈরি করতে হবে যেখানে আপনি এনভয়-ভিত্তিক লোড ব্যালেন্সার ব্যবহার করেন। আপনি যদি একই অঞ্চলে এবং একই VPC নেটওয়ার্কে একাধিক লোড ব্যালেন্সার স্থাপন করেন, তাহলে তারা লোড ব্যালেন্সিংয়ের জন্য একই প্রক্সি-অনলি সাবনেট ভাগ করে।
- একজন ক্লায়েন্ট লোড ব্যালেন্সারের ফরওয়ার্ডিং নিয়মের আইপি ঠিকানা এবং পোর্টের সাথে একটি সংযোগ তৈরি করে।
- প্রতিটি প্রক্সি সংশ্লিষ্ট লোড ব্যালেন্সারের ফরওয়ার্ডিং নিয়ম দ্বারা নির্দিষ্ট করা IP ঠিকানা এবং পোর্টে শোনে। প্রক্সিগুলির মধ্যে একটি ক্লায়েন্টের নেটওয়ার্ক সংযোগ গ্রহণ করে এবং বন্ধ করে দেয়।
- লোড ব্যালেন্সারের ইউআরএল ম্যাপ এবং ব্যাকএন্ড পরিষেবা দ্বারা নির্ধারিত হিসাবে প্রক্সি একটি 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 সাবনেট তৈরি করুন
প্রাইভেট সার্ভিস কানেক্টের সাথে ব্যবহার করার জন্য এক বা একাধিক ডেডিকেটেড সাবনেট তৈরি করুন । আপনি যদি একটি পরিষেবা প্রকাশ করতে Google ক্লাউড কনসোল ব্যবহার করেন, আপনি সেই প্রক্রিয়া চলাকালীন সাবনেট তৈরি করতে পারেন৷ পরিষেবার লোড ব্যালেন্সারের মতো একই অঞ্চলে সাবনেট তৈরি করুন৷ আপনি একটি নিয়মিত সাবনেটকে একটি ব্যক্তিগত পরিষেবা সংযোগ সাবনেটে রূপান্তর করতে পারবেন না৷
ক্লাউড শেল ভিতরে নিম্নলিখিত সঞ্চালন
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
ক্লাউড শেলের ভিতরে Google ক্লাউড স্বাস্থ্য পরীক্ষাগুলিকে TCP পোর্ট 80-এ অন-প্রিমিস পরিষেবা (ব্যাকএন্ড পরিষেবা) পৌঁছানোর অনুমতি দেওয়ার জন্য fw-allow-health-check নিয়ম তৈরি করুন
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টি একই অঞ্চলে হওয়া উচিত যেখানে Cloud Interconnect সংযুক্তি কনফিগার করা হয়েছে।
উপলব্ধ অঞ্চল এবং অঞ্চলগুলির জন্য, কম্পিউট ইঞ্জিন ডকুমেন্টেশন দেখুন: উপলব্ধ অঞ্চল এবং অঞ্চল ৷
ক্লাউড শেলের ভিতরে 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-তে অন-প্রিমিসেস আইপি:পোর্ট এন্ডপয়েন্ট যোগ করুন।
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 কমান্ড ব্যবহার করে ফরওয়ার্ডিং নিয়ম তৈরি করুন।
1-65535 থেকে একটি একক পোর্ট নম্বর দিয়ে 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
4. লোড ব্যালেন্সার যাচাই করুন
ক্লাউড কনসোল থেকে নেটওয়ার্ক পরিষেবাগুলিতে নেভিগেট করুন → লোড ব্যালেন্সিং → লোড ব্যালেন্সার৷ দ্রষ্টব্য, 1 NEG হল 'সবুজ' যা অন-প্রিমিস পরিষেবাতে একটি সফল স্বাস্থ্য পরীক্ষা নির্দেশ করে
'অন-প্রিমিস-সার্ভিস-ব্যাকএন্ড' নির্বাচন করলে ফ্রন্ট এন্ড আইপি অ্যাড্রেস পাওয়া যায়
5. অন-প্রিমিস থেকে শেখা রুটগুলি দেখুন
ভিপিসি নেটওয়ার্ক → রুটে নেভিগেট করুন। দ্রষ্টব্য, শেখা অন-প্রিমিস সার্ভিস সাবনেট 192.168.1.0/27
6. অন-প্রিমিস পরিষেবাতে সংযোগ যাচাই করুন
প্রযোজক VPC থেকে আমরা একটি VM তৈরি করব যাতে অন-প্রিমিস পরিষেবাতে সংযোগ পরীক্ষা করা যায় তারপরে পরিষেবা সংযুক্তিটি কনফিগারেশনের জন্য পরে থাকে।
ক্লাউড শেলের ভিতরে প্রযোজক ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করুন
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 দৃষ্টান্তগুলিতে প্রযোজ্য।
- IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে প্রযোজক ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করুন
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 ধাপে চিহ্নিত আপনার আউটপুটের উপর ভিত্তি করে অভ্যন্তরীণ লোড ব্যালেন্সার আইপি প্রতিস্থাপন করুন।
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!!
7. প্রাইভেট সার্ভিস কানেক্ট সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
নিম্নলিখিত ধাপে আমরা সার্ভিস অ্যাটাচমেন্ট তৈরি করব, একবার ভিপিসি পিয়ারিং ছাড়াই অন-প্রিমিস পরিষেবায় কনজিউমার এন্ডপয়েন্ট অ্যাক্সেসের সাথে পেয়ার করা হবে।
সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
ক্লাউড শেলের ভিতরে পরিষেবা সংযুক্তি তৈরি করুন
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
ঐচ্ছিক: একটি শেয়ার্ড ভিপিসি ব্যবহার করলে সার্ভিস প্রোজেক্টে সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
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
8. ঐচ্ছিক: নেটওয়ার্ক পরিষেবাগুলিতে নেভিগেট করুন → প্রাইভেট সার্ভিস কানেক্ট নতুন প্রতিষ্ঠিত পরিষেবা সংযুক্তি দেখতে
পরিষেবা-1 নির্বাচন করা একটি ব্যক্তিগত পরিষেবা সংযোগ স্থাপনের জন্য গ্রাহক দ্বারা ব্যবহৃত পরিষেবা সংযুক্তি URI সহ আরও বিশদ প্রদান করে। URI নোট করুন যেহেতু এটি পরবর্তী ধাপে ব্যবহার করা হবে।
পরিষেবা সংযুক্তির বিবরণ: প্রকল্প/<projectname>/regions/us-central1/serviceAttachments/service-1
9. ভোক্তা সেটআপ
কনজিউমার ভিপিসি তৈরি করুন
ক্লাউড শেল ভিতরে নিম্নলিখিত সঞ্চালন
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
10. কনজিউমার প্রাইভেট সার্ভিস কানেক্ট যাচাই করুন - কনজিউমার ভিপিসি
কনজিউমার ভিপিসি থেকে নেটওয়ার্ক সার্ভিস → প্রাইভেট সার্ভিস কানেক্ট → কানেক্টেড এন্ডপয়েন্টে নেভিগেট করে একটি সফল প্রাইভেট সার্ভিস কানেকশন যাচাই করুন। আমরা পূর্বে তৈরি করা প্রতিষ্ঠিত psc-consumer-1 সংযোগ এবং সংশ্লিষ্ট IP ঠিকানা নোট করুন।
psc-consumer-1 নির্বাচন করার সময় সার্ভিস অ্যাটাচমেন্ট URI সহ অতিরিক্ত বিবরণ দেওয়া হয়
11. কনজিউমার প্রাইভেট সার্ভিস সংযোগ যাচাই করুন - প্রযোজক VPC
Producer VPC থেকে নেটওয়ার্ক পরিষেবা → Private Service Connect → Published Service এ নেভিগেট করে একটি সফল ব্যক্তিগত পরিষেবা সংযোগ যাচাই করুন৷ নোট করুন প্রকাশিত পরিষেবা-1 সংযোগ এখন 1 ফরওয়ার্ডিং নিয়ম (সংযোগ শেষ পয়েন্ট) নির্দেশ করে।
12. একটি ব্যক্তিগত 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"
13. VM ব্যবহার করে প্রযোজক পরিষেবাতে ভোক্তাদের অ্যাক্সেস যাচাই করুন
কনজিউমার ভিপিসি থেকে আমরা কনজিউমার এন্ডপয়েন্ট service1.codelabs.net-এ অ্যাক্সেস করে অন-প্রিমিস পরিষেবাতে সংযোগ পরীক্ষা করার জন্য একটি VM তৈরি করব।
ক্লাউড শেলের ভিতরে ভোক্তা ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করে
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 দৃষ্টান্তগুলিতে প্রযোজ্য।
- IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে ভোক্তা ভিপিসিতে পরীক্ষার উদাহরণ তৈরি করে
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
dns FQDN service1.codelab.net এর বিপরীতে একটি কার্ল সম্পাদন করে অন-প্রিমিস পরিষেবাতে সংযোগ যাচাই করতে ক্লাউড শেল-এ IAP ব্যবহার করে উপভোক্তা-vm-এ লগ ইন করুন। টাইমআউট হলে আবার চেষ্টা করুন।
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!!
নিচে দেওয়া হল অন-প্রিমিস পরিষেবা থেকে ক্যাপচারের একটি উদাহরণ, মনে রাখবেন সোর্স আইপি অ্যাড্রেস 172.16.0.2 টিসিপি প্রক্সি সাবনেট রেঞ্জ 172.16.0.0/23 থেকে এসেছে
14. প্রযোজক পরিষ্কার করুন
প্রযোজক উপাদান মুছুন
ক্লাউড শেলের ভিতরে প্রযোজক উপাদানগুলি মুছুন
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
15. ভোক্তা ক্লিন আপ
ভোক্তা উপাদান মুছুন
ক্লাউড শেলের ভিতরে ভোক্তা উপাদানগুলি মুছে দিন
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
16. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে TCP প্রক্সির সাথে প্রাইভেট সার্ভিস সংযোগ কনফিগার এবং যাচাই করেছেন।
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, এবং আপনি প্রযোজক VPC-তে একটি পরিষেবা সংযুক্তি যোগ করেছেন যা একটি অন-প্রিমিস পরিষেবার দিকে নির্দেশ করে৷ আপনি শিখেছেন কিভাবে কনজিউমার ভিপিসি-তে একটি ভোক্তা শেষ পয়েন্ট তৈরি করে যা অন-প্রিমিস পরিষেবার সাথে সংযোগের অনুমতি দেয়।
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- GKE এর সাথে পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা ব্যবহার করা
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷