以下の内容はhttps://htn20190109.hatenablog.com/entry/2024/11/22/170026より取得しました。


{GCP Cloud Load Balancing}VM インスタンス グループのバックエンドを使用して従来のプロキシ ネットワーク ロードバランサ(TCP プロキシ)を設定する

 


https://cloud.google.com/load-balancing/docs/tcp/setting-up-tcp?hl=ja

 

-- 1. 前作業

gcloud init
gcloud auth list

gcloud --version

gcloud projects create project01-9999999 \
--name="project01"

gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region us-east1 --quiet
gcloud config set compute/zone us-east1-b --quiet

 

gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111

gcloud services enable compute.googleapis.com --project project01-9999999

 

-- 2. インスタンス グループのバックエンドを構成する

gcloud compute instances create vm01a \
--image-family debian-11 \
--image-project debian-cloud \
--tags tag01 \
--zone asia-northeast1-a \
--metadata startup-script="#! /bin/bash
 sudo apt-get update
 sudo apt-get install apache2 -y
 sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
 sudo service apache2 restart
 echo '<!doctype html><html><body><h1>vm01a</h1></body></html>' | tee /var/www/html/index.html
 EOF"

gcloud compute instances create vm02a \
--image-family debian-11 \
--image-project debian-cloud \
--tags tag01 \
--zone asia-northeast1-a \
--metadata startup-script="#! /bin/bash
 sudo apt-get update
 sudo apt-get install apache2 -y
 sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
 sudo service apache2 restart
 echo '<!doctype html><html><body><h1>vm02a</h1></body></html>' | tee /var/www/html/index.html
 EOF"


gcloud compute instances create vm01b \
--image-family debian-11 \
--image-project debian-cloud \
--tags tag01 \
--zone us-east1-b \
--metadata startup-script="#! /bin/bash
 sudo apt-get update
 sudo apt-get install apache2 -y
 sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
 sudo service apache2 restart
 echo '<!doctype html><html><body><h1>vm01b</h1></body></html>' | tee /var/www/html/index.html
 EOF"


gcloud compute instances create vm02b \
--image-family debian-11 \
--image-project debian-cloud \
--tags tag01 \
--zone us-east1-b \
--metadata startup-script="#! /bin/bash
 sudo apt-get update
 sudo apt-get install apache2 -y
 sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
 sudo service apache2 restart
 echo '<!doctype html><html><body><h1>vm02b</h1></body></html>' | tee /var/www/html/index.html
 EOF"


-- 3. インスタンス·グループを作成する

gcloud compute instance-groups unmanaged create ig01a \
--zone asia-northeast1-a

gcloud compute instance-groups set-named-ports ig01a \
--named-ports tcp110:110 \
--zone asia-northeast1-a

gcloud compute instance-groups unmanaged add-instances ig01a \
--instances vm01a,vm02a \
--zone asia-northeast1-a

 

gcloud compute instance-groups unmanaged create ig01b \
--zone us-east1-b

gcloud compute instance-groups set-named-ports ig01b \
--named-ports tcp110:110 \
--zone us-east1-b

gcloud compute instance-groups unmanaged add-instances ig01b \
--instances vm01b,vm02b \
--zone us-east1-b


-- 4. 外部プロキシ ネットワーク ロードバランサにファイアウォール ルールを作成する


gcloud compute firewall-rules create fw01 \
--source-ranges 130.211.0.0/22,35.191.0.0/16 \
--target-tags tag01 \
--allow tcp:110


-- 5. ロードバランサを構成する


gcloud compute health-checks create tcp hc01 --port 110


gcloud compute backend-services create be01 \
--load-balancing-scheme EXTERNAL \
--global-health-checks \
--global \
--protocol TCP \
--health-checks hc01 \
--timeout 5m \
--port-name tcp110


gcloud compute backend-services add-backend be01 \
--global \
--instance-group ig01a \
--instance-group-zone asia-northeast1-a \
--balancing-mode UTILIZATION \
--max-utilization 0.8


gcloud compute backend-services add-backend be01 \
--global \
--instance-group ig01b \
--instance-group-zone us-east1-b \
--balancing-mode UTILIZATION \
--max-utilization 0.8

 


gcloud compute target-tcp-proxies create ttp01 \
--backend-service be01 \
--proxy-header NONE

gcloud compute addresses create pip01 \
--ip-version=IPV4 \
--global

 

gcloud compute forwarding-rules create fr01 \
--load-balancing-scheme EXTERNAL \
--global \
--target-tcp-proxy ttp01 \
--address pip01 \
--ports 110

 

-- 6. ロードバランサをテストする


gcloud compute addresses describe pip01 --global


while true; do 
  curl -m1 192.0.2.1:110
  date
  sleep 5;
done

 

 

 

-- 7. クリーンアップ

gcloud compute forwarding-rules delete fr01 --global --quiet


gcloud compute target-tcp-proxies delete ttp01 --quiet

gcloud compute backend-services delete be01 --global --quiet

 

gcloud compute instance-groups unmanaged delete ig01a --zone asia-northeast1-a --quiet
gcloud compute instance-groups unmanaged delete ig01b --zone us-east1-b --quiet

gcloud compute instances delete vm01a --zone asia-northeast1-a --quiet
gcloud compute instances delete vm02a --zone asia-northeast1-a --quiet

gcloud compute instances delete vm01b --zone us-east1-b --quiet
gcloud compute instances delete vm02b --zone us-east1-b --quiet

 

gcloud projects list

gcloud projects delete project01-9999999 -q

gcloud beta billing projects unlink project01-9999999

 

 

 




以上の内容はhttps://htn20190109.hatenablog.com/entry/2024/11/22/170026より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14