উন্নত লোড ব্যালেন্সিং অপ্টিমাইজেশান কোডল্যাব

1. ভূমিকা

উন্নত লোড ব্যালেন্সিং অপ্টিমাইজেশান কোডল্যাবে স্বাগতম!

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

c3fb1d3f027e8640.png

চিত্র 1. গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশান লোড ব্যালেন্সারের সাথে একটি গন্তব্যের শেষ বিন্দু বাছাই করার কর্মপ্রবাহ।

কোডল্যাব টপোলজি এবং ব্যবহারের ক্ষেত্রে

2f7368df335d3de9.png

চিত্র 2 । HTTP লোড ব্যালেন্সার রাউটিং টপোলজি

এই কোড ল্যাব চলাকালীন আপনি দুটি পরিচালিত উদাহরণ গ্রুপ সেট আপ করবেন। আপনি একটি গ্লোবাল এক্সটার্নাল https লোড ব্যালেন্সার তৈরি করবেন। লোড ব্যালেন্সার উন্নত ক্ষমতার তালিকা থেকে বিভিন্ন বৈশিষ্ট্য ব্যবহার করবে যা দূত ভিত্তিক লোড ব্যালেন্সার সমর্থন করে। একবার স্থাপন করা হলে আপনি কিছু সিমুলেটেড লোড তৈরি করবেন এবং যাচাই করবেন যে আপনার সেট করা কনফিগারেশনগুলি যথাযথভাবে কাজ করছে।

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

  • কিভাবে আপনার লোড ব্যালেন্সার ঠিক করতে ServiceLbPolicy কনফিগার করবেন।

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

  • এক্সটার্নাল HTTPS লোড ব্যালেন্সিং এর জ্ঞান। এই কোডল্যাবের প্রথমার্ধটি অ্যাডভান্সড ট্রাফিক ম্যানেজমেন্ট (এনভয়) কোডল্যাব ( https://codelabs.developers.google.com/codelabs/externalhttplb-adv ) সহ এক্সটার্নাল HTTPs LB-এর সাথে বেশ মিল রয়েছে। এটি প্রথম যে মাধ্যমে যেতে সুপারিশ করা হয়.

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

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

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

3. ভিপিসি নেটওয়ার্ক তৈরি করুন

একটি 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 তৈরি করার পরে, এখন আপনি একটি ফায়ারওয়াল নিয়ম তৈরি করবেন। ফায়ারওয়াল নিয়মটি সকল আইপিকে http ট্র্যাফিকের জন্য পোর্ট 80-এ পরীক্ষার অ্যাপ্লিকেশনের ওয়েবসাইটের বাহ্যিক আইপি অ্যাক্সেস করার অনুমতি দেওয়ার জন্য ব্যবহার করা হবে।

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

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

4. ম্যানেজড ইনস্ট্যান্স গ্রুপ সেট আপ করুন

আপনাকে ম্যানেজড ইনস্ট্যান্স গ্রুপ সেট আপ করতে হবে যাতে HTTP লোড ব্যালেন্সার দ্বারা ব্যবহৃত ব্যাকএন্ড সংস্থানগুলির নিদর্শন অন্তর্ভুক্ত থাকে। প্রথমে আমরা ইনস্ট্যান্স টেমপ্লেট তৈরি করব যা প্রতিটি অঞ্চলের জন্য তৈরি করা VM-এর কনফিগারেশন নির্ধারণ করে। এর পরে, প্রতিটি অঞ্চলে একটি ব্যাকএন্ডের জন্য, আমরা একটি ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করব যা একটি ইনস্ট্যান্স টেমপ্লেটকে উল্লেখ করে।

ম্যানেজড ইনস্ট্যান্স গ্রুপগুলি আঞ্চলিক বা আঞ্চলিক হতে পারে। এই ল্যাব অনুশীলনের জন্য আমরা জোনাল ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করব।

এই বিভাগে, আপনি একটি পূর্ব-নির্মিত স্টার্টআপ স্ক্রিপ্ট দেখতে পাবেন যা উদাহরণ তৈরির সময় উল্লেখ করা হবে। এই স্টার্টআপ স্ক্রিপ্টটি ওয়েব সার্ভারের ক্ষমতাগুলি ইনস্টল এবং সক্ষম করে যা আমরা একটি ওয়েব অ্যাপ্লিকেশন অনুকরণ করতে ব্যবহার করব। এই স্ক্রিপ্ট অন্বেষণ নির্দ্বিধায়.

ইনস্ট্যান্স টেমপ্লেট তৈরি করুন

প্রথম ধাপ হল একটি ইনস্ট্যান্স টেমপ্লেট তৈরি করা।

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

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-w2h

আপনার ওয়েব সার্ভারগুলি সঠিকভাবে কাজ করছে তা নিশ্চিত করতে, Compute Engine -> VM দৃষ্টান্তগুলিতে নেভিগেট করুন। নিশ্চিত করুন যে আপনার নতুন দৃষ্টান্তগুলি (যেমন us-east1-a-mig-xxx) তাদের দৃষ্টান্ত গোষ্ঠীর সংজ্ঞা অনুসারে তৈরি করা হয়েছে।

এখন, ওয়েব সার্ভার চলছে তা নিশ্চিত করতে আপনার ব্রাউজারে একটি ওয়েব অনুরোধ করুন (এটি শুরু হতে এক মিনিট সময় লাগতে পারে)। কম্পিউট ইঞ্জিনের অধীনে ভিএম ইনস্ট্যান্স পৃষ্ঠায়, আপনার ইনস্ট্যান্স গ্রুপ দ্বারা তৈরি একটি উদাহরণ নির্বাচন করুন এবং এর বাহ্যিক (পাবলিক) আইপি ক্লিক করুন।

অথবা, আপনার ব্রাউজারে, http://<IP_Address>-এ নেভিগেট করুন

5. লোড ব্যালেন্সার সেট আপ করুন

স্বাস্থ্য পরীক্ষা তৈরি করুন

আমাদের পরিষেবাগুলি সফলভাবে চালু এবং চলমান রয়েছে তা নিশ্চিত করার জন্য প্রথমে আমাদের একটি প্রাথমিক স্বাস্থ্য পরীক্ষা তৈরি করতে হবে। আমরা একটি মৌলিক স্বাস্থ্য পরীক্ষা তৈরি করব, আরও অনেক উন্নত কাস্টমাইজেশন উপলব্ধ রয়েছে।

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

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

ইউআরএল ম্যাপ তৈরি করুন

এখন আমরা একটি URL মানচিত্র তৈরি করব।

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 ফ্রন্টএন্ড তৈরি করুন

লোড ব্যালেন্সার তৈরির চূড়ান্ত ধাপ হল ফ্রন্টএন্ড তৈরি করা। এটি আপনার তৈরি করা লোড ব্যালেন্সার URL ম্যাপে আপনার আগে সংরক্ষিত IP ঠিকানাটিকে ম্যাপ করবে।

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

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

পরবর্তীতে আপনাকে একটি বিশ্বব্যাপী ফরওয়ার্ডিং নিয়ম তৈরি করতে হবে যা HTTP প্রক্সিতে আগে সংরক্ষিত IP ঠিকানাকে ম্যাপ করবে।

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

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

এই মুহুর্তে, আপনি নিশ্চিত করতে পারেন যে লোড ব্যালেন্সারটি আপনার আগে উল্লেখ করা আইপি ঠিকানার সাথে কাজ করছে।

6. লোড ব্যালেন্সার কাজ করছে কিনা তা যাচাই করুন

লোড ব্যালেন্সিং বৈশিষ্ট্যটি কাজ করছে তা যাচাই করার জন্য, আপনাকে কিছু লোড তৈরি করতে হবে। এটি করার জন্য আমরা লোড অনুকরণ করার জন্য একটি নতুন 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

এরপর আপনি আপনার তৈরি করা VM-এ SSH করতে পারেন। এটি তৈরি হয়ে গেলে একটি টার্মিনাল চালু করতে এবং সংযোগ করতে SSH-এ ক্লিক করুন।

একবার সংযুক্ত হয়ে গেলে, লোড তৈরি করতে নিম্নলিখিত কমান্ডটি চালান। বাহ্যিক http লোড ব্যালেন্সারের জন্য আপনি আগে সংরক্ষিত IP ঠিকানাটি ব্যবহার করুন৷

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

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

লোড বিতরণ পরীক্ষা করুন

এখন যেহেতু অবরোধ চলছে তা পরীক্ষা করার সময় এসেছে যে দুটি পরিচালিত উদাহরণ গোষ্ঠীতে ট্র্যাফিক সমানভাবে বিতরণ করা হচ্ছে।

অবরোধ বন্ধ করুন

এখন আপনি দেখিয়েছেন যে উন্নত ট্রাফিক বিভাজন কাজ করছে, এটি অবরোধ বন্ধ করার সময়। এটি করতে, সিজ-ভিএম-এর এসএসএইচ টার্মিনালে ফিরে যান এবং সিজ চালানো বন্ধ করতে CTRL+C টিপুন।

7. পরিষেবা এলবি নীতি কনফিগার করুন

একটি পরিষেবা এলবি নীতি তৈরি করুন

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

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

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

8. ব্যাকএন্ড স্বাস্থ্য খামচি

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

স্বয়ংক্রিয় ক্ষমতা ড্রেন বৈশিষ্ট্য স্বয়ংক্রিয়ভাবে লোড ব্যালেন্সার থেকে একটি ব্যাকএন্ড এমআইজি মুছে ফেলবে যখন সুস্থ ব্যাকএন্ডের মোট সংখ্যা কিছু থ্রেশহোল্ডের নিচে নেমে যায় (25%)। এই বৈশিষ্ট্যটি পরীক্ষা করার জন্য, আমরা us-east1-b-mig-এর VM-এ SSH-এ যাচ্ছি এবং সেগুলিকে অস্বাস্থ্যকর করে তুলছি। 25% থ্রেশহোল্ডের সাথে, আপনাকে চারটি VM-এ SSH করতে হবে এবং Apache সার্ভারটি বন্ধ করতে হবে।

এটি করতে, টার্মিনাল চালু করতে এবং সংযোগ করতে SSH-এ ক্লিক করে চারটি VM এবং SSH বেছে নিন। তারপর নিম্নলিখিত কমান্ডটি চালান।

sudo apachectl stop

এই মুহুর্তে, স্বয়ংক্রিয় ক্ষমতা ড্রেন বৈশিষ্ট্যটি ট্রিগার করা হবে এবং us-east1-b-mig নতুন অনুরোধ পাবে না।

9. যাচাই করুন যে অটো ক্যাপাসিটি ড্রেন বৈশিষ্ট্যটি কাজ করছে৷

অবরোধ পুনরায় চালু করুন

নতুন বৈশিষ্ট্য যাচাই করতে, আমরা আবার সিজ VM পুনরায় ব্যবহার করব। আগের ধাপে আপনার তৈরি করা VM-এ SSH করা যাক। এটি তৈরি হয়ে গেলে একটি টার্মিনাল চালু করতে এবং সংযোগ করতে SSH-এ ক্লিক করুন।

একবার সংযুক্ত হয়ে গেলে, লোড তৈরি করতে নিম্নলিখিত কমান্ডটি চালান। বাহ্যিক http লোড ব্যালেন্সারের জন্য আপনি আগে সংরক্ষিত IP ঠিকানাটি ব্যবহার করুন৷

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

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

এই মুহুর্তে, আপনি লক্ষ্য করবেন যে সমস্ত অনুরোধ আমাদের-east1-a-mig-এ পাঠানো হয়েছে।

অবরোধ বন্ধ করুন

এখন আপনি দেখিয়েছেন যে উন্নত ট্রাফিক বিভাজন কাজ করছে, এটি অবরোধ বন্ধ করার সময়। এটি করতে, সিজ-ভিএম-এর এসএসএইচ টার্মিনালে ফিরে যান এবং সিজ চালানো বন্ধ করতে CTRL+C টিপুন।

10. পরিচ্ছন্নতার পদক্ষেপ

এখন যেহেতু আমরা ল্যাব পরিবেশের সাথে শেষ করেছি, এটিকে ভেঙে ফেলার সময় এসেছে। পরীক্ষা পরিবেশ মুছে ফেলার জন্য নিম্নলিখিত কমান্ড চালান.

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

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 

11. অভিনন্দন!

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

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

  • পরিষেবা lb নীতি সহ একটি বাহ্যিক অ্যাপ্লিকেশন লোড ব্যালেন্সার তৈরি করা।
  • স্বয়ংক্রিয় ক্ষমতা ড্রেন বৈশিষ্ট্য সহ আপনার ব্যাকএন্ড পরিষেবা কনফিগার করুন।

পরবর্তী পদক্ষেপ

  • পরিষেবা lb নীতি দ্বারা প্রদত্ত অন্যান্য বৈশিষ্ট্যগুলি ব্যবহার করে দেখুন৷