演習 - 環境を設定する

完了

この演習では、Load Balancer を使って事前構成された環境を設定し、Load Balancer の正常性を監視するグラフを作成します。

この演習は省略してもかまいません。 これを完了するには、Azure リソースを作成できる Azure サブスクリプションにアクセスする必要があります。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

環境をセットアップする

  1. Azure portal にサインインします。

  2. 右上のメニュー バーにある [Cloud Shell] を選択します。

  3. [Bash] を選択します。

  4. 次のコマンドを実行して、この演習で使うスクリプトをダウンロードします。

    git clone https://github.com/MicrosoftDocs/mslearn-troubleshoot-inbound-network-connectivity-azure-load-balancer load-balancer
    
  5. load-balancer/src/scripts フォルダーに移動します。

    cd ~/load-balancer/src/scripts
    
  6. 次のコマンドを実行して、VM のユーザー名を設定します。 ユーザー名は別のものに変更することができます。 ユーザー名はこの演習の後半で必要になるため、使った名前をメモしておきます。

    export USERNAME=azureuser
    
  7. 次のコマンドを実行して、スクリプトによって作成された仮想マシンのパスワードを作成します。 パスワードは変数に格納され、後で必要になったときのために、passwd.txt テキスト ファイルにも記録されます。

    export PASSWORD=$(openssl rand -base64 32)
    echo $PASSWORD > passwd.txt
    
  8. リソース グループ名を設定します。

    export RESOURCEGROUP=learn-ts-loadbalancer-rg
    
  9. 場所を設定します。 eastus の値を、お近くの場所に置き替えます。

    export LOCATION=eastus
    

    使用できる場所の値の一部を、次の一覧に示します。

    • westus2
    • southcentralus
    • centralus
    • eastus
    • westeurope
    • southeastasia
    • japaneast
    • brazilsouth
    • australiasoutheast
    • centralindia
  10. 次のコマンドを実行して、リソース グループを作成します。

    az group create --name $RESOURCEGROUP --location $LOCATION
    
  11. 次のコマンドを実行して、ロード バランサー、仮想マシン、仮想ネットワークを作成します。

    bash setup.sh $RESOURCEGROUP
    

    このスクリプトの実行には最大で 25 分かかります。

