Azure Application Gatewayのパスベース規則を使ったサーバー振分け設定
Azure Application Gateway(アプリケーションゲートウェイ)を使った、パスベースのルーティング規則によるWebサーバー振り分け設定の紹介です。
アプリケーションゲートウェイでは、WebアクセスのURLパスに応じて、振り分け先のサーバーを変更することができます。
特定のURLパスに来たアクセスを別のサーバーへ転送することも可能です。
今回は、2台のWebサーバーを使って、URLパスごとに転送先サーバーを変更する設定手順を確認しました。
2つのバックエンドプールを作成し、それぞれにWebサーバーを関連付けてます。
URLパスごとにパスベースの規則を作成、それぞれのバックエンドプールを関連付けしています。
※本記事内ではAzure Application Gatewayをアプリケーションゲートウェイと表記しています。
アプリケーションゲートウェイの概要や作成手順はこちらの記事で紹介しています。
アプリケーションゲートウェイでパスベースのルーティング規則を設定
パスベースのルーティング規則とは
WebアクセスがあったURLパスに応じて、トラフィックをルーティングするサーバーを指定する機能です。
トラフィック転送先のサーバーはバックエンドプールにより指定します。
ルーティング規則の設定の中に、パスベースの規則設定があります。
アクセスのURLパス、転送先バックエンドプール、バックエンド設定をパスベースのルーティング規則として設定します。
システム構成
1つのアプリケーションゲートウェイに2つの仮想マシンを利用してします。
アクセスのURLパスにより、転送するWebサーバーを変えています。
-
- http://203.0.113.1/vm01/
- backend-pool-vm-01(test-vm-01)
- http://203.0.113.1/vm02/
- backend-pool-vm-01(test-vm-02)
- http://203.0.113.1/vm01/
システム構成 | |
1つのアプリケーションゲートウェイに2台のWebサーバーという構成としています。 |
※Application Gateway V2のベーシック(SKU)を利用しています。
※Webサーバーは、Azure上の仮想マシン(Windows Server 2022)にIISをインストールして構成しています。
アプリケーションゲートウェイの設定内容
アプリケーションゲートウェイの主な設定内容です。
バックエンドプール、バックエンド設定、リスナーの設定内容です。
主な設定内容 | ||
バックエンドプール | backend-pool-vm-01 | test-vm-01(10.0.1.4) |
backend-pool-vm-02 | test-vm-02(10.0.1.5) | |
バックエンド設定 | backend-01 | HTTP(80) |
リスナー | listener-01 | HTTP(80) |
ルーティング規則(ルール)の設定内容です。
主な設定内容 | ||
ルーティング規則 (ルール) |
名前 | routing-rules-01 |
優先度 | 10 | |
リスナー | listener-01 | |
バックエンド ターゲット | backend-pool-vm-01 | |
バックエンド設定 | backend-01 | |
パスベースの規則 |
パス /vm01/*
ターゲット名 vm01
バックエンド設定名 backend-01
バックエンド プール backend-pool-vm-01
|
|
パス /vm02/*
ターゲット名 vm02
バックエンド設定名 backend-01
バックエンド プール backend-pool-vm-02
|
バックエンドプールを追加
Webサーバーのバックエンドプールを追加します。
追加するバックエンドプールは2つです。
test-vm-01をターゲットして指定するbackend-pool-vm-01と、test-vm-02をターゲットとして指定するbackend-pool-vm-02を追加します。
バックエンドプール設定 | |
バックエンドプールを追加します。 名前、ターゲットの種類、ターゲットを設定します。 |
|
※バックエンドプールはIPアドレスだけではなく、仮想マシン、仮想マシンスケールセット(VMSS)、App Serviceのリソースを指定できます。
バックエンド設定
バックエンド設定を追加します。
バックエンド設定を追加 | |
バックエンド設定を追加します。 ※追加設定は利用用途に合わせて適時設定します。 |
|
リスナーを追加
リスナーを追加します。
リスナーを追加 | |
リスナーを追加します。 |
|
※リスナーの種類はBasicとしています。利用用途に合わせて適時設定します。
ルーティング規則の追加
ルーティング規則を追加して、パスベースの規則を設定します。
パスベースの規則では、対象となるURLパス、ターゲットとなるバックエンドプールを指定します。
バックエンドの設定はパスベースの規則に該当しない場合に適用されます。
今回の設定の場合はhttp:://203.0.113.1/にアクセスした場合などに適用されます。
ルーティング規則の追加 | |
ルールのメニューでルーティング規則を地位化します。 ルール名、優先度、リスナーを設定します。 |
|
バックエンドのタブでバックエンドターゲットやバックエンド設定を指定します。 パスベースの規則もバックエンドのタブに設定があります。 “パスベースの規則を作成する荷には複数のターゲットを追加します"を選択し追加します。 |
|
—広告—
パスベースのルーティング規則によるWebサーバの振り分けを確認
Webサーバーの構成
Webサーバーのそれぞれのパスにサーバー名を表示するHTMLを配置しています。
WebサーバーにはIIS(Microsoft Internet Information Services)を利用しています。
Webサーバーの構成 | |
test-vm-01にはvm01というディレクトリを作成しています。 test-vm-02にはvm02というディレクトリを作成しています。 |
|
パスベースの規則によるWebサーバの振り分けを確認
3つのURLにWebブラウザでアクセスして
-
- http://203.0.113.1/vm01/
- test-vm-01(Webサーバー)が表示される
- http://203.0.113.1/vm02/
- test-vm-02(Webサーバー)が表示される
- http://203.0.113.1/
- test-vm-01(Webサーバー)が表示される
- http://203.0.113.1/vm01/
アクセス確認 | |
それぞれのURLへアクセスして確認します。 想定通りのWebサーバーのコンテンツが表示されています。 |
|
最後に
アプリケーションゲートウェイで、パスベースのルーティング規則を使ったWebサーバー振り分け設定を確認してみました。
URLパスごとに別のバックエンドプールへトラフィック転送できる事が確認できました。
管理者用URLだけ別のWebサーバへトラフィック転送する、画像コンテンツのパスだけ専用のWebサーバへ転送するといった事も可能そうです。
引き続き色々試してみたいと思います。
アプリケーションゲートウェイのバックエンド正常性確認方法や監視設定についてはこちらで紹介しています。