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

Server Load Balancer:CLB アクセスログを使用した異常なバックエンドサーバーの特定

最終更新日:Jul 25, 2026

Classic Load Balancer (CLB) のレイヤー 7 リスナーがエラーを返す場合、アクセスログを使用すると、どのバックエンドサーバーが問題を引き起こしているかを特定できます。CLB は Simple Log Service (SLS) と統合されており、これらのログの保存、クエリ、可視化が可能です。

説明

アクセスログは HTTP および HTTPS リスナーでのみサポートされています。レイヤー 4 リスナーではサポートされていません。

前提条件

開始する前に、以下のものが準備できていることを確認してください。

ステップ 1: アクセスログの設定

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

  2. CLBコンソールにログインします。
  3. ナビゲーションペインで、操作ログ > アクセスログ の順に選択します。

  4. 上部メニューで、CLB インスタンスがデプロイされているリージョンを選択します。

  5. アクセスログを初めて使用する場合は、必要な権限を付与します。権限付与 をクリックし、[RAM クイック権限付与] ページで再度 権限を付与 をクリックします。

    説明

    権限付与は 1 回のみ必要です。RAM ユーザーを使用する場合、アカウント所有者は RAM ユーザーに個別に権限を付与する必要があります。詳細については、「CLB のアクセスログ機能を使用するための RAM ユーザーへの権限付与」をご参照ください。

  6. アクセスログ (レイヤー 7) ページで、CLB インスタンスを見つけ、操作 列の ロギングの設定 をクリックします。

  7. ロギングの設定 パネルで、プロジェクト および Logstore パラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    [プロジェクト]

    SLS プロジェクトは、リソースの分離と管理に使用します。ドロップダウンリストから既存のプロジェクトを選択するか、名前を入力して新規作成します。プロジェクト名は一意である必要があり、そのリージョンは CLB インスタンスのリージョンと一致している必要があります。

    [Logstore]

    SLS Logstore を使用して、ログの収集、保存、クエリを行います。ドロップダウンリストから既存の Logstore を選択するか、名前を入力して新規作成します。

ステップ 2: アクセスログデータの表示

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

  2. ナビゲーションペインで、操作ログ > アクセスログ の順に選択します。

  3. 上部メニューで、CLB インスタンスがデプロイされているリージョンを選択します。

  4. CLB インスタンスを見つけ、操作 列の ログの表示 をクリックして SLS コンソールを開きます。

  5. クライアントが CLB にアクセスするたびにログエントリが生成されます。Simple Log Service でログデータを表示できます。

  6. SQL 文を入力してログデータをクエリします。たとえば、次の SQL 文を実行すると、アクティブなクライアントの上位 20 件を照会できます。リクエスト元を分析し、ビジネス上の意思決定を行うことができます。

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

ステップ 3: 異常なバックエンドサーバーの特定

SLS ダッシュボードを使用して、バックエンドサーバーの応答時間の概要を視覚的に確認します。

  1. プロジェクトページで、ナビゲーションペインの image.png アイコンにカーソルを合わせ、ダッシュボードリスト をクリックします。

  2. アクセスログダッシュボード名をクリックします。たとえば、 または slb_layer7_access_center_en です。

  3. [top upstream_response_time] セクションで、[avg upstream_response_time(s)] 列を降順にソートします。

  4. バックエンドサーバーの平均応答時間が 1 秒を超える場合、そのサーバーにログインして根本原因を調査します。

マルチパス転送の失敗のトラブルシューティング

マルチパス転送シナリオでは、一部のバックエンドサーバーに到達できない場合、SLS ログクエリを使用してステータスコード別に失敗したリクエストをフィルタリングし、障害の原因となった特定のバックエンドサーバーを特定できます。

説明

アクセスログは、レイヤー 7 リスナー (HTTP および HTTPS) でのみサポートされています。レイヤー 4 リスナー (TCP および UDP) ではこの機能はサポートされていません。

主要なログフィールド

フィールド

説明

upstream_addr

CLB がリクエストを転送したバックエンドサーバーの IP アドレスとポート。マルチパス転送アーキテクチャでは、このフィールドを使用して各リクエストの実際のルーティングパスを追跡します。

status

クライアントに返された HTTP ステータスコード。転送失敗シナリオでの一般的な値: 502 (Bad Gateway) および 504 (Gateway Timeout)。

upstream_status

バックエンドサーバーから実際に返された HTTP ステータスコード。status と併せて使用することで、障害の根本原因を分析します。

