チュートリアル: Azure グローバル Load Balancer を作成する
[アーティクル] 02/27/2025
9 人の共同作成者
フィードバック
この記事の内容
グローバル ロード バランサーを使用すると、サービスが複数の Azure リージョンにわたってグローバルに利用可能になります。 1 つのリージョンで障害が発生した場合、トラフィックは次の最も近い正常なリージョンのロード バランサーにルーティングされます。
このチュートリアルでは、次の作業を行う方法について説明します。
グローバル ロード バランサーを作成します。
2 つのリージョン ロード バランサーを含むバックエンド プールを作成します。
ロード バランサー規則を作成します。
ロード バランサーをテストします。
このチュートリアルを完了するには、Azure portal、Azure CLI、または Azure PowerShell を使用できます。
前提条件
Azure サブスクリプション。 Azure サブスクリプションがない場合は、開始する前に無料アカウント を作成してください。
2 つの異なる Azure リージョンにデプロイされたバックエンド プールを備えた 2 つの Standard SKU Azure ロード バランサー。
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 をローカルで実行する場合は、az login
でサインインして Azure との接続を作成する必要があります。
Azure サブスクリプション。 Azure サブスクリプションがない場合は、開始する前に無料アカウント を作成してください。
2 つの異なる Azure リージョンにデプロイされたバックエンド プールを備えた 2 つの Standard SKU Azure ロード バランサー。
ローカルにインストールされた Azure PowerShell または Azure Cloud Shell。
PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az
を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストール に関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount
を実行して Azure との接続を作成することも必要です。
グローバル ロード バランサーの作成
このセクションでは、パブリック IP、フロントエンド IP 構成、リージョン ロード バランサーが追加されたバックエンド プール、ロード バランサー規則を使用してグローバル ロード バランサーを作成します。
ロード バランサー リソースとその他のリソースを作成する
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「ロード バランサー 」と入力します。 検索結果で [ロード バランサー] を選択します。
[ロード バランサー] ページで、 [作成] を選択します。
[ロード バランサーの作成] ページの [基本] タブで、次の情報を入力または選択します。
設定
値
プロジェクトの詳細
サブスクリプション
サブスクリプションを選択します。
Resource group
[新規作成] を選択し、テキスト ボックスに「CreateCRLBTutorial-rg 」と入力します。
インスタンスの詳細
Name
「myLoadBalancer-cr 」と入力します
リージョン
[(米国) 米国東部] を選択します。
Type
[パブリック] を選択します。
SKU
規定値である [標準] のままにします。
レベル
[グローバル] を選択します
ページ下部にある [次へ: フロントエンド IP の構成] を選択します。
[フロントエンド IP 構成] で、 [+ フロントエンド IP の追加] を選択します。
[フロントエンド IP アドレスの追加] で [名前] に「LoadBalancerFrontend 」と入力します。
[IP バージョン] には [IPv4] または [IPv6] を選択します。
[パブリック IP アドレス] で、 [新規作成] を選択します。
[名前] に「myPublicIP-cr 」と入力します。 [パブリック IP の追加] ダイアログボックスで [保存] を選択します。
[保存] を選択します。
ページ下部で [次へ: バックエンド プール] を選択します。
[バックエンド プール] で、 [+ バックエンド プールの追加] を選択します。
[バックエンド プールの追加] の [名前] に「myBackendPool-cr 」と入力します。
ロード バランサー で、ロード バランサー のプルダウン ボックスから myLoadBalancer-r1 または最初のリージョン ロード バランサーを選択します。
[フロントエンド IP 構成] と [IP アドレス] が myLoadBalancer-r1 に対応していることを確認します。
[ロード バランサー] のプルダウン ボックスで、 [myLoadBalancer-r2] または 2 番目のリージョン ロード バランサーを選択します。
[フロントエンド IP 構成] と [IP アドレス] が myLoadBalancer-r2 に対応していることを確認します。
[追加] を選択します。
ページ下部にある [次へ: インバウンド規則] を選択します。
[インバウンド規則] で、 [+ 負荷分散規則の追加] を選択します。
[負荷分散規則の追加] で、次の情報を入力または選択します。
設定
値
Name
「myHTTPRule-cr 」と入力します。
IP バージョン
[IP バージョン] には [IPv4] または [IPv6] を選択します。
フロントエンド IP アドレス
[LoadBalancerFrontend] を選択します。
Protocol
[TCP] を選択します。
Port
「80 」と入力します。
バックエンド プール
[myBackendPool-cr] を選択します。
セッション永続化
[なし] を選択します。
アイドル タイムアウト (分)
「15 」と入力するか、スライダーをその値まで移動します。
TCP リセット
[Enabled] を選択します。
フローティング IP
既定値の [無効] のままにします。
[追加] を選択します。
ページ下部にある [確認と作成] を選択します。
[確認と作成] タブの [作成] を選択します。
Note
リージョン間のロード バランサーのデプロイは、Azure の特定のホーム リージョンに一覧表示されます。 現在の一覧については、リージョン間ロード バランサーの「Azure のホーム リージョン 」を参照してください。
リソース グループを作成する
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 つのリージョン ロード バランサーのフロントエンドのリソース 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
リソース グループを作成する
Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
New-AzResourceGroup を使用して Azure リソース グループを作成します。
$rg = @{
Name = 'MyResourceGroupLB-CR'
Location = 'westus'
}
New-AzResourceGroup @rg
グローバル ロード バランサー リソースの作成
このセクションでは、グローバル ロード バランサーに必要なリソースを作成します。
グローバル Standard SKU パブリック IP は、グローバル ロード バランサーのフロントエンドに使用されます。
`## Create global IP address for load balancer ##
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'MyResourceGroupLB-CR'
Location = 'westus'
Sku = 'Standard'
Tier = 'Global'
AllocationMethod = 'Static'
}
$publicIP = New-AzPublicIpAddress @ip
## Create frontend configuration ##
$fe = @{
Name = 'myFrontEnd-CR'
PublicIpAddress = $publicIP
}
$feip = New-AzLoadBalancerFrontendIpConfig @fe
## Create backend address pool ##
$be = @{
Name = 'myBackEndPool-CR'
}
$bepool = New-AzLoadBalancerBackendAddressPoolConfig @be
## Create the load balancer rule ##
$rul = @{
Name = 'myHTTPRule-CR'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
}
$rule = New-AzLoadBalancerRuleConfig @rul
## Create global load balancer resource ##
$lbp = @{
ResourceGroupName = 'myResourceGroupLB-CR'
Name = 'myLoadBalancer-CR'
Location = 'westus'
Sku = 'Standard'
Tier = 'Global'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
LoadBalancingRule = $rule
}
$lb = New-AzLoadBalancer @lbp`
このセクションでは、グローバル ロード バランサーのバックエンド プールに 2 つのリージョン Standard ロード バランサーを追加します。
## Place the region one load balancer configuration in a variable ##
$region1 = @{
Name = 'myLoadBalancer-R1'
ResourceGroupName = 'CreatePubLBQS-rg-r1'
}
$R1 = Get-AzLoadBalancer @region1
## Place the region two load balancer configuration in a variable ##
$region2 = @{
Name = 'myLoadBalancer-R2'
ResourceGroupName = 'CreatePubLBQS-rg-r2'
}
$R2 = Get-AzLoadBalancer @region2
## Place the region one load balancer frontend configuration in a variable ##
$region1fe = @{
Name = 'MyFrontEnd-R1'
LoadBalancer = $R1
}
$R1FE = Get-AzLoadBalancerFrontendIpConfig @region1fe
## Place the region two load balancer frontend configuration in a variable ##
$region2fe = @{
Name = 'MyFrontEnd-R2'
LoadBalancer = $R2
}
$R2FE = Get-AzLoadBalancerFrontendIpConfig @region2fe
## Create the global backend address pool configuration for region 1 ##
$region1ap = @{
Name = 'MyBackendPoolConfig-R1'
LoadBalancerFrontendIPConfigurationId = $R1FE.Id
}
$beaddressconfigR1 = New-AzLoadBalancerBackendAddressConfig @region1ap
## Create the global backend address pool configuration for region 2 ##
$region2ap = @{
Name = 'MyBackendPoolConfig-R2'
LoadBalancerFrontendIPConfigurationId = $R2FE.Id
}
$beaddressconfigR2 = New-AzLoadBalancerBackendAddressConfig @region2ap
## Apply the backend address pool configuration for the global load balancer ##
$bepoolcr = @{
ResourceGroupName = 'myResourceGroupLB-CR'
LoadBalancerName = 'myLoadBalancer-CR'
Name = 'myBackEndPool-CR'
LoadBalancerBackendAddress = $beaddressconfigR1,$beaddressconfigR2
}
Set-AzLoadBalancerBackendAddressPool @bepoolcr
ロード バランサーをテストする
このセクションでは、グローバル ロード バランサーをテストします。 Web ブラウザーで、パブリック IP アドレスに接続します。 いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止し、フェールオーバーを観察します。
[概要] 画面で、ロード バランサーのパブリック IP アドレスを見つけます。 左側のメニューで [すべてのサービス] 、[すべてのリソース] の順に選択し、[myPublicIP-cr] を選択します。
そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。 IIS Web サーバーの既定のページがブラウザーに表示されます。
いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止します。
Web ブラウザーを最新の状態に更新し、別のリージョン ロード バランサーへの接続のフェールオーバーを観察します。
このセクションでは、グローバル ロード バランサーをテストします。 Web ブラウザーで、パブリック IP アドレスに接続します。 いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止し、フェールオーバーを観察します。
ロード バランサーのパブリック IP アドレスを取得するには、az network public-ip show を使用します。
az network public-ip show \
--resource-group myResourceGroupLB-CR \
--name PublicIPmyLoadBalancer-CR \
--query ipAddress \
--output tsv
そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。 IIS Web サーバーの既定のページがブラウザーに表示されます。
いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止します。
Web ブラウザーを最新の状態に更新し、別のリージョン ロード バランサーへの接続のフェールオーバーを観察します。
このセクションでは、グローバル ロード バランサーをテストします。 Web ブラウザーで、パブリック IP アドレスに接続します。 いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止し、フェールオーバーを観察します。
Get-AzPublicIpAddress を使用して、ロード バランサーのパブリック IP アドレスを取得します。
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'myResourceGroupLB-CR'
}
Get-AzPublicIPAddress @ip | select IpAddress
そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。 IIS Web サーバーの既定のページがブラウザーに表示されます。
いずれかのリージョン ロード バランサーのバックエンド プールにある仮想マシンを停止します。
Web ブラウザーを最新の状態に更新し、別のリージョン ロード バランサーへの接続のフェールオーバーを観察します。
リソースをクリーンアップする
リソース グループ、ロード バランサー、および関連するすべてのリソースは、不要になったら削除します。
これを行うには、これらのリソースを含むリソース グループ (CreateCRLBTutorial-rg ) を選択し、 [削除] を選択します。
必要がなくなったら、az group delete コマンドを使用して、リソース グループ、ロード バランサー、およびすべての関連リソースを削除します。
az group delete \
--name myResourceGroupLB-CR
必要がなくなれば、Remove-AzResourceGroup コマンドを使用して、リソース グループやロード バランサー、その他のリソースを削除できます。
Remove-AzResourceGroup -Name 'myResourceGroupLB-CR'
次のステップ
このチュートリアルでは、次の作業を行いました。
グローバル ロード バランサーを作成しました。
グローバル ロード バランサーのバックエンド プールにリージョン ロード バランサーを追加しました。
負荷分散規則を作成しました。
ロード バランサーをテストしました。
グローバル ロード バランサーの詳細については、以下をご覧ください。