Log Service と統合されているため、SLB (Server Load Balancer) インスタンスのアクセスログを分析し、クライアントユーザーの動作と地理的な分布を把握したり、問題をトラブルシューティングしたりすることができます。

アクセスログの概要

アクセスログは、SLB インスタンスに送信されたリクエストの詳細情報 (リクエストされた時刻、クライアントの IP アドレス、レイテンシ、リクエスト された URL、サーバーレスポンスなど) を収集します。 インターネットアクセスの入り口として、Server Load Balancer は大量のクライアントリクエストを受信します。 アクセスログを使用することで、ユーザーの動作や地理的な分布を分析し、問題のトラブルシューティングを行うことができます。

SLB アクセスログを有効にすると、SLS の Logstore にアクセスログが保存され、アクセスログの収集と分析が可能になります。 アクセスログは、いつでも無効にすることができます。

SLB アクセスログに追加料金は発生しません。 Log Service の料金のみ発生します。

重要
  • レイヤー 7 Server Load Balancer は、アクセスログの設定をサポートしています。この機能は現在、すべてのリージョンで使用可能です。
  • HTTP ヘッダーの値に || を含まないようにしてください。含まれている場合には、エクスポートされたログが正しく配置されない可能性があります。

利点

Server Load Balancer アクセスログには、次の利点があります。

  • 使いやすさ

    開発者や保守スタッフは、煩雑で時間のかかるログ処理から解放され、ビジネス開発や技術調査に集中できるようになります。

  • 費用対効果

    一般的に、アクセスログは膨大なサイズになります。 また、アクセスログの処理には非常に長い時間がかかり、多くのリソースが消費されます。 Log Service は、自己構築型のオープンソースソリューションよりもアクセスログの処理速度が早く、費用対効果に優れています。 Log Service は、1 秒間に 1 億件のログを分析可能です。

  • リアルタイム

    DevOps、モニタリング、アラートなどのシナリオには、リアルタイムのログデータが必要です。 従来のデータストレージツールや分析ツールでは、この要件を満たすことができません。 たとえば、Hive でデータの ETL 処理を行うと、データ統合に多くの作業を費やし、時間がかかります。 Log Service は、強力なコンピューティング機能によって、アクセスログを数秒で処理、分析することができます。

  • 柔軟性

    インスタンス仕様に合わせて、Server Load Balancer アクセスログを有効または無効にすることができます。 また、必要に応じて保存期間 (1~365 日) を設定できるほか、ビジネスサービスの要件の拡大に合わせて、Logstore の容量を拡張できます。

アクセスログの設定

アクセスログを設定する前に、以下を確認してください。
  1. レイヤー 7 リスナーが追加されていること。
  2. Log Service が有効化されていること。
アクセスログを設定するには、以下の手順を実行します。
  1. SLB コンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[ログ] > [アクセスログ] をクリックします。
  3. リージョンを選択します。
  4. [権限付与] をクリックし、[権限付与ポリシーに同意] をクリックして、Log Service へのログの書き込みを Server Load Balancer に許可します。
    RAM アカウントを使用している場合、権限を付与するにはプライマリアカウントが必要です。 詳細については、「RAM ユーザーにアクセスログの使用を許可」をご参照ください。
    この操作は、初回のみ行う必要があります。
  5. [アクセスログ] ページで、対象 の Server Load Balancer インスタンスを検索し、[ログの設定] をクリックします。
  6. Log Service の LogProject と LogStore を選択し、 [OK] をクリックします。

    使用可能な LogStore が存在しない場合は、Log Service コンソールをクリックして LogProject を作成します。

    LogProject の名前がグローバルで一意であること、および LogProject のリージョンが Server Load Balancer インスタンスのリージョンと同じであるようにしてください。

アクセスログの検索と分析

Server Load Balancer アクセスログの設定後、次のインデックスフィールドを使用してログの検索と表示を行うことができます。

フィールド 説明
body_bytes_sent クライアントに送信された HTTP 本文のサイズ (バイト)。
client_ip クライアント IP。
host リクエスト内のホストヘッダー。
http_user_agent 受信したリクエスト内の http_user_agent ヘッダー。
request_length リクエストの長さ (startline、HTTP ヘッダー、HTTP 本文を含む)。
request_method リクエスト方式。
request_time Server Load Balancer が最初のリクエストを受信してからレスポンスを返すまでの時間。
request_uri 受信したリクエストの URI。
Slbid Server Load Balancer インスタンスの ID。
status SLB レスポンスのステータス。
Upstream_addr バックエンドサーバーの IP アドレスとポート番号。
upstream_response_time Server Load Balancer がバックエンドサーバーにリクエストを送信してから、クライアントにレスポンスを送信するまでの時間。
upstream_status SLB がバックエンドサーバーから受信したレスポンスステータスコード。

アクセスログの検索

アクセスログを検索するには、以下の手順を実行します。

  1. ログの検索ページに移動します。 検索ページには、 Server Load Balancer コンソールまたは Log Service コンソールから移動できます。
    • Server Load Balancer コンソールからの場合
      [アクセスログ] ページで、 [ログの表示] をクリックします。
    • Log Service コンソールからの場合
      [Logstores] ページで、目的の Logstore の [検索] をクリックします。
  2. ログフィールドをクリックすると、詳細情報が表示されます。
  3. アクセスログを照会するための SQL 文を入力します。
    たとえば、上位 20 位のクライアントを照会するには、次の SQL 文を入力します。この文は、ビジネス上の意思決定を支援するためのリクエストリソースを分析する際に使用します。
    * | select ip_to_province(client_ip) as client_ip_province, count(*) as pv group by
          client_ip_province order by pv desc limit 50

アクセスログの分析

アクセスログは、ダッシュボードを使用して分析できます。このダッシュボードには、さまざまなグラフィック情報が提供されます。

アクセスログを分析するには、次の手順に従います。

  1. Log Service コンソールで、SLB インスタンスのプロジェクトリンクをクリックします。
  2. 左側のナビゲーションウィンドウで、[LogSearch/Analytics - 照会] > [ダッシュボード] をクリックし、アクセスログの名前をクリックします。

アクセスログの無効化

アクセスログを無効化するには、次の手順に従います。

  1. SLB コンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[ログ] > [アクセスログ] をクリックします。
  3. リージョンを選択します。
  4. [アクセスログ] ページで、対象のインスタンスを検索し、 [削除] をクリックして、アクセスログを無効化します。
  5. 表示されたダイアログボックスで、 [OK] をクリックします。