প্রতি-ইনস্ট্যান্স ওয়েটেড নেটওয়ার্ক লোড ব্যালেন্সিং

1. ভূমিকা

ওজনযুক্ত লোড ব্যালেন্সিং ব্যবহার করে HTTP স্বাস্থ্য পরীক্ষা দ্বারা রিপোর্ট করা ওজনের উপর ভিত্তি করে লোড ব্যালেন্সারের ব্যাকএন্ড দৃষ্টান্তগুলিতে ট্র্যাফিক বিতরণ করতে আপনি একটি নেটওয়ার্ক লোড ব্যালেন্সার কনফিগার করতে পারেন।

ওজনযুক্ত লোডের ভারসাম্যের জন্য আপনাকে নিম্নলিখিত দুটি কনফিগার করতে হবে:

  • আপনাকে ব্যাকএন্ড পরিষেবার লোক্যালিটি লোড ব্যালেন্সার নীতি (localityLbPolicy) WEIGHTED_MAGLEV-এ সেট করতে হবে৷
  • আপনাকে অবশ্যই একটি HTTP/HTTP2/HTTPS স্বাস্থ্য পরীক্ষার সাথে ব্যাকএন্ড পরিষেবা কনফিগার করতে হবে। এইচটিটিপি হেলথ চেক রেসপন্সে অবশ্যই একটি কাস্টম HTTP রেসপন্স হেডার ফিল্ড এক্স-লোড-ব্যালেন্সিং-এন্ডপয়েন্ট-ওয়েট থাকতে হবে যাতে প্রতিটি ব্যাকএন্ড ইন্সট্যান্সের জন্য দশমিক প্রতিনিধিত্বে 0 থেকে 1000 পর্যন্ত পূর্ণসংখ্যা মানের সাথে ওজন নির্দিষ্ট করা যায়।

আপনি যদি ভারযুক্ত লোড ব্যালেন্সিং ব্যবহার করে একাধিক ব্যাকএন্ড পরিষেবা-ভিত্তিক নেটওয়ার্ক লোড ব্যালেন্সারের জন্য ব্যাকএন্ড হিসাবে একই ইনস্ট্যান্স গ্রুপ ব্যবহার করেন, তবে ব্যাকএন্ড পরিষেবার প্রতিটি স্বাস্থ্য পরীক্ষার জন্য একটি অনন্য অনুরোধ-পাথ ব্যবহার করার পরামর্শ দেওয়া হয়। আরও তথ্যের জন্য, HTTP, HTTPS, এবং HTTP/2 স্বাস্থ্য পরীক্ষার জন্য সাফল্যের মানদণ্ড দেখুন।

এইচটিটিপি হেলথ চেক একটি HTTP 200 (ওকে) রেসপন্স দিতে হবে যাতে হেলথ-চেক পাস করা যায় এবং ব্যাকএন্ড ইনস্ট্যান্সকে সুস্থ হিসাবে বিবেচনা করা হয়। এমন পরিস্থিতিতে যেখানে সমস্ত ব্যাকএন্ড দৃষ্টান্ত তাদের স্বাস্থ্য পরীক্ষায় উত্তীর্ণ হয় এবং শূন্য ওজনের সাথে X-লোড-ব্যালেন্সিং-এন্ডপয়েন্ট-ওজন ফেরত দেয়, লোড ব্যালেন্সার সুস্থ ব্যাকএন্ডগুলির মধ্যে নতুন সংযোগ বিতরণ করে, তাদের সমান ওজনের সাথে চিকিত্সা করে। লোড ব্যালেন্সার অস্বাস্থ্যকর ব্যাকএন্ডের মধ্যে নতুন সংযোগ বিতরণ করতে পারে। আরও তথ্যের জন্য, ট্রাফিক বিতরণ দেখুন।

ওজনযুক্ত লোড ব্যালেন্সিংয়ের উদাহরণের জন্য, ব্যাকএন্ড নির্বাচন এবং সংযোগ ট্র্যাকিং দেখুন।

