Azure

Azure Load Balancerと Azure Application Gateway のアクセスログを比較してみる

はじめに

くどうです。

Azureにはアクセスを負荷分散する方法として、Load BalancerとApplication Gatewayが用意されています。
しかし、それぞれレイヤー4とレイヤー7で挙動が異なりHTTPdへのアクセスログが異なります。
そこで、今回はアクセスログについて比較していきたいと思います。

用意した環境はCentOS上にApacheをデフォルトの状態(yum install httpd)したものです。

Load Balancer

実際にログを確認してみます。

Load Balancerからの死活監視(プローブ)は「Load Balancer Agent」と表示されます。
通常の外部からのアクセスもIPアドレスなども問題なく表示されています。

ただし、Load Balancerからの死活監視のログが邪魔ですね。
/etc/httpd/conf/httpd.conf を以下のように設定し排除します。

これで出力されなくなります。

Application Gateway

実際にログを確認してみます。

アクセス元は、すべてApplication Gatewayの内部アドレスになっていることが分かります。
これでは、アクセスログの解析には役立ちません。

これを解決する方法として、X-Forwarded-ForとX-Forwarded-Protoをログに残します。
これはAWS ELBとも同じです。

/etc/httpd/conf/httpd.conf を編集しています。

実際にログを確認してみます。

末尾の方でX-Forwarded-ForとX-Forwarded-Protoが取得できていることが確認できます。
これで問題なく解析が行えるかと思います。

まとめ

アクセスを負荷分散するLoad BalancerとApplication Gatewayですが、それぞれ出力されるアクセスログも異なるため気を付けましょう。
また、対処する方法も異なるので気を付けましょう。これらはAzureに限ったことではありません。
X-Forwarded-ForとX-Forwarded-Protoが利用されるケースが多いので覚えておくとよいと思います。

ではでは

Related post

  1. Azure

    AzureでもSecurityは充実している。

    はじめにくどうですそろそろAzureでもセキュリティのお話…

  2. Azure

    Channel9で公開されてた。第1回 Tokyo Jazug Night!

    Tokyo Jazug Nightくどうです。第1回 …

  3. Azure

    Active DirectoryをASMからARMに移行する方法を考える。

    はじめにくどうです。何かと仮想マシンでActive Dir…

  4. Azure

    Azure Cloud Shell のユーザーを確認してみる。それでもrootが欲しい。

    rootにはなれません。アカウントのパスワードを入力しても無駄でし…

  5. Azure

    Azure Application Gateway で Let’s Encrypt も使えます。Le…

    はじめにくどうです4/12にLet’s EncryptがG…

  6. Azure

    Windowsの仮想マシンを作成時に拡張機能を追加できます。

    はじめにくどうですWindowsの仮想マシンを作成する時に…

Comment

  1. No comments yet.

  1. No trackbacks yet.

  1. Azure

    AKS ( Kubernetes ) のPod からログをfluentd を使っ…
  2. Azure

    MCP70-532を受験してきた。
  3. Azure

    Azure Database for MySQL PreviewのServer …
  4. Azure

    ACS Engineを利用してAzure上にkubernetesをdeploy!…
  5. AlibabaCloud

    Alibaba Cloud という謎なクラウドサービス。
PAGE TOP