1. ভূমিকা
ক্লাউড লোড ব্যালেন্সিং লোড-ব্যালেন্সিং ট্র্যাফিককে এন্ডপয়েন্টে সমর্থন করে যা Google ক্লাউডের বাইরে প্রসারিত, যেমন অন-প্রিমিসেস ডেটা সেন্টার এবং অন্যান্য পাবলিক ক্লাউড যেখানে আপনি পৌঁছানোর জন্য হাইব্রিড সংযোগ ব্যবহার করতে পারেন।
একটি হাইব্রিড কৌশল হল একটি বাস্তবসম্মত সমাধান যা আপনার বাজারের চাহিদার সাথে খাপ খাইয়ে নিতে এবং আপনার অ্যাপ্লিকেশনগুলিকে ক্রমবর্ধমানভাবে আধুনিকীকরণ করতে পারে। এটি একটি আধুনিক ক্লাউড-ভিত্তিক সমাধান বা আপনার প্রতিষ্ঠানের আইটি পরিকাঠামোর স্থায়ী ফিক্সচারে স্থানান্তর সক্ষম করার জন্য একটি অস্থায়ী হাইব্রিড স্থাপনা হতে পারে।
হাইব্রিড লোড ব্যালেন্সিং সেট আপ করা আপনাকে Google ক্লাউডের বাইরে আপনার বিদ্যমান পরিকাঠামোতে চলমান পরিষেবাগুলিতে ক্লাউড লোড ব্যালেন্সিংয়ের নেটওয়ার্কিং ক্ষমতাগুলির সুবিধাগুলি আনতে সক্ষম করে৷
আপনি যদি হাইব্রিড পরিষেবাটি অন্যান্য VPC নেটওয়ার্কগুলিতে উপলব্ধ করতে চান, আপনি পরিষেবাটি প্রকাশ করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করতে পারেন৷ আপনার অভ্যন্তরীণ আঞ্চলিক HTTP(গুলি) লোড ব্যালেন্সারের সামনে একটি পরিষেবা সংযুক্তি রেখে, আপনি অন্যান্য ভিপিসি নেটওয়ার্কের ক্লায়েন্টদের অন-প্রাঙ্গনে বা অন্যান্য ক্লাউড পরিবেশে চলমান হাইব্রিড পরিষেবাগুলিতে পৌঁছাতে দিতে পারেন।
আপনি কি নির্মাণ করবেন
এই কোডল্যাবে, আপনি একটি নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ ব্যবহার করে একটি অন-প্রিমিস পরিষেবাতে হাইব্রিড কানেক্টিভিটি সহ একটি অভ্যন্তরীণ HTTP(S) লোড ব্যালেন্সার তৈরি করতে যাচ্ছেন, কনজিউমার ভিপিসি পোর্ট 80 ব্যবহার করে অন-প্রিমিস পরিষেবার সাথে যোগাযোগ করতে সক্ষম হবে। , পোর্ট 443 কোডল্যাবের সুযোগের মধ্যে নেই।
আপনি কি শিখবেন
- কিভাবে একটি হাইব্রিড NEG ব্যাকএন্ড সহ একটি অভ্যন্তরীণ HTTP(S) লোড ব্যালেন্সার তৈরি করবেন
- কিভাবে একটি প্রাইভেট সার্ভিস কানেক্ট প্রডিউসার (পরিষেবা সংযুক্তি) এবং ভোক্তা (ফরওয়ার্ডিং নিয়ম) প্রতিষ্ঠা করবেন
আপনি কি প্রয়োজন হবে
- প্রতিষ্ঠিত হাইব্রিড নেটওয়ার্কিং যেমন HA VPN, ইন্টারকানেক্ট, SW-WAN
- গুগল ক্লাউড প্রকল্প
হাইব্রিড সংযোগ স্থাপন
আপনার Google ক্লাউড এবং অন-প্রিমিসেস বা অন্যান্য ক্লাউড পরিবেশ অবশ্যই হাইব্রিড সংযোগের মাধ্যমে সংযুক্ত থাকতে হবে, হয় ক্লাউড ইন্টারকানেক্ট VLAN সংযুক্তি বা ক্লাউড রাউটার সহ ক্লাউড ভিপিএন টানেল ব্যবহার করে৷ আমরা আপনাকে একটি উচ্চ প্রাপ্যতা সংযোগ ব্যবহার করার পরামর্শ দিই।
গ্লোবাল ডাইনামিক রাউটিং এর সাথে সক্ষম একটি ক্লাউড রাউটার BGP এর মাধ্যমে নির্দিষ্ট এন্ডপয়েন্ট সম্পর্কে শিখে এবং এটিকে আপনার Google ক্লাউড VPC নেটওয়ার্কে প্রোগ্রাম করে। আঞ্চলিক গতিশীল রাউটিং সমর্থিত নয়। স্ট্যাটিক রুটও সমর্থিত নয়।
আপনি ক্লাউড ইন্টারকানেক্ট বা ক্লাউড ভিপিএন কনফিগার করতে যে Google ক্লাউড ভিপিসি নেটওয়ার্ক ব্যবহার করেন সেটি হল একই নেটওয়ার্ক যা আপনি হাইব্রিড লোড ব্যালেন্সিং ডিপ্লয়মেন্ট কনফিগার করতে ব্যবহার করেন। নিশ্চিত করুন যে আপনার VPC নেটওয়ার্কের সাবনেট CIDR রেঞ্জগুলি আপনার দূরবর্তী CIDR রেঞ্জের সাথে বিরোধপূর্ণ নয়৷ যখন IP ঠিকানাগুলি ওভারল্যাপ হয়, তখন সাবনেট রুটগুলিকে দূরবর্তী সংযোগের উপর অগ্রাধিকার দেওয়া হয়।
নির্দেশাবলীর জন্য, দেখুন:
কাস্টম রুট বিজ্ঞাপন
নিচের সাবনেটগুলির জন্য ক্লাউড রাউটার থেকে অন-প্রিমিস নেটওয়ার্কে কাস্টম বিজ্ঞাপনের প্রয়োজন যাতে অন-প্রিমিস ফায়ারওয়াল নিয়ম আপডেট করা হয়।
সাবনেট | বর্ণনা |
172.16.0.0/23 | প্রক্সি সাবনেট অন-প্রিমিস পরিষেবার সাথে সরাসরি যোগাযোগ করতে ব্যবহৃত হয় |
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
gcloud compute networks subnets create subnet-202 --project=$psclab --range=10.20.1.0/24 --network=producer-vpc --region=us-central1
অভ্যন্তরীণ লোড ব্যালেন্সারের জন্য একটি আইপি ঠিকানা সংরক্ষণ করুন
ক্লাউড শেলের ভিতরে নিম্নলিখিতগুলি সম্পাদন করুন, SHARED_VIP ব্যবহার করা ব্যক্তিগত পরিষেবা সংযোগের সাথে সমর্থিত নয়, পরিবর্তে GCE_ENDPOINT ব্যবহার করুন
gcloud compute addresses create lb-ip \
--region=us-central1 \
--subnet=subnet-202 \
--purpose=GCE_ENDPOINT
বরাদ্দকৃত আইপি ঠিকানা দেখতে গণনা ঠিকানা বর্ণনা কমান্ড ব্যবহার করুন
gcloud compute addresses describe lb-ip --region=us-central1 | grep address:
আঞ্চলিক প্রক্সি সাবনেট তৈরি করুন
প্রক্সি বরাদ্দ 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
লোড ব্যালেন্সারকে TCP পোর্ট 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 http http-health-check \
--region=us-central1 \
--use-serving-port
ইনসাইড ক্লাউড শেল অন-প্রিমিস ব্যাকএন্ড লিভারেজিং হাইব্রিড NEG-এর জন্য ব্যাকএন্ড পরিষেবা তৈরি করে
gcloud compute backend-services create on-premise-service-backend \
--load-balancing-scheme=INTERNAL_MANAGED \
--protocol=HTTP \
--health-checks=http-health-check \
--health-checks-region=us-central1 \
--region=us-central1
ক্লাউড শেলের ভিতরে হাইব্রিড NEG ব্যাকএন্ড ব্যাকএন্ড পরিষেবাতে যোগ করুন। RATE-এর জন্য, ব্যাকএন্ড যে সর্বোচ্চ রেটটি পরিচালনা করবে তা লিখুন।
gcloud compute backend-services add-backend on-premise-service-backend \
--region=us-central1 \
--balancing-mode=RATE \
--max-rate-per-endpoint=100 \
--network-endpoint-group=on-prem-service-neg \
--network-endpoint-group-zone=us-central1-a
ক্লাউড শেলের ভিতরে ব্যাকএন্ড পরিষেবাতে আগত অনুরোধগুলি রুট করতে URL মানচিত্র তৈরি করুন
gcloud compute url-maps create on-prem-svc-url-map \
--default-service on-premise-service-backend \
--region=us-central1
HTTP টার্গেট প্রক্সি তৈরি করুন
gcloud compute target-http-proxies create proxy-subnet-us-central\
--url-map=on-prem-svc-url-map \
--url-map-region=us-central1 \
--region=us-central1
প্রক্সিতে আগত অনুরোধগুলিকে রুট করার জন্য একটি ফরওয়ার্ডিং নিয়ম তৈরি করুন৷ ফরওয়ার্ডিং নিয়ম তৈরি করতে প্রক্সি-শুধু সাবনেট ব্যবহার করবেন না।
gcloud compute forwarding-rules create http-hybrid-neg-fwd-rule \
--load-balancing-scheme=INTERNAL_MANAGED \
--network=producer-vpc \
--subnet=subnet-202 \
--address=lb-ip \
--ports=80 \
--region=us-central1 \
--target-http-proxy=proxy-subnet-us-central \
--target-http-proxy-region=us-central1
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 থেকে একবার বৈধ হওয়া প্রস্থান। ধাপ 4 এ চিহ্নিত আপনার আউটপুটের উপর ভিত্তি করে অভ্যন্তরীণ লোড ব্যালেন্সার আইপি প্রতিস্থাপন করুন।
user@test-box-us-central1:~$ curl -v 10.20.1.2
* Expire in 0 ms for 6 (transfer 0x55b7725c10f0)
* Trying 10.20.1.2...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b7725c10f0)
* Connected to 10.20.1.2 (10.20.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.20.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, 12 Dec 2022 03:17:20 GMT
< cache-control: max-age=0
< content-length: 37
< date: Mon, 12 Dec 2022 03:17:20 GMT
< server: lighttpd/1.4.53
< via: 1.1 google
<
Welcome to my on-premise service!!
7. প্রাইভেট সার্ভিস কানেক্ট সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
নিম্নলিখিত ধাপে আমরা সার্ভিস অ্যাটাচমেন্ট তৈরি করব, একবার ভিপিসি পিয়ারিং ছাড়াই অন-প্রিমিস পরিষেবায় কনজিউমার এন্ডপয়েন্ট অ্যাক্সেসের সাথে পেয়ার করা হবে।
সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
ক্লাউড শেলের ভিতরে পরিষেবা সংযুক্তি তৈরি করুন
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=http-hybrid-neg-fwd-rule --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet
ঐচ্ছিক: একটি শেয়ার্ড ভিপিসি ব্যবহার করলে সার্ভিস প্রোজেক্টে সার্ভিস অ্যাটাচমেন্ট তৈরি করুন
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=http-hybrid-neg-fwd-rule --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=projects/<hostproject>/regions/<region>/subnetworks/<natsubnet>
TCP পরিষেবা সংযুক্তি যাচাই করুন
gcloud compute service-attachments describe service-1 --region us-central1
ঐচ্ছিক: নেটওয়ার্ক পরিষেবাগুলিতে নেভিগেট করুন → নতুন প্রতিষ্ঠিত পরিষেবা সংযুক্তি দেখতে ব্যক্তিগত পরিষেবা সংযোগ করুন
পরিষেবা-1 নির্বাচন করা একটি ব্যক্তিগত পরিষেবা সংযোগ স্থাপনের জন্য গ্রাহক দ্বারা ব্যবহৃত পরিষেবা সংযুক্তি URI সহ আরও বিশদ প্রদান করে। URI নোট করুন যেহেতু এটি পরবর্তী ধাপে ব্যবহার করা হবে।
পরিষেবা সংযুক্তির বিবরণ: প্রকল্প/<projectname>/regions/us-central1/serviceAttachments/service-1
8. ভোক্তা সেটআপ
কনজিউমার ভিপিসি তৈরি করুন
ক্লাউড শেল ভিতরে নিম্নলিখিত সঞ্চালন
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
9. কনজিউমার প্রাইভেট সার্ভিস কানেক্ট যাচাই করুন - কনজিউমার ভিপিসি
কনজিউমার ভিপিসি থেকে নেটওয়ার্ক সার্ভিস → প্রাইভেট সার্ভিস কানেক্ট → কানেক্টেড এন্ডপয়েন্টে নেভিগেট করে একটি সফল প্রাইভেট সার্ভিস কানেকশন যাচাই করুন। আমরা পূর্বে তৈরি করা প্রতিষ্ঠিত psc-consumer-1 সংযোগ এবং সংশ্লিষ্ট IP ঠিকানা নোট করুন।
psc-consumer-1 নির্বাচন করার সময় পরিষেবা সংযুক্তি URI সহ বিশদ প্রদান করা হয়
10. কনজিউমার প্রাইভেট সার্ভিস সংযোগ যাচাই করুন - প্রযোজক VPC
প্রযোজক VPC থেকে নেটওয়ার্ক পরিষেবা → ব্যক্তিগত পরিষেবা সংযোগ → প্রকাশিত পরিষেবাতে নেভিগেট করে একটি সফল ব্যক্তিগত পরিষেবা সংযোগ যাচাই করুন৷ নোট করুন প্রকাশিত পরিষেবা-1 সংযোগ এখন 1 ফরওয়ার্ডিং নিয়ম (সংযোগ শেষ পয়েন্ট) নির্দেশ করে।
11. একটি ব্যক্তিগত 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"
12. 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.13 প্রক্সি সাবনেট রেঞ্জ 172.16.0.0/23 থেকে এসেছে
13. প্রযোজক পরিষ্কার করুন
প্রযোজক উপাদান মুছুন
ক্লাউড শেলের ভিতরে প্রডিউসার ভিপিসি-তে পরীক্ষার উদাহরণগুলি মুছে দিন
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 http-hybrid-neg-fwd-rule --region=us-central1 --quiet
gcloud compute target-http-proxies delete proxy-subnet-us-central --region=us-central1 --quiet
gcloud compute url-maps delete on-prem-svc-url-map --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 addresses delete lb-ip --region=us-central1 --quiet
gcloud compute networks subnets delete psc-nat-subnet subnet-201 subnet-202 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 http-health-check --region=us-central1 --quiet
gcloud compute networks delete producer-vpc --quiet
14. ভোক্তা ক্লিন আপ
ভোক্তা উপাদান মুছুন
ক্লাউড শেলের ভিতরে কনজিউমার ভিপিসি-তে পরীক্ষার উদাহরণগুলি মুছে দিন
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
15. অভিনন্দন
অভিনন্দন, আপনি একটি অভ্যন্তরীণ HTTP(S) লোড ব্যালেন্সারের সাথে প্রাইভেট সার্ভিস কানেক্ট সফলভাবে কনফিগার এবং যাচাই করেছেন৷
আপনি প্রযোজক পরিকাঠামো তৈরি করেছেন, এবং আপনি প্রযোজক VPC-তে একটি পরিষেবা সংযুক্তি যোগ করেছেন যা একটি অন-প্রিমিস পরিষেবার দিকে নির্দেশ করে৷ আপনি কীভাবে কনজিউমার ভিপিসি-তে একটি ভোক্তা এন্ডপয়েন্ট তৈরি করবেন তা শিখেছেন যা অন-প্রিমিস পরিষেবাতে সংযোগের অনুমতি দেয়।
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- GKE এর সাথে পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা ব্যবহার করা
- পরিষেবাগুলি প্রকাশ এবং ব্যবহার করতে ব্যক্তিগত পরিষেবা সংযোগ ব্যবহার করে৷
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ TCP প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রিম পরিষেবাগুলিতে সংযোগ করুন