upstream_response_time

バックエンドサーバーが応答するまでにかかった時間 (秒単位)。これを使用して、タイムアウトによる失敗と接続拒否による失敗を区別します。

手順

  1. CLB コンソールにログインします。ナビゲーションペインで、操作ログ > アクセスログ の順に選択します。上部メニューで、CLB インスタンスがデプロイされているリージョンを選択します。CLB インスタンスを見つけ、操作 列の ログの表示 をクリックして SLS ログクエリページを開きます。

  2. 次のクエリを入力して、失敗した転送リクエストをフィルタリングします。

    status:502 or status:504
  3. クエリ結果で、upstream_addr フィールドを確認して、失敗したリクエストを受信したバックエンドサーバーの IP アドレスを特定します。これらは、マルチパス転送構成における到達不可能なパスです。

  4. バックエンドサーバーごとの障害の集計ビューを取得するには、次のクエリを実行します。

    status:502 or status:504 | select upstream_addr, upstream_status, upstream_response_time, count(*) as error_count group by upstream_addr, upstream_status, upstream_response_time order by error_count desc

    upstream_status 列を確認して、各バックエンドサーバーからの実際の応答コードを確認します。これにより、障害原因を絞り込むことができます。

  5. タイムアウトによる失敗と接続拒否による失敗を区別するには、クエリ結果の upstream_response_time フィールドを確認します。

    • upstream_response_time がリスナーのアップストリームタイムアウトしきい値に近い場合、バックエンドサーバーがタイムアウトしました。

    • upstream_response_time がほぼゼロの場合、バックエンドサーバーが直ちに接続を拒否しました。

アクセスログを使用したトラフィックスパイクの調査

Classic Load Balancer (CLB) インスタンスで突然のトラフィックスパイクが発生した場合、CLB アクセスログを使用してトラフィックソースと傾向を分析し、トラフィックの増加が想定内のものかどうかを判断します。

説明

SQL クエリを実行する前に、対象の Simple Log Service (SLS) Logstore でインデックス機能を有効にしてください。インデックスがない場合、クエリ文を実行すると、SLS コンソールから「Index not enabled for Logstore」というエラーが返されます。

手順

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

  2. ナビゲーションペインで、操作ログ > アクセスログ の順に選択します。

  3. 上部メニューで、CLB インスタンスがデプロイされているリージョンを選択します。

  4. 対象の CLB インスタンスを見つけ、操作 列の ログの表示 をクリックして SLS ダッシュボードを開きます。

  5. SLS ダッシュボードで、時間範囲セレクターを使用して観測期間を調整します。現在のトラフィック量を過去のベースラインと比較して、スパイクが異常なものかどうかを判断します。

  6. [統計グラフ] タブをクリックして、ページビュー (PV) および [トラフィック推移] グラフを表示します。階段状の急激な変化や短時間に集中したスパイクなどのパターンを探します。

  7. 特定のトラフィックソースを特定するには、クエリ入力ボックスにクエリ文を入力します。次の SQL 文は、リクエスト数でランク付けされた上位 20 件の送信元 IP アドレスとリクエスト URI を返します。

    * | SELECT client_ip, request_uri, count(*) AS cnt
    GROUP BY client_ip, request_uri
    ORDER BY cnt DESC
    LIMIT 20

一般的なトラフィックスパイクの原因と推奨アクション

原因

特徴

推奨アクション

CC 攻撃または DDoS

少数の送信元 IP アドレスから特定の URI に対して極めて高いリクエストレート

WAF アクセスログを確認して攻撃元を特定し、レート制限ルールを設定します

ビジネスプロモーションまたは製品ローンチ

トラフィックスパイクがスケジュールされたプロモーションイベントと一致し、地理的分布がターゲットオーディエンスと一致

ビジネスチームに確認し、必要に応じてバックエンドサーバーをスケールアウトします

Web クローラーまたはスクレイパー

類似した User-Agent 文字列を持つ複数の送信元 IP アドレスからの大量リクエスト。コンテンツの多いパスに集中

アクセスログの http_user_agent フィールドをクエリし、必要に応じて WAF ボット管理ルールを設定します

アップストリームリダイレクトまたは設定ミス

特定のパスでの突然のスパイク。多くのリクエストが共通の Referer ヘッダーを共有

host および request_uri フィールドを検査して、リダイレクト元を特定して修正します

関連トピック