すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:アクセスログ

最終更新日:Nov 09, 2025

Classic Load Balancer (CLB) のレイヤー 7 ロードバランシングを使用する場合、アクセスログ機能を使用して、アプリケーション開発、テスト、トラブルシューティング、またはユーザーの動作分析を行うことができます。アクセスログ機能は Simple Log Service (SLS) と統合されており、ログデータの分析とトラブルシューティングの効率を大幅に向上させます。

機能概要

CLB アクセスログとは

CLB のアクセスログ機能は、CLB インスタンスに送信されたすべてのリクエストに関する詳細情報を収集します。これには、リクエスト時間、クライアント IP アドレス、レイテンシー、リクエストパス、サーバー応答が含まれます。CLB はパブリックネットワークアクセスのエントリーポイントであるため、大量のアクセスリクエストを処理します。アクセスログを使用して、ユーザーの動作を分析し、地理的分布を理解し、問題をトラブルシューティングできます。

アクセスログ機能を有効にすると、アクセスログは Simple Log Service (SLS) の Logstore に保存され、収集と分析が行われます。アクセスログの設定はいつでも削除できます。

CLB アクセスログ機能は無料です。課金されるのは SLS の使用に対してのみです。課金の詳細については、「Simple Log Service の課金概要」をご参照ください。

重要
  • レイヤー 7 の CLB インスタンスのみがアクセスログ機能をサポートします。

  • HTTP ヘッダーの値に || が含まれていないことを確認してください。含まれている場合、ログ分割が失敗する可能性があります。

CLB アクセスログの利点

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

  • シンプル

    開発者と O&M エンジニアの時間を解放し、ビジネス開発とイノベーションに集中できるようにします。

  • 大容量

    大量のログデータを処理できます。自己管理ソリューションと比較して、SLS はより優れたパフォーマンスを提供し、より費用対効果が高くなります。

  • リアルタイム

    DevOps、モニタリング、アラートなどのシナリオのリアルタイム要件を満たします。SLS と統合すると、数秒でログを分析および処理できます。

  • 柔軟

    各 CLB インスタンスのログ機能を有効または無効にできます。バックエンドサービスは自動的に作成および接続されるため、手動でのメンテナンスは不要です。

制限

CLB のレイヤー 7 ロードバランシング (HTTP および HTTPS リスナー) のみがアクセスログ機能をサポートします。

アクセスログは主にレイヤー 7 のリクエスト情報を記録します。したがって、レイヤー 4 リスナー (TCP および UDP) はアクセスログをサポートしません。

前提条件

