ログと指標

このページでは、Secure Web Proxy がオペレーションに関するさまざまな種類の情報をログに記録する方法と、Cloud Monitoring API 指標を使用してプロキシのパフォーマンスを分析する方法について説明します。

ログ

Secure Web Proxy は Cloud Logging を使用して、次の主要な領域で情報を取得し、さまざまなタスクを実行できるようにします。

  • モニタリングとコンプライアンス

    • 規制の遵守を徹底し、ネットワーク セキュリティを強化し、許可された外部宛先に送信されるアウトバウンド ウェブ トラフィックを可視化します。
    • ワークロード トラフィックに対する制御と可視性の貴重なレイヤを取得します。
    • 効果的なセキュリティ オペレーション センター(SOC)のモニタリングに不可欠な分析情報を取得します。
    • ログを使用してセキュリティ イベントを検出して追跡し、脅威にプロアクティブに対応します。
  • デプロイメントと構成

    • 初期インフラストラクチャの設定、ユーザー アカウントの作成、構成の変更を追跡します。
    • 潜在的なエラーをモニタリングして、スムーズで安全なデプロイを確保します。
    • ポリシー調整による影響を把握し、保護を最適化します。

ログの種類

Secure Web Proxy は Logging を使用して、次の種類のログをキャプチャして保存します。

  • Cloud Audit Logs: Secure Web Proxy リソースに対する 管理上の変更とデータアクセスをキャプチャします。これらのログには次のものが含まれます。

  • プロキシ トランザクション ログ: Secure Web Proxy が処理する特定のウェブ リクエストの詳細をキャプチャします。これらのログは、Secure Web Proxy インスタンスのトラフィック フロー、ポリシー適用、パフォーマンスに関する分析情報を提供します。

ログアラートを構成する

トラフィックの拒否や特定のルールの一致など、Secure Web Proxy が Logging に書き込むイベントに対するアラートを構成できます。これらのアラートの設定方法については、 ログベースのアラートを構成するをご覧ください。

Secure Web Proxy のログベースのアラートを構成するために使用できるクエリの例をいくつか示します。

Secure Web Proxy ポリシーによって拒否されたトラフィックのアラート

Secure Web Proxy ポリシーがリクエストを拒否したときにアラートをトリガーするには、次のクエリを使用します。

logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action="DENIED"

PROJECT_ID は、ターゲット Google Cloud プロジェクトの ID に置き換えます。

Secure Web Proxy ルールによって拒否されたトラフィックのアラート

特定の Secure Web Proxy ルール(my-specific-deny-rule など)がリクエストを拒否したときにアラートをトリガーするには、次のクエリを使用します。

logName="projects/PROJECT_ID/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.action="DENIED"
AND jsonPayload.enforcedGatewaySecurityPolicy.matchedRules.name=~"projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/my-specific-deny-rule$"

次のように置き換えます。

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID
  • REGION: Secure Web Proxy インスタンスのリージョン
  • POLICY_NAME: Secure Web Proxy ポリシーの名前

高レイテンシ リクエストのアラート

リクエストが特定のレイテンシ(5 秒など)を超えたときに通知を受け取るには、次のクエリを使用します。

logName="projects/'PROJECT_ID'/logs/networkservices.googleapis.com%2Fgateway_requests"
resource.type="networkservices.googleapis.com/Gateway"
latency >= "5s"

PROJECT_ID は、ターゲット Google Cloud プロジェクトの ID に置き換えます。

Cloud Logging でログを確認する

  1. コンソールで、[**ログ エクスプローラ**] ページに移動します。 Google Cloud

    [ログ エクスプローラ] に移動

  2. プロジェクトを選択します。 Google Cloud

  3. プルダウン メニューを使用して、networkservices.googleapis.com/Gateway リソースまたは Secure Web Proxy インスタンスを選択します。

詳細については、 ログ エクスプローラの使用をご覧ください。

ログエントリの例

Secure Web Proxy は、リクエストを処理するたびに詳細なログエントリを生成し、そのアクションと適用されたポリシーを追跡します。次の例は、Secure Web Proxy ログの仕組みを示しています。

許可ログエントリの例

次のログエントリは、Secure Web Proxy インスタンスがインターセプト して検査し、 www.example.comの HTTPS トラフィックを 宛先ウェブサイトへのアクセスを許可したことを示しています。ポリシー名とルール名は、それぞれ swp-policyallow-port-443 です。

フィールド
enforcedGatewaySecurityPolicy
{
        "requestWasTlsIntercepted": true,
        "hostname": "www.example.com",
        "matchedRules": [
          {
            "action": "ALLOWED",
            "name": "projects/76537/locations/us-central1/gatewaySecurityPolicies/swp-policy/rules/allow-port-443"
          }
        ]
      }
httpRequest
{
        "requestMethod": "GET",
        "requestUrl": "https://www.example.com/",
        "requestSize": "41",
        "status": 200,
        "responseSize": "1446",
        "userAgent": "curl/7.74.0",
        "remoteIp": "10.128.0.12:35418",
        "serverIp": "93.184.216.34:443",
        "latency": "0.051800s",
        "protocol": "HTTP/2"
      }