ওজনযুক্ত লোড ব্যালেন্সিং নিম্নলিখিত পরিস্থিতিতে ব্যবহার করা যেতে পারে:

  • যদি কিছু সংযোগ অন্যদের চেয়ে বেশি ডেটা প্রক্রিয়া করে, বা কিছু সংযোগ অন্যদের চেয়ে বেশি সময় ধরে থাকে, তাহলে ব্যাকএন্ড লোড বিতরণ অসম হতে পারে। প্রতি-দৃষ্টান্তের ওজন কম করার সংকেত দিয়ে, উচ্চ লোড সহ একটি দৃষ্টান্ত তার নতুন সংযোগের ভাগ কমাতে পারে, যখন এটি বিদ্যমান সংযোগগুলিকে পরিষেবা প্রদান করে।
  • যদি একটি ব্যাকএন্ড ওভারলোড হয় এবং আরও সংযোগ বরাদ্দ করা বিদ্যমান সংযোগগুলিকে ভেঙে দিতে পারে, এই ধরনের ব্যাকএন্ডগুলি নিজের জন্য শূন্য ওজন নির্ধারণ করে। শূন্য ওজনের সংকেত দিয়ে, একটি ব্যাকএন্ড উদাহরণ নতুন সংযোগগুলি পরিষেবা দেওয়া বন্ধ করে দেয়, তবে বিদ্যমান সংযোগগুলিকে পরিষেবা দেওয়া অব্যাহত রাখে।
  • যদি একটি ব্যাকএন্ড রক্ষণাবেক্ষণের আগে বিদ্যমান সংযোগগুলি নিষ্কাশন করে, তবে এটি নিজের জন্য শূন্য ওজন নির্ধারণ করে। শূন্য ওজনের সংকেত দ্বারা, ব্যাকএন্ড উদাহরণটি নতুন সংযোগগুলি পরিষেবা দেওয়া বন্ধ করে, তবে বিদ্যমান সংযোগগুলিকে পরিষেবা দেওয়া অব্যাহত রাখে।

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

  • ওজনযুক্ত লোড ব্যালেন্সিং ব্যবহার করে HTTP স্বাস্থ্য পরীক্ষা দ্বারা রিপোর্ট করা ওজনের উপর ভিত্তি করে লোড ব্যালেন্সারের ব্যাকএন্ড উদাহরণ জুড়ে ট্র্যাফিক বিতরণ করতে একটি নেটওয়ার্ক লোড ব্যালেন্সার কীভাবে কনফিগার করবেন।

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি যে কোনো সময় এটি আপডেট করতে পারেন.
  • প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এটি সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করে দেখতে পারেন এবং এটি উপলব্ধ কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকবে।
  • আপনার তথ্যের জন্য, একটি তৃতীয় মান রয়েছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে এই টিউটোরিয়ালের বাইরে আপনার বিলিং খরচ না হয়, আপনি আপনার তৈরি করা রিসোর্স মুছে ফেলতে পারেন বা পুরো প্রোজেক্ট মুছে ফেলতে পারেন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।

Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:

55efc1aaa7a4d3ad.png

পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:

7ffe5cbb04455448.png

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

2. কনফিগারেশন শুরু করুন

কোডল্যাবের জন্য একটি একক প্রকল্প প্রয়োজন।

এই টিউটোরিয়ালে, আপনি তিনটি VM দৃষ্টান্ত সহ একটি উদাহরণ গ্রুপ তৈরি করুন এবং প্রতিটি উদাহরণের জন্য ওজন নির্ধারণ করুন। আপনি ব্যাকএন্ড উদাহরণ ওজন রিপোর্ট করার জন্য একটি HTTP স্বাস্থ্য পরীক্ষা তৈরি করুন। ওয়েটেড নেটওয়ার্ক লোড ব্যালেন্সার ব্যাকএন্ড পরিষেবাতে WEIGHTED_MAGLEV হিসাবে স্থানীয় লোড ব্যালেন্সার নীতি সহ সক্ষম করা হয়েছে৷

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

gcloud services enable compute.googleapis.com

দ্রষ্টব্য: আপনি স্থানীয় লোড ব্যালেন্সার নীতি কনফিগার করতে এবং VM দৃষ্টান্তগুলিতে ওজন নির্ধারণ করতে Google ক্লাউড কনসোল ব্যবহার করতে পারবেন না। পরিবর্তে Google Cloud CLI ব্যবহার করুন।