アクセスログの設定

  1. CLB コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[ログ管理] > [アクセスログ] を選択します。

  3. 上部のナビゲーションバーで、CLB インスタンスがデプロイされているリージョンを選択します。

  4. この機能を初めて使用する場合は、必要な権限を付与する必要があります。[今すぐ承認] をクリックします。[クラウドリソースアクセス承認] ページで、[承認に同意] をクリックします。

    説明

    この操作は、最初の設定時にのみ必要です。

    Resource Access Management (RAM) ユーザーを使用している場合は、親の Alibaba Cloud アカウントから必要な権限を付与される必要があります。詳細については、「RAM ユーザーに CLB アクセスログ機能の使用を承認する」をご参照ください。

  5. [アクセスログ (レイヤー 7)] ページで、ターゲットの CLB インスタンスを見つけ、[アクション] 列の [設定] をクリックします。

  6. [ログ設定] パネルで、[プロジェクト][Logstore] を設定し、[OK] をクリックします。

    • プロジェクト: プロジェクトは Simple Log Service のリソース管理単位です。リソースの隔離と制御に使用されます。異なるプロジェクトを使用して、異なるアプリケーション、プロダクト、またはプロジェクトからのデータを管理できます。

    • Logstore: Logstore は、Simple Log Service におけるログデータの収集、ストレージ、クエリの単位です。同じアプリケーション内の異なるタイプのログに対して、個別の Logstore を作成できます。

      • 既存の Logstore を選択: この機能は、選択した Logstore の分析ダッシュボードをデフォルトで有効にします。Logstore にすでにインデックスが設定されている場合、その設定は上書きされます。

    説明

    プロジェクト名がグローバルに一意であり、プロジェクトが SLB インスタンスと同じリージョンにあることを確認してください。

    Server Load Balancer のアクセスログを設定した後、Simple Log Service で次のフィールドのログ情報をクエリおよび取得できます。

    フィールド

    説明

    body_bytes_sent

    クライアントに送信された HTTP 本文のバイト数。

    client_ip

    リクエストを送信したクライアントの IP アドレス。

    client_port

    リクエストを送信したクライアントのポート。

    host

    値はまずリクエストパラメーターから取得されます。値を取得できない場合は、Host ヘッダーから取得されます。それでも値を取得できない場合は、リクエストを処理するバックエンドサーバーの IP アドレスがホストとして使用されます。

    http_host

    リクエストメッセージの Host ヘッダーの内容。

    http_referer

    SLB インスタンスが受信した HTTP リクエストメッセージの Referer ヘッダーの内容。

    http_user_agent

    SLB インスタンスが受信したリクエストメッセージの http_user_agent ヘッダーの内容。

    http_x_forwarded_for

    SLB インスタンスが受信したリクエストメッセージの x-forwarded-for ヘッダーの内容。

    http_x_real_ip

    SLB インスタンスが受信した HTTP リクエストメッセージの x-real-ip ヘッダーの内容。

    read_request_time

    SLB インスタンスがリクエストを読み取るのにかかる時間。単位: ミリ秒。

    request_length

    開始行、HTTP ヘッダー、HTTP 本文を含むリクエストメッセージの長さ。

    request_method

    リクエストメッセージのメソッド。

    request_time

    SLB インスタンスが最初のリクエストメッセージを受信してから SLB が応答を返すまでの間隔。単位: 秒。

    request_uri

    SLB インスタンスが受信したリクエストメッセージの URI。

    scheme

    http や https などのリクエストのスキーム。

    server_protocol

    SLB インスタンスが受信した HTTP プロトコルのバージョン (HTTP/1.0 や HTTP/1.1 など)。

    slb_vport

    SLB インスタンスのリスナーポート。

    slbid

    SLB インスタンスの ID。

    ssl_cipher

    SSL 接続の確立に使用される暗号スイート (ECDHE-RSA-AES128-GCM-SHA256 など)。

    ssl_protocol

    SSL 接続の確立に使用されるプロトコル (TLSv1.2 など)。

    status

    SLB インスタンスからの応答メッセージのステータス。

    tcpinfo_rtt

    クライアントの TCP 接続時間。単位: マイクロ秒。

    time

    ログが記録された時間。

    upstream_addr

    バックエンドサーバーの IP アドレスとポート。

    upstream_response_time

    バックエンドサーバーとの接続が確立されてから、すべてのデータが受信され、接続が閉じられるまでの時間。単位: 秒。

    upstream_status

    SLB インスタンスがバックエンドサーバーから受信する応答状態コード。

    vip_addr

    仮想 IP アドレス。

    write_response_time

    SLB インスタンスが応答を書き込むのにかかる時間。単位: ミリ秒。

アクセスログのクエリ

アクセスログを設定した後、Simple Log Service コンソールでログをクエリできます。

  1. CLB コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[ログ管理] > [アクセスログ] を選択します。

  3. 上部のナビゲーションバーで、CLB インスタンスがデプロイされているリージョンを選択します。

  4. [アクセスログ (レイヤー 7)] ページで、ターゲットインスタンスを見つけ、[アクション] 列の [ログの表示] をクリックします。これにより、Simple Log Service ページにリダイレクトされます。

  5. アクセスログ機能が有効になった後、クライアントが CLB インスタンスにアクセスすると、対応するログ情報を表示できます。

  6. SQL 文を入力して、特定のアクセスログをクエリできます。

    たとえば、次の SQL 文を入力して上位 20 のクライアントをクエリできます。これは、リクエストソースを分析し、ビジネス上の意思決定を行うのに役立ちます。

    * | select http_user_agent, count(*) as pv group by http_user_agent order by pv desc limit 20

アクセスログの分析

Simple Log Service のダッシュボードを使用してアクセスログを分析できます。ダッシュボードは、より豊富なデータインサイトを提供します。

  1. Simple Log Service ページで、左側のナビゲーションウィンドウで image.png を選択し、[ダッシュボードリスト] をクリックします。

  2. CLB のアクセスログの名前 (例: slb_layer7_access_center_en) をクリックして、分析レポートを表示します。

アクセスログの無効化

アクセスログを無効にして、CLB インスタンスのアクセスログの収集を停止できます。

説明

CLB インスタンスのロギングを無効にしても、対応するログプロジェクトと Logstore は削除されません。履歴ログデータは保持されます。SLS で履歴ログを引き続き管理できます。

  1. CLB コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[ログ管理] > [アクセスログ] を選択します。

  3. 上部のナビゲーションバーで、CLB インスタンスがデプロイされているリージョンを選択します。

  4. [アクセスログ (レイヤー 7)] ページで、ターゲットインスタンスを見つけ、[アクション] 列の [ロギングの無効化] をクリックします。

  5. 表示されるダイアログボックスで、[OK] をクリックして、インスタンスのアクセスログを無効にします。

参考資料