ラボ 06 - トラフィック管理を実装する
ラボ概要
このラボでは、パブリック ロード バランサーとアプリケーション ゲートウェイを構成してテストする方法について学習します。
このラボでは Azure サブスクリプションが必要です。 お使いのサブスクリプションの種類により、このラボの機能が使用できるかどうかに影響する可能性があります。 リージョンを変更できますが、手順は米国東部を使って作成されています。
推定時間:50 分
ラボのシナリオ
この組織にはパブリック Web サイトがあります。 着信したパブリック要求を、異なる仮想マシン間に負荷分散させる必要があります。 また、異なる仮想マシンから画像とビデオを提供する必要もあります。 Azure Load Balancer と Azure Application Gateway の実装を計画します。 すべてのリソースは同じリージョンにあります。
対話型ラボ シミュレーション
このトピックで役に立つ対話型ラボ シミュレーションがあります。 シミュレーションを使うと、同様のシナリオを自分のペースでクリックして進めることができます。 対話型シミュレーションとこのラボには違いがありますが、主要な概念の多くは同じです。 Azure サブスクリプションは必要ありません。
- Azure ロード バランサーを作成して構成します。 仮想ネットワーク、バックエンド サーバー、ロード バランサーを作成してから、ロード バランサーをテストします。
- Azure Application Gateway をデプロイします。 アプリケーション ゲートウェイを作成し、仮想マシンを作成し、バックエンド プールを作成して、ゲートウェイをテストします。
- トラフィック管理を実装します。 仮想マシン、仮想ネットワーク、ピアリング、ロード バランサー、アプリケーション ゲートウェイを含む、完全なハブ アンド スポーク ネットワークを実装します。
職務スキル
- タスク 1:テンプレートを使用してインフラストラクチャをプロビジョニングします。
- タスク 2:Azure Load Balancer を構成する。
- タスク 3:Azure Application Gateway を構成する。
タスク 1:テンプレートを使用してインフラストラクチャをプロビジョニングする
このタスクでは、テンプレートを使って、1 つの仮想ネットワーク、1 つのネットワーク セキュリティ グループ、2 つの仮想マシンをデプロイします。
-
\Allfiles\Lab06 ラボ ファイル (テンプレートとパラメーター) をダウンロードします。
-
Azure portal -
https://portal.azure.com
にサインインします。 -
Deploy a custom template
を検索して選択します。 -
[カスタム デプロイ] ページで、[エディターで独自のテンプレートを作成する] を選択します。
-
[テンプレートの編集] ページで、[ファイルの読み込み] を選択します。
-
\Allfiles\Lab06\az104-06-vms-template.json ファイルを見つけて選び、[開く] を選びます。
-
[保存] を選択します。
-
[パラメーターの編集] を選んで、\Allfiles\Lab06\az104-06-vms-parameters.json ファイルを読み込みます。
-
[保存] を選択します。
-
次の情報を使って、カスタム デプロイ ページのフィールドを設定します。他のフィールドはすべて既定値のままにします。
設定 値 サブスクリプション お使いの Azure サブスクリプション Resource group az104-rg6
(必要に応じて、[新規作成] を選択)Password セキュリティで保護されたパスワードを指定する 注:VM のサイズを使用できないというエラーが発生する場合は、お使いのサブスクリプションで利用できる、少なくとも 2 つのコアを備えた SKU を選びます。
-
[確認および作成] を選択し、次に [作成] を選択します。
注:デプロイが完了するまで待ってから、次のタスクに進んでください。 デプロイには約 5 分かかります。
注:デプロイされているリソースを確認してください。 3 つのサブネットを含む 1 つの仮想ネットワークがあります。 サブネットごとに仮想マシンがあります。
タスク 2:Azure Load Balancer を構成する
このタスクでは、仮想ネットワーク内の 2 つの Azure 仮想マシンの前面に Azure Load Balancer を実装します。 Azure のロード バランサーは、仮想マシンなどのリソース間にレイヤー 4 の接続を提供します。 Load Balancer の構成には、接続を受け入れるフロントエンド IP アドレス、バックエンド プール、接続がロード バランサーを通過する方法を定義する規則が含まれます。
アーキテクチャの図 - Load Balancer
注:Load Balancer が同じ仮想ネットワーク内の 2 台の仮想マシンに分散させていることに注意してください。
-
Azure portal で「
Load balancers
」を検索して選び、[ロード バランサー] ブレードで [+ 作成] をクリックします。 -
次の設定でロード バランサーを作成し (他の設定は既定値のままにします)、[次へ: フロントエンド IP 構成] をクリックします。
設定 値 サブスクリプション お使いの Azure サブスクリプション Resource group az104-rg6 名前 az104-lb
リージョン VM をデプロイしたのと同じリージョン SKU Standard Type Public 階層 Regional -
[フロントエンド IP 構成] タブで、 [フロントエンド IP 構成の追加] をクリックし、次の設定を使用します。
設定 値 名前 az104-fe
IP の種類 IP アドレス Azure Gateway Load Balancer なし パブリック IP アドレス [新規作成] を選びます (次のステップの手順を使います) -
[パブリック IP アドレスの追加] ポップアップで、次の設定を使用してから [OK] 、 [追加] の順にクリックします。 完了したら、 [Next : Backend pools] (次へ: バックエンド プール) をクリックします。
設定 値 名前 az104-lbpip
SKU Standard レベル 地域 割り当て 静的 ルーティングの優先順位 Microsoft ネットワーク 注: Standard SKU では静的 IP アドレスが提供されます。 静的 IP アドレスは、リソースの作成時に割り当てられて、リソースの削除時に解放されます。
-
[バックエンド プール] タブで、次の設定を使って [バックエンド プールの追加] をクリックします (その他は既定値のままにします)。 [+ 追加] を (2 回) クリックしてから、[次へ: インバウンド規則] をクリックします。
設定 値 名前 az104-be
仮想ネットワーク az104-06-vnet1 バックエンド プールの構成 NIC [追加] をクリックして仮想マシンを追加します az104-06-vm0 チェックボックスをオンにします az104-06-vm1 チェックボックスをオンにします -
時間があれば、他のタブも確認してから、[確認と作成] をクリックします。 検証エラーがないことを確認し、 [作成] をクリックします。
-
ロード バランサーがデプロイされるまで待ってから、 [リソースに移動] をクリックします。
着信トラフィックの分散方法を決定する規則を追加する
-
[設定] ブレードで、[負荷分散規則] を選びます。
-
[+ 追加] を選択します。 次の設定で負荷分散規則を追加します (その他は既定値のままにします)。 規則を構成するときは、情報アイコンを使って各設定について確認します。 終わったら、[保存] をクリックします。
設定 値 名前 az104-lbrule
IP バージョン IPv4 フロントエンド IP アドレス az104-fe バックエンド プール az104-be Protocol TCP ポート 80
バックエンド ポート 80
正常性プローブ 新規作成 名前 az104-hp
Protocol TCP ポート 80
Interval 5
正常性プローブの作成ウィンドウを閉じます および セッション永続化 なし アイドル タイムアウト (分) 4
TCP リセット Disabled フローティング IP 無効 アウトバウンド送信元ネットワーク アドレス変換 (SNAT) 推奨 -
Load Balancer のページで [フロントエンド IP 構成] を選びます。 パブリック IP アドレスをコピーします。
-
別のブラウザー タブを開き、その IP アドレスに移動します。 ブラウザー ウィンドウに、”Hello World from az104-06-vm0” または “Hello World from az104-06-vm1” というメッセージが表示されることを確認します。
-
ウィンドウを更新して、メッセージが他の仮想マシンに変更されることを確認します。 これは、ロード バランサーが仮想マシンを交代させていることを示しています。
注: 複数回更新するか、InPrivate モードで新しいブラウザー ウィンドウを開く必要がある場合があります。
タスク 3:Azure Application Gateway を構成する
このタスクでは、2 台の Azure 仮想マシンの前面に Azure Application Gateway を実装します。 Application Gateway では、レイヤー 7 の負荷分散、Web Application Firewall (WAF)、SSL 終端、バックエンド プールで定義されているリソースへのエンド ツー エンドの暗号化が提供されます。 このアプリケーション ゲートウェイは、画像を 1 つの仮想マシンにルーティングし、ビデオをもう 1 つの仮想マシンにルーティングします。
アーキテクチャの図 - Application Gateway
注:このアプリケーション ゲートウェイは、ロード バランサーと同じ仮想ネットワークで動作しています。 これは、運用環境では一般的ではないことがあります。
-
Azure portal で、
Virtual networks
を検索して選びます。 -
[仮想ネットワーク] ブレードの仮想ネットワークの一覧で、[az104-06-vnet1] をクリックします。
-
[az104-06-vnet1] 仮想ネットワーク ブレードの [設定] セクションで、[サブネット] をクリックしてから、[+ サブネット] をクリックします。
-
次の設定でサブネットを追加します (他の設定は既定値のままにします)。
設定 値 名前 subnet-appgw
開始アドレス 10.60.3.224
サイズ /27
-
[保存]
注:このサブネットは、Azure アプリケーション ゲートウェイによって使われます。 Application Gateway には、/27 以上のサイズの専用サブネットが必要です。
-
Azure portal で「
Application gateways
」を検索して選び、[アプリケーション ゲートウェイ] ブレードで [+ 作成] をクリックします。 -
[基本] タブで、次の設定を指定します (他の設定は既定値のままにしておきます)。
設定 値 サブスクリプション お使いの Azure サブスクリプション Resource group az104-rg6
アプリケーション ゲートウェイ名 az104-appgw
リージョン タスク 1 で使ったのと同じ Azure リージョン レベル 標準 V2 自動スケーリングを有効にする いいえ 最小インスタンス数 2
可用性ゾーン 1 (既定値) HTTP2 Disabled 仮想ネットワーク az104-06-vnet1 Subnet subnet-appgw (10.60.3.224/27) -
[次へ: フロントエンド >] をクリックし、次の設定を指定します (その他は既定値のままにします)。 設定が完了したら [OK] をクリックします。
設定 値 フロントエンド IP アドレス タイプ Public パブリック IP アドレス [新規追加] 名前 az104-gwpip
可用性ゾーン 1 注: Application Gateway は、パブリックとプライベート両方の IP アドレスを持つことができます。
-
ページの下部の [次へ: バックエンド >] をクリックし、[バックエンド プールの追加] をクリックします。 次の設定を指定します (他の設定は既定値のままにしておきます)。 完了したら、 [追加] をクリックします。
設定 値 名前 az104-appgwbe
Add backend pool without targets いいえ 仮想マシン az104-06-nic1 (10.60.1.4) 仮想マシン az104-06-nic2 (10.60.2.4) -
[バックエンド プールの追加] をクリックします。 これは、画像のためのバックエンド プールです。 次の設定を指定します (他の設定は既定値のままにしておきます)。 完了したら、 [追加] をクリックします。
設定 値 名前 az104-imagebe
Add backend pool without targets いいえ 仮想マシン az104-06-nic1 (10.60.1.4) -
[バックエンド プールの追加] をクリックします。 これは、ビデオのためのバックエンド プールです。 次の設定を指定します (他の設定は既定値のままにしておきます)。 完了したら、 [追加] をクリックします。
設定 値 名前 az104-videobe
Add backend pool without targets いいえ 仮想マシン az104-06-nic2 (10.60.2.4) -
[次へ: 構成 >] を選択してから、[ルーティング規則の追加] を選択します。 情報を設定します。
設定 値 規則の名前 az104-gwrule
優先順位 10
リスナー名 az104-listener
フロントエンド IP パブリック IPv4 Protocol HTTP ポート 80
リスナーの種類 Basic -
[バックエンド ターゲット] タブに移動します。基本情報を入力した後、[追加] を選びます。
設定 Value バックエンド ターゲット az104-appgwbe
バックエンド設定 az104-http
(新規作成)注: 時間を取って、[Cookie ベースのアフィニティ] と [接続のドレイン] に関する情報を読んでください。
-
[パスベースのルーティング] セクションで、[パスベースの規則を作成する複数のターゲットを追加します] を選択します。 2 つの規則を作ります。 最初のルールの後にある [追加] をクリックし、2 番目のルールの後にある [追加] をクリックします。
規則 - 画像バックエンドへのルーティング
設定 Value Path /image/*
ターゲット名 images
バックエンド設定 az104-http バックエンド ターゲット az104-imagebe
規則 - ビデオ バックエンドへのルーティング
設定 Value Path /video/*
ターゲット名 videos
バックエンド設定 az104-http バックエンド ターゲット az104-videobe
-
必ず保存して変更を確認してから、[次へ: タグ >] を選択できます。 変更は不要です。
-
[次へ: 確認と作成 >]、[作成] の順にクリックします。
注:Application Gateway インスタンスが作成されるのを待ちます。 これには約 5 から 10 分かかります。 待っている間に、このページの最後にあるマイペースで進められるトレーニングのリンクをいくつか確認することを検討してください。
-
Application Gateway がデプロイされたら、az104-appgw を検索して選びます。
-
Application Gateway リソースの [監視] セクションで、[バックエンド正常性] を選びます。
-
バックエンド プールの両方のサーバーが [正常] と表示されていることを確認します。
-
[概要] ブレードで、[フロントエンド パブリック IP アドレス] の値をコピーします。
-
別のブラウザー ウィンドウを開始して、URL
http://<frontend ip address>/image/
をテストします。 -
画像サーバー (vm1) に転送されることを確認します。
-
別のブラウザー ウィンドウを開始して、URL
http://<frontend ip address>/video/
をテストします。 -
ビデオ サーバー (vm2) に転送されることを確認します。
注: 複数回更新するか、InPrivate モードで新しいブラウザー ウィンドウを開く必要がある場合があります。
リソースのクリーンアップ
自分のサブスクリプションで作業している場合は、お手数ですが、ラボ リソースを削除してください。 これにより、リソースが確実に解放されるため、コストが最小限に抑えられます。 ラボ リソースを削除する最も簡単な方法は、ラボ リソース グループを削除することです。
- Azure portal で、リソース グループを選び、[リソース グループの削除]、[リソース グループ名を入力してください] の順に選び、[削除] をクリックします。
- Azure PowerShell を使用する場合は、「
Remove-AzResourceGroup -Name resourceGroupName
」と入力します。 - CLI を使用する場合は、「
az group delete --name resourceGroupName
」と入力します。
Copilot を使用して学習を拡張する
Copilot は、Azure スクリプト ツールの使用方法を学習するのに役立ちます。 Copilot は、ラボでは対象外の、またはさらに詳しい情報が必要な領域でも役立ちます。 Edge ブラウザーを開き、Copilot (右上) を選択するか、copilot.microsoft.com に移動します。 次のプロンプトを試すには数分かかります。
- Azure Load Balancer と Azure Application Gateway の類似点と相違点を説明してください。 各製品を使用すべきシナリオを決めるサポートをしてください。
- Azure Load Balancer への接続のトラブルシューティングに使用できるツールは何ですか?
- Azure Application Gateway を構成するための基本的な手順は何ですか? 大まかなチェックリストを提供してください。
- Azure 負荷分散ソリューションを際立たせた表を作成してください。 各ソリューションについて、サポートされているプロトコル、ルーティング ポリシー、セッション アフィニティ、TLS オフロードを示してください。
自習トレーニングでさらに学習する
- Azure Load Balancer を使用してアプリケーションのスケーラビリティと回復性を向上させる。 Azure のさまざまなロード バランサーと、ご自身の要件を満たすために適切な Azure Load Balancer ソリューションを選択する方法について説明します。
- Application Gateway で Web サービスのトラフィックを負荷分散する。 複数のサーバーに負荷を分散し、パスベースのルーティングを使って Web トラフィックを転送することにより、アプリケーションの回復性を向上させます。
要点
以上でラボは完了です。 このラボの重要なポイントを次に示します。
- Azure Load Balancer は、トランスポート層 (OSI 階層 4 - TCP と UDP) で複数の仮想マシンにネットワーク トラフィックを分散させるための優れた選択肢です。
- パブリック ロード バランサーは、インターネット トラフィックを VM に負荷分散する目的で使用されます。 内部 (プライベート) ロード バランサー は、フロントエンドのみでプライベート IP が必要な場合に使用されます。
- Basic Load Balancer は、高可用性や冗長性を必要としない小規模なアプリケーション向けです。 Standard Load Balancer は、ハイ パフォーマンスで超低遅延のためのものです。
- Azure Application Gateway は、Web アプリケーションに対するトラフィックを管理できる Web トラフィック (OSI レイヤー 7) ロード バランサーです。
- Application Gateway の Standard レベルでは、負荷分散を含むすべての L7 機能が提供されます。WAF 層では、悪意のあるトラフィックを調べるためのファイアウォールが追加されます。
- Application Gateway は、URI パスやホスト ヘッダーなど、HTTP 要求の追加属性に基づいて、ルーティングの決定を行うことができます。