ভিপিসি নেটওয়ার্ক, সাবনেট এবং ফায়ারওয়াল নিয়ম তৈরি করুন

আপনার লোড ব্যালেন্সারের ব্যাকএন্ড VM-এর সাথে সংযোগের অনুমতি দেওয়ার জন্য একটি VPC নেটওয়ার্ক, সাবনেট এবং প্রবেশের অনুমতি ফায়ারওয়াল নিয়মগুলি তৈরি করুন৷

  1. একটি ভিপিসি নেটওয়ার্ক এবং সাবনেট তৈরি করুন। ক VPC নেটওয়ার্ক তৈরি করতে, gcloud compute networks create কমান্ডটি চালান :
gcloud compute networks create NETWORK_NAME --subnet-mode custom

খ. এই উদাহরণে, সাবনেটের প্রাথমিক IPv4 ঠিকানার পরিসর হল 10.10.0.0/24

সাবনেট তৈরি করতে, gcloud compute networks subnets create কমান্ড চালান:

gcloud compute networks subnets create SUBNET_NAME \
  --network=NETWORK_NAME \
  --range=10.10.0.0/24 \
  --region=us-central1

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • NETWORK_NAME : তৈরি করার জন্য VPC নেটওয়ার্কের নাম৷
  • SUBNET_NAME : তৈরি করা সাবনেটওয়ার্কের নাম।
  1. গন্তব্য TCP পোর্ট 80 এবং 443-এ পাঠানো প্যাকেটগুলিকে ব্যাকএন্ড VM-এ বিতরণ করার অনুমতি দেওয়ার জন্য একটি প্রবেশের অনুমতি ফায়ারওয়াল নিয়ম তৈরি করুন। এই উদাহরণে, ফায়ারওয়াল নিয়ম যে কোনো উৎস আইপি ঠিকানা থেকে সংযোগের অনুমতি দেয়। নেটওয়ার্ক ট্যাগ network-lb-tag সহ VM-এ ফায়ারওয়াল নিয়ম প্রযোজ্য। ফায়ারওয়াল নিয়ম তৈরি করতে, gcloud compute firewall-rules create কমান্ডটি চালান:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
   --direction=INGRESS \
   --priority=1000 \
   --network=NETWORK_NAME \
   --action=ALLOW \
   --rules=tcp:80,tcp:443 \
   --source-ranges=0.0.0.0/0 \
   --target-tags=network-lb-tag

তৈরি করতে ফায়ারওয়াল নিয়মের নামের সাথে FIREWALL_RULE_NAME প্রতিস্থাপন করুন।

VM দৃষ্টান্ত তৈরি করুন এবং ওজন নির্ধারণ করুন

তিনটি VM দৃষ্টান্ত তৈরি করুন এবং ওজন নির্ধারণ করুন:

  1. এইচটিটিপি প্রতিক্রিয়া সহ X-লোড-ব্যালেন্সিং-এন্ডপয়েন্ট-ওয়েট হেডারে ওজন ফেরত দিতে তিনটি ব্যাকএন্ড VM দৃষ্টান্ত কনফিগার করুন। এই টিউটোরিয়ালটির জন্য, আপনি একটি ব্যাকএন্ড ইন্সট্যান্স কনফিগার করুন যাতে শূন্যের ওজন রিপোর্ট করা যায়, দ্বিতীয় ব্যাকএন্ড ইনস্ট্যান্স 100 ওজনের রিপোর্ট করার জন্য এবং একটি তৃতীয় ব্যাকএন্ড ইনস্ট্যান্স 900 ওজনের রিপোর্ট করার জন্য। দৃষ্টান্ত তৈরি করতে, gcloud compute instances create চালান। আদেশ:
gcloud compute instances create instance-0 \
  --zone=us-central1-a \
  --tags=network-lb-tag \
  --image-family=debian-10 \
  --image-project=debian-cloud \
  --subnet=
