Qwiklabs の「GCP の基礎」を進めていきたいと思います。
ネットワーク ロードバランサと HTTP ロードバランサを設定する
概要
ネットワークロードバランサとHTTPロードバランサを設定する方法を学びます。
コマンド
複数のウェブサーバーインスタンスの作成
cat << EOF > startup.sh
#! /bin/bash
apt-get update
apt-get install -y nginx
service nginx start
sed -i -- 's/nginx/Google Cloud Platform - '"\$HOSTNAME"'/' /var/www/html/index.nginx-debian.html
EOF
すべての仮想マシンインスタンスで使用される起動スクリプトを作成します。
gcloud compute instance-templates create nginx-template --metadata-from-file startup-script=startup.sh
起動スクリプトを使用するインスタンステンプレートを作成します。
gcloud compute target-pools create nginx-pool
ターゲットプールを作成します。
gcloud compute instance-groups managed create nginx-group --base-instance-name nginx --size 2 --template nginx-template --target-pool nginx-pool
インスタンステンプレートを使用して、マネージドインスタンスグループを作成します。
gcloud compute instances list
コンピューティングエンジンインスタンスの一覧を表示します。
gcloud compute firewall-rules create www-firewall --allow tcp:80
ファイアウォールを構成し、外部IPアドレス経由でマシンのポート80に接続できるようにします。
http://外部IPアドレス
で各インスタンスに接続できます。
ネットワークロードバランサの作成
gcloud compute forwarding-rules create nginx-lb --region us-central1 --ports=80 --target-pool nginx-pool
ネットワークロードバランサを作成します。
gcloud compute forwarding-rules list
プロジェクト内のすべての Compute Engine 転送ルールを一覧表示します。
ブラウザでロードバランサのIPアドレスにアクセスします。
http://<ロードバランサのIPアドレス>
HTTPロードバランサの作成
gcloud compute http-health-checks create http-basic-check
ヘルスチェックを作成します。
gcloud compute instance-groups managed set-named-ports nginx-group --named-ports http:80
ポート名をインスタンスグループの該当するポートにマッピングします。
gcloud compute backend-services create nginx-backend --protocol HTTP --http-health-checks http-basic-check --global
バックエンドサービスを作成します。
gcloud compute backend-services add-backend nginx-backend --instance-group nginx-group --instance-group-zone us-central1-a --global
バックエンドサービスにインスタンスグループを追加します。
gcloud compute url-maps create web-map --default-service nginx-backend
デフォルトのURLマップを作成します。
gcloud compute target-http-proxies create http-lb-proxy --url-map web-map
自身のURLマップにリクエストを振り向けるターゲットHTTPプロキシを作成します。
gcloud compute forwarding-rules create http-content-rule --global --target-http-proxy http-lb-proxy --ports 80
受信リクエストを処理し、振り向ける、グローバルの転送ルールを作成します。
gcloud compute forwarding-rules list
転送ルールの http-content-rule の IPアドレスに接続します。
http://<http-content-ruleのIPアドレス>
まとめ
ネットワークロードバランサとHTTPロードバランサを設定する方法を学びました。
ネットワーク周りは難しいですね。
理解できないコマンドもあります。
ドキュメントを参照して、理解を深めていきましょう。
コメント