resource
{
        "type": "networkservices.googleapis.com/Gateway",
        "labels": {
          "gateway_name": "multi-level-tlds",
          "network_name": "projects/76537/global/networks/default",
          "location": "us-central1",
          "resource_container": "",
          "gateway_type": "SECURE_WEB_GATEWAY"
        }
      }
timestamp "2024-02-15T16:56:19.570534Z"
severity "INFO"
logName "projects/76537/logs/networkservices.googleapis.com%2Fgateway_requests"
receiveTimestamp "2024-02-15T16:56:20.714988329Z"

拒否ログエントリの例

このログエントリは、Secure Web Proxy インスタンスがトラフィック www.example.com:443を検査し、Secure Web Proxy ポリシーのdefault_deniedルールにより HTTPS リクエストを拒否したことを示しています。

フィールド
enforcedGatewaySecurityPolicy
{
        "hostname": "www.example.com:443",
        "matchedRules": [
          {
            "name": "default_denied",
            "action": "DENIED"
          }
        ]
      }
httpRequest
{
        "requestMethod": "CONNECT",
        "requestSize": "122",
        "status": 403,
        "responseSize": "141",
        "userAgent": "curl/7.74.0",
        "remoteIp": "10.128.0.12:36338",
        "latency": "0.000133s",
        "protocol": "HTTP/1.1"
      }
resource
{
        "type": "networkservices.googleapis.com/Gateway",
        "labels": {
          "gateway_type": "SECURE_WEB_GATEWAY",
          "resource_container": "",
          "location": "us-central1",
          "network_name": "projects/gcp-1768/global/networks/default",
          "gateway_name": "high-latency-repro"
        }
      }
timestamp "2024-02-15T16:55:00.089727Z"
severity 「WARNING」
logName "projects/gcp-1768/logs/networkservices.googleapis.com%2Fgateway_requests"
receiveTimestamp "2024-02-15T16:55:04.456901833Z"

指標

Cloud Monitoring API 指標は、Secure Web Proxy インスタンスのパフォーマンス、健全性、使用状況をモニタリングするのに役立ちます。

モニタリング対象リソース

Secure Web Proxy の指標は、次のモニタリング対象リソースの下にエクスポートされます。

  • networkservices.googleapis.com/Gateway: Secure Web Proxy ゲートウェイ インスタンスを表します。

次の表に、networkservices.googleapis.com/Gateway で使用可能なリソースを示します。これらのリソースを使用して、モニタリング データをフィルタして集計できます。

ラベル 説明
resource_container Secure Web Proxy ゲートウェイ インスタンスに関連付けられたプロジェクトの ID。
location Google Cloud ゲートウェイがデプロイされているリージョン。
gateway_id Secure Web Proxy ゲートウェイ インスタンスの一意の名前。
gateway_type ゲートウェイのタイプ。SECURE_WEB_GATEWAY に設定されます。
network_name ゲートウェイに関連付けられた Virtual Private Cloud(VPC)ネットワークの名前。

利用可能な指標

Gateway リソースでは、次の指標を使用できます。すべての指標には networkservices.googleapis.com/https/ という接頭辞が付いています。

指標タイプ 表示名 種類、型、単位 説明
networkservices.googleapis.com/https/request_count リクエスト数 DELTAINT641 プロキシによって処理されたリクエストの合計数。
networkservices.googleapis.com/https/request_bytes_count リクエスト バイト数 DELTAINT64By リクエストで受信したバイト数の合計。
networkservices.googleapis.com/https/response_bytes_count レスポンス バイト数 DELTAINT64By レスポンスで送信されたバイト数の合計。
networkservices.googleapis.com/https/total_latencies 総レイテンシ DELTADISTms リクエストの最初のバイトが受信されてからレスポンスの最後のバイトが送信されるまでの時間。
networkservices.googleapis.com/https/backend_latencies バックエンド レイテンシ DELTADISTms リクエストがバックエンドに送信されてからレスポンスの最初のバイトが受信されるまでの時間。

カスタム ダッシュボードを作成する

Secure Web Proxy インスタンスのパフォーマンスとトラフィックの傾向を可視化するカスタム ダッシュボードを作成するには、次の操作を行います。

  1. コンソールで [**ダッシュボード**] ページに移動します。 Google Cloud

    ダッシュボードに移動する

  2. add_box[**カスタム ダッシュボードを作成**] をクリックします。

  3. [**ウィジェットを追加**] をクリックし、 [**線**] グラフ オプションを選択します。

  4. [指標] フィールドで、networkservices.googleapis.com/https/request_count を検索します。

  5. 複数の Secure Web Proxy インスタンスを構成している場合は、[フィルタ] フィールドで gateway_id でフィルタできます。

  6. [集計] セクションで、[アライメント期間] を 1 minute に設定し、[アライメント指定子] に rate を選択します。

    これにより、未加工のリクエスト データが 1 秒あたりのリクエスト数に変換され、時間の経過に伴う一貫したトラフィックの傾向を簡単に表示して分析できます。

  7. ウィジェットを保存するには、[適用] をクリックします。

次のステップ