SUBNET_NAME
\
  --metadata=load-balancing-weight=0,startup-script='#! /bin/bash
  apt-get update
  apt-get install apache2 -y
  ln -sr /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load
  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
  lb_weight="$(curl -H "Metadata-Flavor:Google" \
  http://169.254.169.254/computeMetadata/v1/instance/attributes/load-balancing-weight)"
  echo "Header set X-Load-Balancing-Endpoint-Weight \"$lb_weight\"" | \
  tee /etc/apache2/conf-enabled/headers.conf
  systemctl restart apache2'
gcloud compute instances create instance-100 \
  --zone=us-central1-a \
  --tags=network-lb-tag \
  --image-family=debian-10 \
  --image-project=debian-cloud \
  --subnet=SUBNET_NAME \
  --metadata=load-balancing-weight=100,startup-script='#! /bin/bash
  apt-get update
  apt-get install apache2 -y
  ln -sr /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load
  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
  lb_weight="$(curl -H "Metadata-Flavor:Google" \
  http://169.254.169.254/computeMetadata/v1/instance/attributes/load-balancing-weight)"
  echo "Header set X-Load-Balancing-Endpoint-Weight \"$lb_weight\"" | \
  tee /etc/apache2/conf-enabled/headers.conf
  systemctl restart apache2'
gcloud compute instances create instance-900 \
  --zone=us-central1-a \
  --tags=network-lb-tag \
  --image-family=debian-10 \
  --image-project=debian-cloud \
  --subnet=
SUBNET_NAME
\
  --metadata=load-balancing-weight=900,startup-script='#! /bin/bash
    apt-get update
    apt-get install apache2 -y
    ln -sr /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load
    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
    lb_weight="$(curl -H "Metadata-Flavor:Google" \
    http://169.254.169.254/computeMetadata/v1/instance/attributes/load-balancing-weight)"
    echo "Header set X-Load-Balancing-Endpoint-Weight \"$lb_weight\"" | \
    tee /etc/apache2/conf-enabled/headers.conf
    systemctl restart apache2'

একটি উদাহরণ গ্রুপ তৈরি করুন

এই টিউটোরিয়ালে, আপনি তিনটি VM দৃষ্টান্ত ( instance-0, instance-100, and instance-900 ) সমন্বিত একটি অব্যবস্থাপিত উদাহরণ গোষ্ঠী তৈরি করার নির্দেশনা প্রদান করেন।

gcloud compute instance-groups unmanaged create
INSTANCE_GROUP --zone=us-central1-a
gcloud compute instance-groups unmanaged add-instances INSTANCE_GROUP \
  --zone=us-central1-a \
  --instances=instance-0,instance-100,instance-900

তৈরি করার জন্য ইনস্ট্যান্স গ্রুপের নামের সাথে INSTANCE_GROUP প্রতিস্থাপন করুন।

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

এই টিউটোরিয়ালে, আপনি ব্যাকএন্ড VM-এর ওজন ধারণকারী HTTP প্রতিক্রিয়া পড়ার জন্য একটি HTTP স্বাস্থ্য পরীক্ষা তৈরি করার নির্দেশনা প্রদান করেন।"

gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
  --region=us-central1

HTTP_HEALTH_CHECK_NAME প্রতিস্থাপন করতে HTTP স্বাস্থ্য পরীক্ষার নাম দিয়ে তৈরি করুন।

একটি ব্যাকএন্ড পরিষেবা তৈরি করুন

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

  1. HTTP স্বাস্থ্য পরীক্ষা সহ একটি ব্যাকএন্ড পরিষেবা তৈরি করুন এবং স্থানীয় লোড ব্যালেন্সার নীতিটি WEIGHTED_MAGLEV-এ সেট করুন৷
gcloud compute backend-services create BACKEND_SERVICE_NAME \
  --load-balancing-scheme=external \
  --protocol=tcp \
  --region=us-central1 \
  --health-checks=HTTP_HEALTH_CHECK_NAME \
  --health-checks-region=us-central1 \
  --locality-lb-policy=WEIGHTED_MAGLEV
  • তৈরি করতে ব্যাকএন্ড পরিষেবার নাম দিয়ে BACKEND_SERVICE_NAME প্রতিস্থাপন করুন।
  1. ব্যাকএন্ড সার্ভিসে ইনস্ট্যান্স গ্রুপ যোগ করুন।
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
  --instance-group=INSTANCE_GROUP \
  --instance-group-zone=us-central1-a \
  --region=us-central1
  1. লোড ব্যালেন্সারের জন্য একটি আঞ্চলিক বাহ্যিক IP ঠিকানা সংরক্ষণ করুন।
  • এক বা একাধিক IP ঠিকানা সংরক্ষণ করতে, gcloud compute addresses create কমান্ড চালান:
gcloud compute addresses create ADDRESS_NAME \
 --region us-central1

তৈরি করতে আইপি ঠিকানার নামের সাথে ADDRESS_NAME প্রতিস্থাপন করুন। ফলাফল দেখতে compute addresses describe কমান্ড ব্যবহার করুন। সংরক্ষিত স্ট্যাটিক বাহ্যিক IP ঠিকানাটি নোট করুন (' IP_ADDRESS' )।

gcloud compute addresses describe ADDRESS_NAME
  1. সংরক্ষিত আঞ্চলিক বাহ্যিক IP ঠিকানা 'IP_ADDRESS' ব্যবহার করে একটি ফরওয়ার্ডিং নিয়ম তৈরি করুন। ব্যাকএন্ড পরিষেবাতে ফরওয়ার্ডিং নিয়ম সংযুক্ত করুন।
gcloud compute forwarding-rules create FORWARDING_RULE \
  --region=us-central1 \
  --ports=80 \
  --address=IP_ADDRESS \
  --backend-service=BACKEND_SERVICE_NAME
  • নিম্নলিখিতগুলি প্রতিস্থাপন করুন: FORWARDING_RULE : তৈরি করতে ফরওয়ার্ডিং নিয়মের নাম৷ IP_ADDRESS: উদাহরণে বরাদ্দ করার জন্য IP ঠিকানা। সংরক্ষিত স্ট্যাটিক বাহ্যিক IP ঠিকানা ব্যবহার করুন, ঠিকানার নাম নয়।

ব্যাকএন্ড পরিষেবা API ব্যবহার করে ব্যাকএন্ড ওজন যাচাই করুন

নিশ্চিত করুন যে ব্যাকএন্ড ওজন সঠিকভাবে HTTP স্বাস্থ্য পরীক্ষায় রিপোর্ট করা হয়েছে।

  • ব্যাকএন্ড পরিষেবা থেকে ব্যাকএন্ড ওজন (স্বাস্থ্যের অবস্থা সহ) পেতে, gcloud compute backend-services get-health কমান্ড চালান:
gcloud compute backend-services get-health HTTP_HEALTH_CHECK_NAME \
  --region=us-central1

আউটপুট নিম্নলিখিত মত হওয়া উচিত:

backend: https://www.googleapis.com/compute/projects/project-name/{project}/zones/us-central1-a/instanceGroups/{instance-group-name}
status:
  healthStatus:
  - forwardingRule: https://www.googleapis.com/compute/projects/{project}/regions/us-central1/forwardingRules/{firewall-rule-name}
    forwardingRuleIp: 34.135.46.66
    healthState: HEALTHY
    instance: https://www.googleapis.com/compute/projects/{project}/zones/us-central1-a/instances/instance-0
    ipAddress: 10.10.0.5
    port: 80
    weight: '0'
  - forwardingRule: https://www.googleapis.com/compute/projects/{project}/regions/us-central1/forwardingRules/{firewall-rule-name}
    forwardingRuleIp: 34.135.46.66
    healthState: HEALTHY
    instance: https://www.googleapis.com/compute/projects/{project}/zones/us-central1-a/instances/instance-100
    ipAddress: 10.10.0.6
    port: 80
    weight: '100'
  - forwardingRule: https://www.googleapis.com/compute/projects/{project}/regions/us-central1/forwardingRules/{firewall-rule-name}
    forwardingRuleIp: 34.135.46.66
    healthState: HEALTHY
    instance: https://www.googleapis.com/compute/projects/{project}/zones/us-central1-a/instances/instance-900
    ipAddress: 10.10.0.7
    port: 80
    weight: '900'
  kind: compute#backendServiceGroupHealth