はじめに
Webアプリを運用するうえで結構な割合でリバースプロキシが必要になることがあると思います。そこで今回は、Azureのサービスの一つであるApplication GatewayでARRを構築する方法についてのお話です。
Application Gatewayについて
Application Gatewayは、マネージドなARRを提供してくれるサービスです。
オンプレミスのARRと比べると細かい部分の設定ができないなどの問題がありますが、URLリライトなどを行うためだけにWindows Serverをわざわざ立てるといったことをするのに比べると込み入ったことをしなければ非常に便利なサービスです。
Application Gatewayを構築する
早速Application Gatewayを構築していきましょう。
基本的な機能はすべてポータルから構築できるので今回は、ポータルから構築します。
インスタンスを構築する
とりあえずポータルからインスタンスを立ち上げましょう。
ポータルでApplicationで検索すると下図のようにApplication Gatewayが出てくるので選択します。
選択すると、いろいろと情報を入れる画面が出るので下図のように適当に入力します。
Tierの部分がStandardとWAFとあります。
WAFを選択すると要するにWAFが入ります。
今回は、Standardを選択します。
次にApplication Gatewayの細かい設定です。
VNETの設定とパブリックIPアドレスを作成して設定します。また、リスナー構成でHTTPかHTTPSを選択できます。
HTTPSを選択すると証明書のアップロードが必要なので、選択する場合は、事前に用意しておきましょう。
それぞれ設定したらOKを選択して作成します。
Application Gatewayは、立ち上がりに非常に時間がかかるので気長に待ちましょう。
作成が完了すると下記のような奴が出来上がります。
Application Gatewayは、2016年10月16日現在作成時に検索して出てくるアイコンは青色のアイコンですが構築後にリソースグループの一覧などで出てくるアイコンが異なる(構築後は、緑色)ので注意しましょう。
入り口の設定をする
Application Gatewayが立ち上がったら、転送の設定を行います。
まずはじめに通信をリッスンする部分(リスナー)を設定します。これは、メニューのリスナーから下図のように設定します。
今回は、Basicの設定を選択します。
フロントエンドIP構成は、作成時に設定したIPがデフォルトで入ります。
ここで、どのIPのどのポートにどのプロトコルでリッスンするのかを定義します。
今回は、8080番にHTTPで通信を受け付けるようにします。
バックエンドプールを作成する
次に最終的にルーティングされる先(バックエンドプール)の設定を作成します。
これの設定は、メニューのバックエンドプールから設定します。
下図のような感じで、FQDNかIPアドレスを入力します。
これで、フロントエンドで受け付けた通信をリライトしてルーティングするルーティング先が定義されました。
あとは、これと先ほどのリスナーを紐づけます。
リスナーとバックエンドプールを紐づける
最後に先ほど作成したものを紐づけて実際に転送されるように設定します。
これは、メニューのルールから設定します。
下図のようにリスナーとバックエンドプールとHTTP設定を指定してOKを選択します。
これで、リスナーで受け付けた通信をバックエンドプールに流す設定が完了しました。
これでIPアドレスとポートの組み合わせでこのApplication Gatewayにアクセスして転送されれば成功です。
注意点
Application Gatewayで動いているARRは、ARR側の設定が悪いせいかWeb Appsへの転送がうまくできない問題があります。そのため、Web Appsへの接続は基本的に現状できない前提で考えてください。
また、設定を一か所変更するといったことでもほかのAzureのサービスと比べて更新に時間がかかるため、設定の更新を行う場合は、計画的に行いましょう。
まとめ
今回は、手軽にARRを構築する方法を紹介しました。URLリライトや、セキュリティ向上のためのWAFなど、わざわざWindows Serverの設定を頑張らなくても行えるのは、非常に便利です。
また、Application GatewayでできないWeb Appsへの転送などを行いたい場合は、Cloud Serviceを使って構築をしたりするといいかと思います。