1. ভূমিকা
অ্যাডভান্সড লোড ব্যালান্সিং অপটিমাইজেশন কোডল্যাবে আপনাকে স্বাগতম!
এই কোডল্যাবে, আপনি গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালান্সারের জন্য অ্যাডভান্সড লোড ব্যালান্সিং অপশনগুলো কীভাবে কনফিগার করতে হয় তা শিখবেন। শুরু করার আগে, প্রথমে ক্লাউড লোড ব্যালান্সিং সম্পর্কিত ডকুমেন্টটি ( https://cloud.google.com/load-balancing/docs/load-balancing-overview ) দেখে নেওয়ার পরামর্শ দেওয়া হচ্ছে।

চিত্র ১. গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালান্সারের মাধ্যমে একটি গন্তব্য প্রান্তবিন্দু নির্বাচন করার কার্যপ্রবাহ।
কোডল্যাব টপোলজি এবং ব্যবহারের ক্ষেত্রসমূহ

চিত্র ২। HTTP লোড ব্যালেন্সার রাউটিং টপোলজি
এই কোড ল্যাবে আপনি দুটি ম্যানেজড ইনস্ট্যান্স গ্রুপ সেট আপ করবেন। আপনি একটি গ্লোবাল এক্সটার্নাল https লোড ব্যালেন্সার তৈরি করবেন। এই লোড ব্যালেন্সারটি এনভয়-ভিত্তিক লোড ব্যালেন্সারের সমর্থিত অ্যাডভান্সড ক্যাপাবিলিটির তালিকা থেকে বিভিন্ন ফিচার ব্যবহার করবে। ডেপ্লয় করার পর, আপনি কিছু সিমুলেটেড লোড তৈরি করবেন এবং আপনার সেট করা কনফিগারেশনগুলো সঠিকভাবে কাজ করছে কিনা তা যাচাই করবেন।
আপনি যা শিখবেন
- আপনার লোড ব্যালেন্সারকে সূক্ষ্মভাবে নিয়ন্ত্রণ করতে ServiceLbPolicy কীভাবে কনফিগার করবেন।
আপনার যা যা লাগবে
- এক্সটার্নাল HTTPS লোড ব্যালান্সিং সম্পর্কে জ্ঞান। এই কোডল্যাবের প্রথম অংশটি এক্সটার্নাল HTTPs LB উইথ অ্যাডভান্সড ট্র্যাফিক ম্যানেজমেন্ট (এনভয়) কোডল্যাবের ( https://codelabs.developers.google.com/codelabs/externalhttplb-adv ) সাথে বেশ সাদৃশ্যপূর্ণ। প্রথমে সেটি দেখে নেওয়ার পরামর্শ দেওয়া হচ্ছে।
২. শুরু করার আগে
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রজেক্ট আইডি সেট আপ করা আছে।
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] prodproject=YOUR-PROJECT-NAME echo $prodproject
এপিআই সক্ষম করুন
সমস্ত প্রয়োজনীয় পরিষেবা সক্রিয় করুন
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable networkservices.googleapis.com
৩. ভিপিসি নেটওয়ার্ক তৈরি করুন
একটি VPC নেটওয়ার্ক তৈরি করুন
ক্লাউড শেল থেকে
gcloud compute networks create httplbs --subnet-mode=auto
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs]. NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4 httplbs AUTO REGIONAL
VPC ফায়ারওয়াল নিয়ম তৈরি করুন
VPC তৈরি করার পর, এখন আপনাকে একটি ফায়ারওয়াল রুল তৈরি করতে হবে। এই ফায়ারওয়াল রুলটি ব্যবহার করা হবে সমস্ত আইপি-কে টেস্ট অ্যাপ্লিকেশনের ওয়েবসাইটের এক্সটার্নাল আইপি-তে http ট্র্যাফিকের জন্য পোর্ট ৮০-তে অ্যাক্সেস করার অনুমতি দেওয়ার জন্য।
ক্লাউড শেল থেকে
gcloud compute firewall-rules create httplb-allow-http-rule \ --allow tcp:80 \ --network httplbs \ --source-ranges 0.0.0.0/0 \ --priority 700
আউটপুট
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule]. Creating firewall...done. NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED httplb-allow-http-rule httplbs INGRESS 700 tcp:80 False
এই কোডল্যাবে আমরা ভিএমগুলোর স্বাস্থ্য উন্নত করার কাজ করব। এজন্য আমরা SSH অনুমোদনের জন্য ফায়ারওয়াল নিয়মও তৈরি করব।
ক্লাউড শেল থেকে
gcloud compute firewall-rules create fw-allow-ssh \
--network=httplbs \
--action=allow \
--direction=ingress \
--target-tags=allow-ssh \
--rules=tcp:22
আউটপুট
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/fw-allow-ssh]. Creating firewall...done. NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED fw-allow-ssh httplbs INGRESS 1000 tcp:22 False
৪. পরিচালিত ইনস্ট্যান্স গ্রুপগুলি সেট আপ করুন
আপনাকে ম্যানেজড ইনস্ট্যান্স গ্রুপ সেট আপ করতে হবে, যেগুলোতে HTTP লোড ব্যালেন্সার দ্বারা ব্যবহৃত ব্যাকএন্ড রিসোর্সের প্যাটার্ন অন্তর্ভুক্ত থাকবে। প্রথমে আমরা ইনস্ট্যান্স টেমপ্লেট তৈরি করব, যা প্রতিটি অঞ্চলের জন্য তৈরি হতে যাওয়া ভিএম-গুলোর কনফিগারেশন নির্ধারণ করবে। এরপর, প্রতিটি অঞ্চলের একটি ব্যাকএন্ডের জন্য, আমরা একটি ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করব যা একটি ইনস্ট্যান্স টেমপ্লেটকে রেফারেন্স করবে।
ম্যানেজড ইনস্ট্যান্স গ্রুপগুলো জোনাল বা রিজিওনাল হতে পারে। এই ল্যাব অনুশীলনের জন্য আমরা জোনাল ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করব।
এই অংশে আপনি আগে থেকে তৈরি একটি স্টার্টআপ স্ক্রিপ্ট দেখতে পাবেন, যা ইনস্ট্যান্স তৈরির সময় ব্যবহৃত হবে। এই স্টার্টআপ স্ক্রিপ্টটি ওয়েব সার্ভারের সক্ষমতা ইনস্টল ও সক্রিয় করে, যা আমরা একটি ওয়েব অ্যাপ্লিকেশন সিমুলেট করতে ব্যবহার করব। আপনি নির্দ্বিধায় এই স্ক্রিপ্টটি অন্বেষণ করতে পারেন।
ইনস্ট্যান্স টেমপ্লেট তৈরি করুন
প্রথম ধাপ হলো একটি ইনস্ট্যান্স টেমপ্লেট তৈরি করা।
ক্লাউড শেল থেকে
gcloud compute instance-templates create test-template \
--network=httplbs \
--tags=allow-ssh,http-server \
--image-family=debian-9 \
--image-project=debian-cloud \
--metadata=startup-script='#! /bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
systemctl restart apache2'
আউটপুট
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP test-template n1-standard-1 2021-11-09T09:24:35.275-08:00
আপনি এখন নিম্নলিখিত gcloud কমান্ডের মাধ্যমে যাচাই করতে পারেন যে আমাদের ইনস্ট্যান্স টেমপ্লেটগুলি সফলভাবে তৈরি হয়েছে:
ক্লাউড শেল থেকে
gcloud compute instance-templates list
আউটপুট
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP test-template n1-standard-1 2021-11-09T09:24:35.275-08:00
ইনস্ট্যান্স গ্রুপ তৈরি করুন
এখন আমাদের পূর্বে তৈরি করা ইনস্ট্যান্স টেমপ্লেটগুলো থেকে একটি ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করতে হবে।
ক্লাউড শেল থেকে
gcloud compute instance-groups managed create us-east1-a-mig \ --size=1 \ --template=test-template \ --zone=us-east1-a
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-a/instanceGroupManagers/us-east1-a-mig]. NAME LOCATION SCOPE BASE_INSTANCE_NAME SIZE TARGET_SIZE INSTANCE_TEMPLATE AUTOSCALED us-east1-a-mig us-east1-a zone us-east1-a-mig 0 1 test-template no
ক্লাউড শেল থেকে
gcloud compute instance-groups managed create us-east1-b-mig \ --size=5 \ --template=test-template \ --zone=us-east1-b
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-b-mig]. NAME LOCATION SCOPE BASE_INSTANCE_NAME SIZE TARGET_SIZE INSTANCE_TEMPLATE AUTOSCALED us-east1-b-mig us-east1-b zone us-east1-b-mig 0 5 test-template no
নিম্নলিখিত gcloud কমান্ডের মাধ্যমে আমরা যাচাই করতে পারি যে আমাদের ইনস্ট্যান্স গ্রুপগুলি সফলভাবে তৈরি হয়েছে:
ক্লাউড শেল থেকে
gcloud compute instance-groups list
আউটপুট
NAME LOCATION SCOPE NETWORK MANAGED INSTANCES us-east1-a-mig us-east1-a zone httplbs Yes 1 us-east1-b-mig us-east1-b zone httplbs Yes 5
ওয়েব সার্ভারের কার্যকারিতা যাচাই করুন
প্রতিটি ইনস্ট্যান্স একটি অ্যাপাচি ওয়েব-সার্ভার চালানোর জন্য কনফিগার করা আছে, সাথে একটি সাধারণ পিএইচপি স্ক্রিপ্ট রয়েছে যা নিচের মতো কিছু রেন্ডার করে:
পৃষ্ঠাটি পরিবেশিত হয়েছে: us-east1-a-mig-ww2h
আপনার ওয়েব সার্ভারগুলো সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করতে, Compute Engine -> VM instances-এ যান। আপনার নতুন ইনস্ট্যান্সগুলো (যেমন us-east1-a-mig-xxx) তাদের ইনস্ট্যান্স গ্রুপ সংজ্ঞা অনুযায়ী তৈরি হয়েছে কিনা তা নিশ্চিত করুন।
এখন, ওয়েব সার্ভারটি চালু আছে কিনা তা নিশ্চিত করতে আপনার ব্রাউজারে এটিতে একটি ওয়েব রিকোয়েস্ট পাঠান (এটি চালু হতে এক মিনিট সময় লাগতে পারে)। Compute Engine-এর অধীনে VM instances পৃষ্ঠায়, আপনার ইনস্ট্যান্স গ্রুপ দ্বারা তৈরি একটি ইনস্ট্যান্স নির্বাচন করুন এবং এর External (পাবলিক) IP-তে ক্লিক করুন।
অথবা, আপনার ব্রাউজারে http://<IP_Address> এ যান।
৫. লোড ব্যালেন্সার সেট আপ করুন।
স্বাস্থ্য পরীক্ষা তৈরি করুন
প্রথমে আমাদের পরিষেবাগুলি সফলভাবে চালু আছে কিনা তা নিশ্চিত করার জন্য একটি প্রাথমিক স্বাস্থ্য পরীক্ষা তৈরি করতে হবে। আমরা একটি প্রাথমিক স্বাস্থ্য পরীক্ষা তৈরি করব, তবে আরও অনেক উন্নত কাস্টমাইজেশনের সুযোগ রয়েছে।
ক্লাউড শেল থেকে
gcloud compute health-checks create http http-basic-check \
--port 80
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/http-basic-check]. NAME PROTOCOL http-basic-check HTTP
সংরক্ষিত বাহ্যিক আইপি ঠিকানা
এই ধাপের জন্য আপনাকে একটি বিশ্বব্যাপী উপলব্ধ স্ট্যাটিক আইপি অ্যাড্রেস রিজার্ভ করতে হবে, যা পরবর্তীতে লোড ব্যালান্সারের সাথে সংযুক্ত করা হবে।
ক্লাউড শেল থেকে
gcloud compute addresses create lb-ipv4-2 \
--ip-version=IPV4 \
--global
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/lb-ipv4-2].
সংরক্ষিত আইপি অ্যাড্রেসটি অবশ্যই লিখে রাখুন।
gcloud compute addresses describe lb-ipv4-2 \
--format="get(address)" \
--global
ব্যাকএন্ড পরিষেবা তৈরি করুন
এখন আমাদের পূর্বে তৈরি করা ম্যানেজড ইনস্ট্যান্স গ্রুপগুলোর জন্য একটি ব্যাকএন্ড সার্ভিস তৈরি করতে হবে।
ক্লাউড শেল থেকে
gcloud compute backend-services create east-backend-service \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTP \
--port-name=http \
--health-checks=http-basic-check \
--global
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/east-backend-service]. NAME BACKENDS PROTOCOL east-backend-service HTTP
ব্যাকএন্ড পরিষেবাগুলিতে MIG যোগ করুন
এখন যেহেতু আমরা ব্যাকএন্ড সার্ভিসগুলো তৈরি করে ফেলেছি, আমাদের অবশ্যই পূর্বে তৈরি করা ম্যানেজড ইনস্ট্যান্স গ্রুপগুলোকে প্রতিটি ব্যাকএন্ড সার্ভিসে যুক্ত করতে হবে।
ক্লাউড শেল থেকে
gcloud compute backend-services add-backend east-backend-service --instance-group us-east1-a-mig --instance-group-zone us-east1-a --global
ক্লাউড শেল থেকে
gcloud compute backend-services add-backend east-backend-service --instance-group us-east1-b-mig --instance-group-zone us-east1-b --global
নিম্নলিখিত কমান্ডটি চালিয়ে আপনি ব্যাকএন্ডগুলো যুক্ত হয়েছে কিনা তা যাচাই করতে পারেন।
ক্লাউড শেল থেকে
gcloud compute backend-services list
আউটপুট
NAME BACKENDS PROTOCOL east-backend-service us-east1-a/instanceGroups/us-east1-a-mig,us-east1-b/instanceGroups/us-east1-b-mig HTTP
ইউআরএল ম্যাপ তৈরি করুন
এখন আমরা একটি ইউআরএল ম্যাপ তৈরি করব।
gcloud compute url-maps create web-map-http \
--default-service=east-backend-service \
--global
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/web-map-http]. NAME DEFAULT_SERVICE web-map-http backendServices/east-backend-service
HTTP ফ্রন্টএন্ড তৈরি করুন
লোড ব্যালেন্সার তৈরির চূড়ান্ত ধাপ হলো ফ্রন্টএন্ড তৈরি করা। এটি আপনার পূর্বে সংরক্ষিত আইপি অ্যাড্রেসটিকে আপনার তৈরি করা লোড ব্যালেন্সার ইউআরএল ম্যাপের সাথে সংযুক্ত করবে।
ক্লাউড শেল থেকে
gcloud compute target-http-proxies create http-lb-proxy-adv \
--url-map=web-map-http
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpProxies/http-lb-proxy-adv]. NAME URL_MAP http-lb-proxy-adv web-map-http
এরপরে আপনাকে একটি গ্লোবাল ফরওয়ার্ডিং রুল তৈরি করতে হবে, যা পূর্বে সংরক্ষিত আইপি অ্যাড্রেসটিকে এইচটিটিপি প্রক্সির সাথে ম্যাপ করবে।
ক্লাউড শেল থেকে
gcloud compute forwarding-rules create http-content-rule \
--load-balancing-scheme EXTERNAL_MANAGED \
--address=lb-ipv4-2 \
--global \
--target-http-proxy=http-lb-proxy-adv \
--ports=80
এই পর্যায়ে, আপনি আগে লিখে রাখা আইপি অ্যাড্রেসটি দিয়ে লোড ব্যালেন্সারটি কাজ করছে কিনা তা নিশ্চিত করতে পারেন।
৬. লোড ব্যালেন্সারটি কাজ করছে কিনা তা যাচাই করুন।
লোড ব্যালান্সিং ফিচারটি কাজ করছে কিনা তা যাচাই করার জন্য, আপনাকে কিছু লোড তৈরি করতে হবে। এর জন্য আমরা লোড সিমুলেট করতে একটি নতুন ভিএম (VM) তৈরি করব।
Siege-vm তৈরি করুন
এখন আপনি siege-vm তৈরি করবেন যা আপনি লোড তৈরি করতে ব্যবহার করবেন।
ক্লাউড শেল থেকে
gcloud compute instances create siege-vm \
--network=httplbs \
--zone=us-east1-a \
--machine-type=e2-medium \
--tags=allow-ssh,http-server \
--metadata=startup-script='sudo apt-get -y install siege'
আউটপুট
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-a/instances/siege-vm]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS siege-vm us-central1-ir1 e2-medium 10.132.0.15 34.143.20.68 RUNNING
এরপর আপনি আপনার তৈরি করা ভিএম-এ SSH করতে পারবেন। এটি তৈরি হয়ে গেলে, একটি টার্মিনাল চালু করতে এবং সংযোগ করতে SSH-এ ক্লিক করুন।
সংযুক্ত হয়ে গেলে, লোড তৈরি করতে নিম্নলিখিত কমান্ডটি চালান। এক্সটার্নাল http লোড ব্যালান্সারের জন্য পূর্বে সংরক্ষিত আইপি অ্যাড্রেসটি ব্যবহার করুন।
ক্লাউড শেল থেকে
siege -c 20 http://$lb-ipv4-2
আউটপুট
New configuration template added to /home/cloudcurriculumdeveloper/.siege Run siege -C to view the current settings in that file
লোড বন্টন পরীক্ষা করুন
এখন যেহেতু Siege চালু হয়ে গেছে, তাই ট্র্যাফিক দুটি পরিচালিত ইনস্ট্যান্স গ্রুপে সমানভাবে বণ্টিত হচ্ছে কিনা তা পরীক্ষা করার সময় এসেছে।
অবরোধ বন্ধ করুন
এখন যেহেতু আপনি প্রমাণ করেছেন যে উন্নত ট্র্যাফিক বিভাজনটি কাজ করছে, তাই অবরোধটি বন্ধ করার সময় এসেছে। এটি করার জন্য, siege-vm-এর SSH টার্মিনালে ফিরে যান এবং চলমান অবরোধটি বন্ধ করতে CTRL+C চাপুন।
৭. সার্ভিস এলবি পলিসি কনফিগার করুন
একটি পরিষেবা এলবি নীতি তৈরি করুন
এখন যেহেতু প্রাথমিক সেটিং সম্পন্ন হয়েছে, আমরা একটি সার্ভিস লোড ব্যালেন্সিং পলিসি তৈরি করব এবং উন্নত বৈশিষ্ট্যগুলো পরীক্ষা করে দেখব। উদাহরণস্বরূপ, আমরা কিছু উন্নত লোড ব্যালেন্সিং সেটিংস ব্যবহার করার জন্য সার্ভিসটি কনফিগার করব। এই উদাহরণে, আমরা শুধুমাত্র অটো ক্যাপাসিটি ড্রেইন বৈশিষ্ট্যটি কার্যকর করার জন্য একটি পলিসি তৈরি করতে যাচ্ছি। তবে আপনারা চাইলে অন্যান্য বৈশিষ্ট্যগুলোও পরীক্ষা করে দেখতে পারেন।
ক্লাউড শেল থেকে
gcloud beta network-services service-lb-policies create http-policy \
--auto-capacity-drain --location=global
নিম্নলিখিত gcloud কমান্ডের মাধ্যমে আমরা যাচাই করতে পারি যে আমাদের পলিসিটি সফলভাবে তৈরি হয়েছে:
ক্লাউড শেল থেকে
gcloud beta network-services service-lb-policies list --location=global
আউটপুট
NAME http-policy
ব্যাকএন্ড সার্ভিসের সাথে সার্ভিস এলবি পলিসি সংযুক্ত করুন
আমরা এখন আপনার উপরের বিদ্যমান ব্যাকএন্ড পরিষেবাটিতে নতুন নীতিমালাটি সংযুক্ত করব।
ক্লাউড শেল থেকে
gcloud beta compute backend-services update east-backend-service \
--service-lb-policy=http-policy --global
৮. ব্যাকএন্ডের স্বাস্থ্য সামঞ্জস্য করুন
এই পর্যায়ে, আপনার ব্যাকএন্ড সার্ভিসে নতুন সার্ভিস এলবি পলিসিটি প্রয়োগ করা হয়েছে। তাই টেকনিক্যালি আপনি সরাসরি ক্লিনআপে যেতে পারেন। কিন্তু কোডল্যাবের অংশ হিসেবে, নতুন পলিসিটি কীভাবে কাজ করে তা দেখানোর জন্য আমরা আরও কিছু প্রোডাকশন টুইকও করব।
অটো ক্যাপাসিটি ড্রেইন ফিচারটি স্বয়ংক্রিয়ভাবে একটি ব্যাকএন্ড MIG-কে লোড ব্যালেন্সার থেকে সরিয়ে দেবে যখন মোট হেলদি ব্যাকএন্ডের সংখ্যা একটি নির্দিষ্ট থ্রেশহোল্ডের (২৫%) নিচে নেমে আসবে। এই ফিচারটি পরীক্ষা করার জন্য, আমরা us-east1-b-mig-এর VM-গুলোতে SSH করে সেগুলোকে আনহেলদি করে দেব। ২৫% থ্রেশহোল্ডের জন্য, আপনাকে চারটি VM-এ SSH করে অ্যাপাচি সার্ভারটি শাট ডাউন করতে হবে।
এটি করার জন্য, চারটি ভিএম (VM) বেছে নিন এবং SSH-এ ক্লিক করে একটি টার্মিনাল চালু করে সেটিতে SSH করুন। তারপর নিম্নলিখিত কমান্ডটি চালান।
sudo apachectl stop
এই পর্যায়ে, স্বয়ংক্রিয় ক্ষমতা নিষ্কাশন বৈশিষ্ট্যটি সক্রিয় হবে এবং us-east1-b-mig নতুন অনুরোধ পাবে না।
৯. অটো ক্যাপাসিটি ড্রেইন ফিচারটি কাজ করছে কিনা তা যাচাই করুন।
অবরোধ পুনরায় শুরু করুন
নতুন ফিচারটি যাচাই করার জন্য, আমরা আবার সিজ ভিএম (siege VM) ব্যবহার করব। চলুন, আগের ধাপে তৈরি করা ভিএম-টিতে SSH করি। এটি তৈরি হয়ে গেলে, একটি টার্মিনাল চালু করতে SSH-এ ক্লিক করুন এবং সংযোগ স্থাপন করুন।
সংযুক্ত হয়ে গেলে, লোড তৈরি করতে নিম্নলিখিত কমান্ডটি চালান। এক্সটার্নাল http লোড ব্যালান্সারের জন্য পূর্বে সংরক্ষিত আইপি অ্যাড্রেসটি ব্যবহার করুন।
ক্লাউড শেল থেকে
siege -c 20 http://$lb-ipv4-2
আউটপুট
New configuration template added to /home/cloudcurriculumdeveloper/.siege Run siege -C to view the current settings in that file
এই পর্যায়ে, আপনি লক্ষ্য করবেন যে সমস্ত অনুরোধ us-east1-a-mig-এ পাঠানো হচ্ছে।
অবরোধ বন্ধ করুন
এখন যেহেতু আপনি প্রমাণ করেছেন যে উন্নত ট্র্যাফিক বিভাজনটি কাজ করছে, তাই অবরোধটি বন্ধ করার সময় এসেছে। এটি করার জন্য, siege-vm-এর SSH টার্মিনালে ফিরে যান এবং চলমান অবরোধটি বন্ধ করতে CTRL+C চাপুন।
১০. পরিষ্কার করার পদক্ষেপ
ল্যাব পরিবেশের কাজ শেষ হয়ে যাওয়ায়, এখন এটিকে ভেঙে ফেলার সময় হয়েছে। টেস্ট এনভায়রনমেন্টটি ডিলিট করতে অনুগ্রহ করে নিম্নলিখিত কমান্ডগুলো চালান।
ক্লাউড শেল থেকে
gcloud compute instances delete siege-vm --zone=us-east1-a gcloud compute forwarding-rules delete http-content-rule --global gcloud compute target-http-proxies delete http-lb-proxy-adv gcloud compute url-maps delete web-map-http gcloud compute backend-services delete east-backend-service --global gcloud compute addresses delete lb-ipv4-2 --global gcloud compute health-checks delete http-basic-check gcloud beta network-services service-lb-policies delete http-policy --location=global gcloud compute instance-groups managed delete us-east1-a-mig --zone=us-east1-a gcloud compute instance-groups managed delete us-east1-b-mig --zone=us-east1-b gcloud compute instance-templates delete test-template gcloud compute firewall-rules delete httplb-allow-http-rule gcloud compute firewall-rules delete fw-allow-ssh gcloud compute networks delete httplbs
১১. অভিনন্দন!
কোডল্যাবটি সম্পন্ন করার জন্য অভিনন্দন।
আমরা যা আলোচনা করেছি
- সার্ভিস এলবি পলিসি ব্যবহার করে একটি এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার তৈরি করা হচ্ছে।
- আপনার ব্যাকএন্ড সার্ভিসটি অটো ক্যাপাসিটি ড্রেইন ফিচারসহ কনফিগার করুন।
পরবর্তী পদক্ষেপ
- সার্ভিস এলবি পলিসি দ্বারা প্রদত্ত অন্যান্য বৈশিষ্ট্যগুলোও ব্যবহার করে দেখুন।