Share via


チュートリアル: Azure CLI を使用してリージョン間 Azure ロード バランサーを作成する

リージョン間ロード バランサーを使うと、サービスが複数の Azure リージョンにわたってグローバルに利用可能になります。 1 つのリージョンで障害が発生した場合、トラフィックは次の最も近い正常なリージョンのロード バランサーにルーティングされます。

このチュートリアルでは、以下の内容を学習します。

  • リージョン間ロード バランサーを作成します。
  • ロード バランサー規則を作成します。
  • 2 つのリージョン ロード バランサーを含むバックエンド プールを作成します。
  • ロード バランサーをテストします。

Azure サブスクリプションがない場合は、開始する前に無料アカウントを作成してください。

前提条件

  • Azure サブスクリプション。
  • 2 つの異なる Azure リージョンにデプロイされたバックエンド プールを備えた 2 つの Standard SKU Azure ロード バランサー。
  • ローカルにインストールされた Azure CLI または Azure Cloud Shell。

CLI をローカルにインストールして使用する場合、このクイックスタートでは Azure CLI バージョン 2.0.28 以降が必要です。 バージョンを確認するには、az --version を実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールに関するページを参照してください。

Azure CLI へのサインイン

Azure CLI にサインインします。

az login

リソース変数を設定する


リージョン間ロード バランサーを作成する

このセクションでは、リージョン間ロード バランサー、パブリック IP アドレス、負荷分散ルールを作成します。

リソース グループを作成する

Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。

az group create を使用して、次のようにリソース グループを作成します。

  • 名前は myResourceGroupLB-CR にします。
  • 場所は westus にします。
  az group create \
    --name myResourceGroupLB-CR \
    --location westus

ロード バランサーのリソースを作成する

az network cross-region-lb create を使用して、リージョン間ロード バランサーを作成します。

  • 名前は myLoadBalancer-CR にします。
  • フロントエンド プールの名前は myFrontEnd-CR にします。
  • バックエンド プールの名前は myBackEndPool-CR にします。
  az network cross-region-lb create \
    --name myLoadBalancer-CR \
    --resource-group myResourceGroupLB-CR \
    --frontend-ip-name myFrontEnd-CR \
    --backend-pool-name myBackEndPool-CR     

ロード バランサー規則を作成する

ロード バランサー規則は、以下のものを定義します。

  • 着信トラフィック用のフロントエンド IP 構成。
  • トラフィックを受信するためのバックエンド IP プール。
  • 必要な発信元ポートと宛先ポート。

az network lb rule create を使用して、リージョン間ロード バランサー ルールを作成します。

  • 名前は myHTTPRule-CR にします。
  • フロントエンド プール myFrontEnd-CRポート 80 をリッスンします。
  • ポート 80 を使用して、負荷分散されたネットワーク トラフィックをバックエンド アドレス プール myBackEndPool-CR に送信します。
  • プロトコルは TCP にします。
  az network cross-region-lb rule create \
    --backend-port 80 \
    --frontend-port 80 \
    --lb-name myLoadBalancer-CR \
    --name myHTTPRule-CR \
    --protocol tcp \
    --resource-group myResourceGroupLB-CR \
    --backend-pool-name myBackEndPool-CR \
    --frontend-ip-name myFrontEnd-CR

バックエンド プールの作成

このセクションでは、リージョン間ロード バランサーのバックエンド プールに 2 つのリージョン Standard ロード バランサーを追加します。

重要

これらの手順を完了するには、2 つのリージョン ロード バランサーとバックエンド プールを自分のサブスクリプションにデプロイしておく必要があります。 詳細については、「 クイックスタート: Azure CLI を使用して VM の負荷を分散するパブリック ロード バランサーを作成する 」を参照してください。

ロード バランサーにリージョン フロントエンドを追加する

このセクションでは、2 つのリージョン間ロード バランサー フロントエンドのリソース ID を変数に代入します。 その後で、その変数を使ってリージョン間ロード バランサーのバックエンド アドレス プールにフロントエンドを追加します。

az network lb frontend-ip show を使用して、リソース ID を取得します。

az network cross-region-lb address-pool address add を使用して、変数に代入したフロントエンドをリージョン間ロード バランサーのバックエンド プールに追加します。

  region1id=$(az network lb frontend-ip show \
    --lb-name myLoadBalancer-R1 \
    --name myFrontEnd-R1 \
    --resource-group CreatePubLBQS-rg-r1 \
    --query id \
    --output tsv)

  az network cross-region-lb address-pool address add \
    --frontend-ip-address $region1id \
    --lb-name myLoadBalancer-CR \
    --name myFrontEnd-R1 \
    --pool-name myBackEndPool-CR \
    --resource-group myResourceGroupLB-CR

  region2id=$(az network lb frontend-ip show \
    --lb-name myLoadBalancer-R2 \
    --name myFrontEnd-R2 \
    --resource-group CreatePubLBQS-rg-r2 \
    --query id \
    --output tsv)
  
  az network cross-region-lb address-pool address add \
    --frontend-ip-address $region2id \
    --lb-name myLoadBalancer-CR \
    --name myFrontEnd-R2 \
    --pool-name myBackEndPool-CR \
    --resource-group myResourceGroupLB-CR

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

このセクションでは、リージョン間ロード バランサーをテストします。 Web ブラウザーで、パブリック IP アドレスに接続します。 いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止し、フェールオーバーを観察します。

  1. ロード バランサーのパブリック IP アドレスを取得するには、az network public-ip show を使用します。

      az network public-ip show \
        --resource-group myResourceGroupLB-CR \
        --name PublicIPmyLoadBalancer-CR \
        --query ipAddress \
        --output tsv
    
  2. そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。 IIS Web サーバーの既定のページがブラウザーに表示されます。

  3. いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止します。

  4. Web ブラウザーを最新の状態に更新し、別のリージョン ロード バランサーへの接続のフェールオーバーを観察します。

リソースをクリーンアップする

必要がなくなったら、az group delete コマンドを使用して、リソース グループ、ロード バランサー、およびすべての関連リソースを削除します。

  az group delete \
    --name myResourceGroupLB-CR

次のステップ

このチュートリアルでは、次の作業を行いました。

  • リージョン間ロード バランサーを作成しました。
  • 負荷分散規則を作成しました。
  • リージョン間ロード バランサーのバックエンド プールにリージョン ロード バランサーを追加しました。
  • ロード バランサーをテストしました。

次の記事に進み、以下の方法を学習してください。