作成されたリソースを確認する

  1. Azure portal で [リソース グループ] を検索します。

  2. [learn-ts-loadbalancer-rg] を選択します。

  3. リソースの一覧を [種類] で並べ替えます。

  4. リソース グループには、次の表に示すリソースが含まれている必要があります。

    名前 タイプ 説明
    retailappvm1_disk1_xxxretailappvm1_disk2_xxx ディスク 2 台の VM 用の仮想ハード ディスク。
    retailapplb ロード バランサー VM で実行されているアプリのロード バランサー。 ロード バランサーのバックエンド プールで、retailappvm1 および retailappvm2 仮想マシンを参照します。
    nicvm1nicvm2 ネットワーク インターフェイス 2 台の VM のネットワーク インターフェイス。
    retailappnicvm1nsgretailappnicvm2nsg ネットワーク セキュリティ グループ (NSG) 各 VM に入るトラフィックを制御する NSG。
    retailappnsg ネットワーク セキュリティ グループ 両方の仮想マシンの初期フィルターとして機能しますが、各仮想マシンの NSG を使うと、マシンごとにトラフィックをフィルター処理できます。
    retailappip パブリック IP アドレス ロード バランサーへのフロントエンド アクセスを提供するパブリック IP アドレス。
    retailappvm1retailappvm2 仮想マシン 小売アプリケーションを実行している VM。
    retailappvmjumpbox 仮想マシン 仮想ネットワーク内にもあるが、パブリック IP アドレスを持つ VM。 管理者は、この仮想マシンにサインインして、プライベート IP アドレスだけを持つ retailappvm1retailappvm2 の各 VM にアクセスできます。
    retailappvnet 仮想ネットワーク VM の仮想ネットワーク。
  5. retailapplb ロード バランサーを選択します。

  6. [設定] で、[負荷分散規則] を選択します。

  7. [retailapprule] を選択します。 ロード バランサーは、フロントエンド アドレスのポート 80 で受信したトラフィックを、バックエンド プール内のコンピューターのポート 80 にルーティングするように構成されています。

  8. [retailapprule] ウィンドウを閉じます。

  9. [設定] の下で [正常性プローブ] を選択します。

  10. [retailapphealthprobe] を選択します。 バックエンド プールの正常性プローブでは、ポート 80 にメッセージを送信して、各仮想マシンでアプリケーションが使用可能であることを確認します。

  11. [retailapphealthprobe] ウィンドウを閉じます。

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

  1. Azure Cloud Shell に戻ります。

  2. 次のコマンドを実行して、ロード バランサー フロントエンドのパブリック IP アドレスを調べます。

    bash findip.sh
    
  3. ブラウザー ウィンドウを開き、この IP アドレスに移動します。 ロード バランサーによる要求のルーティング方法に応じて、結果はメッセージ retailappvm1 または retailappvm2 を含むページになります。

    Screenshot of the browser showing the response from the sample app running in Load Balancer.

  4. Cloud Shell で次のコマンドを実行して、src/stresstest フォルダーに移動します。

    cd ~/load-balancer/src/stresstest
    

    このフォルダーには、Load Balancer を通じて仮想マシンに要求を送信する数百の同時ユーザーをシミュレートする .NET Core アプリケーションが含まれています。

  5. 次のコマンドを実行して、アプリケーションを開始します。 <ip address> をロード バランサーのフロントエンド IP アドレスに置き換えます。

    dotnet run <ip address>
    

    アプリケーションの応答は、retailappvm1 または retailappvm2 から応答を受信したかどうかを示す一連のメッセージになります。

  6. アプリケーションが 5 分間実行されるようにします。 Enter キーを押してアプリケーションを停止します。

メトリックを監視するためのグラフを作成する

  1. Azure portal で、learn-ts-loadbalancer-rg リソース グループに移動します。

  2. retailapplb ロード バランサーを選択します。

  3. [監視][メトリック] を選びます。

  4. 次のメトリックを空のグラフに追加します。

    プロパティ
    スコープ retailapplb
    メトリック名前空間 Load Balancer 標準メトリック
    メトリック パケット数
    集計 Avg
  5. ページの上部で、時間の範囲を [過去 30 分間] に設定します。 グラフは次のようになります。 平均パケット数のピーク時の値に注意してください。

    Chart showing the average packet count while the load balancer is in a healthy state.

  6. [ダッシュボードにピン留めする] をオンにします。

  7. [新規作成] を選択し、次の値を入力します。

    フィールド
    Type プライベート
    ダッシュボード名 dashboard-learn-ts-loadbalancer
  8. [Create and pin](作成してピン留めする) を選択します。

  9. [新しいグラフ] を選択し、次のメトリックを追加します。

    プロパティ
    スコープ retailapplb
    メトリック名前空間 Load Balancer 標準メトリック
    メトリック 正常性プローブの状態
    集計 平均
  10. [メトリックの追加] を選択します。次の値を入力することで、別のメトリックをグラフに追加します。

    プロパティ
    スコープ retailapplb
    メトリック名前空間 Load Balancer 標準メトリック
    メトリック データパスの可用性
    集計 Avg
  11. 時間の範囲を [過去 30 分間] に設定します。 グラフでは、両方の統計情報が 100% と表示されるはずです。

  12. [ダッシュボードにピン留めする]>[既存] の順に選択します。

  13. ダッシュボードとして dashboard-learn-ts-loadbalancer を選択します。

  14. [Pin] (ピン留め) を選択します。

これで、システムが正常に動作しているときのメトリックのベースライン セットが作成されました。