Share via


チュートリアル: Azure CLI を使用してゲートウェイ ロード バランサーを作成する

Azure Load Balancer は、Standard、Basic、および Gateway SKU で構成されます。 Azure Gateway Load Balancer は、ネットワーク仮想アプライアンス (NVA) の透過的な挿入に使用されます。 ハイ パフォーマンスと NVA の高いスケーラビリティを必要とするシナリオには、Azure Gateway Load Balancer を使用します。

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

  • 仮想ネットワークを作成します。
  • ネットワーク セキュリティ グループを作成します。
  • ゲートウェイ ロード バランサーを作成します。
  • ロード バランサー フロントエンドをゲートウェイ ロード バランサーにチェーンします。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • このチュートリアルには、Azure CLI のバージョン 2.0.28 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

  • アクティブなサブスクリプションを持つ Azure アカウント - アカウントを無料で作成する

  • 既存のパブリック Standard SKU Azure Load Balancer。 ロード バランサーの作成の詳細については、 Azure CLI を使用したパブリック ロード バランサーの作成 に関する記事を参照してください。

    • このチュートリアルの目的のため、例の既存のロード バランサーの名前は myLoadBalancer です。

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

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

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

  az group create \
    --name TutorGwLB-rg \
    --location eastus

仮想ネットワークを構成する

ゲートウェイ ロード バランサーのバックエンド プールにあるリソースには、仮想ネットワークが必要です。

Create virtual network

az network vnet create を使用して、仮想ネットワークを作成します。

  az network vnet create \
    --resource-group TutorGwLB-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

bastion パブリック IP アドレスを作成する

az network public-ip create を使用して、Azure Bastion ホストのパブリック IP アドレスを作成します

az network public-ip create \
    --resource-group TutorGwLB-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

bastion サブネットを作成する

az network vnet subnet create を使用して、bastion サブネットを作成します。

az network vnet subnet create \
    --resource-group TutorGwLB-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

bastion ホストを作成する

az network bastion create を使用して、仮想ネットワーク内のリソースを安全に管理するための bastion ホストをデプロイします。

az network bastion create \
    --resource-group TutorGwLB-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Azure Bastion ホストがデプロイされるまでに数分かかる場合があります。

重要

時間単位の料金は、送信データの使用量に関係なく、Bastion がデプロイされた時点から発生します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後に該当のリソースを削除することをお勧めします。

NSG を構成する

次の例を使用して、ネットワーク セキュリティ グループを作成します。 前に作成した仮想ネットワーク内のネットワーク トラフィックに、必要な NSG ルールを構成します。

Create NSG

az network nsg create を使用して、NSG を作成します。

  az network nsg create \
    --resource-group TutorGwLB-rg \
    --name myNSG

NSG ルールを作成する

az network nsg rule create を使用して、その NSG に規則を追加します。

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll-TCP-Out \
    --protocol 'TCP' \
    --direction outbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

Azure Gateway Load Balancer を構成する

このセクションでは、構成を作成し、ゲートウェイ ロード バランサーをデプロイします。

Azure Gateway Load Balancer を作成する

az network lb create を使用して、ロード バランサーを作成します。

  az network lb create \
    --resource-group TutorGwLB-rg \
    --name myLoadBalancer-gw \
    --sku Gateway \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackendPool \
    --frontend-ip-name myFrontEnd

トンネル インターフェイスを作成する

--identifier900--port10800 に設定した Azure CLI で、内部インターフェイスが自動的に作成されます。

az network lb address-pool tunnel-interface add を使用して、ロード バランサーの外部トンネル インターフェイスを作成します。

  az network lb address-pool tunnel-interface add \
    --address-pool myBackEndPool \
    --identifier '901' \
    --lb-name myLoadBalancer-gw \
    --protocol VXLAN \
    --resource-group TutorGwLB-rg \
    --type External \
    --port '10801'

正常性プローブの作成

ロード バランサー内のバックエンド インスタンスの正常性を監視するには、正常性プローブが必要です。 az network lb probe create を使用して、正常性プローブを作成します。

  az network lb probe create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myHealthProbe \
    --protocol http \
    --port 80 \
    --path '/' \
    --interval '5' \
    --threshold '2'
    

負荷分散規則を作成する

バックエンド インスタンス宛てのトラフィックは、負荷分散規則を使用してルーティングされます。 az network lb rule create を使用して、ロード バランサー規則を追加します。

  az network lb rule create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myLBRule \
    --protocol All \
    --frontend-port 0 \
    --backend-port 0 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe

ネットワーク仮想アプライアンスをバックエンド プールの Azure Gateway Load Balancer に追加する

Azure Marketplace を介して NVA をデプロイします。 デプロイ後は、az network nic ip-config address-pool add を使用して、次のように仮想マシンをバックエンド プールに追加します。

ロード バランサー フロントエンドを Azure Gateway Load Balancer にチェーンします。

この例では、Standard ロード バランサーのフロントエンドをゲートウェイ ロード バランサーにチェーンします。

サブスクリプション内の既存のロード バランサーのフロントエンド IP に、フロントエンドを追加します。

az network lb frontend-ip show を使用して、ゲートウェイ ロード バランサー フロントエンドのリソース ID を変数に配置します。

az network lb frontend-ip update を使用して、ゲートウェイ ロード バランサー フロントエンドを既存のロード バランサーにチェーンします。

  feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)

  az network lb frontend-ip update \
    --resource-group CreatePubLBQS-rg \
    --name myFrontendIP \
    --lb-name myLoadBalancer \
    --public-ip-address myPublicIP \
    --gateway-lb $feid

仮想マシンをゲートウェイ ロード バランサーにチェーンする

別の方法として、VM の NIC IP 構成をゲートウェイ ロード バランサーにチェーンすることもできます。

ゲートウェイ ロード バランサーのフロントエンドを既存 VM の NIC IP 構成に追加します。

az network lb frontend-ip show を使用して、ゲートウェイ ロード バランサー フロントエンドのリソース ID を変数に配置します。

az network lb frontend-ip update を使用して、ゲートウェイ ロード バランサーのフロントエンドを既存 VM の NIC IP 構成にチェーンします。

 feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)
    
  az network nic ip-config update \
    --resource-group MyResourceGroup
    --nic-name MyNIC 
    --name MyIPconfig 
    --gateway-lb $feid

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

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

  az group delete \
    --name TutorGwLB-rg

次のステップ

Azure でネットワーク仮想アプライアンスを作成します。

NVA を作成する場合は、このチュートリアルで作成したリソースを選択します。

  • 仮想ネットワーク

  • Subnet

  • ネットワーク セキュリティ グループ

  • Azure Gateway Load Balancer

次の記事に進んで、リージョン間 Azure Load Balancer の作成方法を学習してください。