Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

IP 使用率

最終更新 Markdown で表示Agent セットアップ

GraphQL API を使って集計データを取得し、専用 IP の容量(旧称 Aegis)を監視します。

各 Dedicated CDN Egress IP は、オリジンの IP ポートあたり 40,000 の同時接続をサポートします。たとえば、専用 IP が 1 つでオリジンが 2 つ(A と B)ある場合、この 1 つの IP はオリジン A への同時接続 40,000 と、オリジン B への同時接続 40,000 を同時にサポートします。

詳細は GraphQL Analytics API のドキュメント を参照するか、すぐ始めるには下の を使います。

GraphQL スキーマ

Dedicated CDN Egress IPs のデータを取得するスキーマは aegisIpUtilizationAdaptiveGroups です。

平均(avg)または最大(max)の使用率(パーセント)を取得でき、次のディメンションを使えます。

  • datetimeFiveMinutes time

    • 5 分単位に切り詰めたタイムスタンプ。例: 2025-01-10T00:05:00Z
  • popName string

    • Cloudflare の拠点(PoP)。例: sjc
  • egressIp string

    • 割り当て済みの Dedicated CDN Egress IP。例: 192.0.2.1
  • origin string

    • オリジンの IP とポート。例: 203.0.113.150:443
  • popUtilizationKey string

    • Cloudflare の拠点(PoP)、Dedicated CDN Egress IP、オリジンの IP とポート。例: sjc 192.0.2.1 203.0.113.150:443

次のクエリで、拠点ごとの平均使用率と最大使用率を取得し、結果をフィルタする方法を確認できます。

ページ下部のボタンを選ぶと、Cloudflare GraphQL API Explorer でこのクエリを自分のアカウントに使えます。アカウント ID とタイムスタンプを指定し、必要に応じて popNameegressIporigin のプレースホルダーを置き換えてください。

query AegisIpUtilizationQuery(
  $accountTag: string
  $datetimeStart: string
  $datetimeEnd: string
) {
  viewer {
    utilization: accounts(filter: { accountTag: $accountTag }) {
      avgByPopUtilization: aegisIpUtilizationAdaptiveGroups(
        limit: 100
        filter: {
          datetimeFiveMinutes_geq: $datetimeStart
          datetimeFiveMinutes_leq: $datetimeEnd
        }
        orderBy: [datetimeFiveMinutes_ASC]
      ) {
        avg {
          utilization
        }
        dimensions {
          datetimeFiveMinutes
          popUtilizationKey
        }
      }

      maxByPopUtilization: aegisIpUtilizationAdaptiveGroups(
        limit: 100
        filter: {
          datetimeFiveMinutes_geq: $datetimeStart
          datetimeFiveMinutes_leq: $datetimeEnd
        }
        orderBy: [datetimeFiveMinutes_ASC]
      ) {
        max {
          utilization
        }
        dimensions {
          datetimeFiveMinutes
          popUtilizationKey
        }
      }

      filterPopUtilization: aegisIpUtilizationAdaptiveGroups(
        limit: 100
        filter: {
          datetimeFiveMinutes_geq: $datetimeStart
          datetimeFiveMinutes_leq: $datetimeEnd
          popName: "<CLOUDFLARE_POP>"
        }
        orderBy: [datetimeFiveMinutes_ASC]
      ) {
        max {
          utilization
        }
        dimensions {
          datetimeFiveMinutes
          popUtilizationKey
        }
      }

      filterIPUtilization: aegisIpUtilizationAdaptiveGroups(
        limit: 100
        filter: {
          datetimeFiveMinutes_geq: $datetimeStart
          datetimeFiveMinutes_leq: $datetimeEnd
          egressIp: "<YOUR_EGRESS_IP>"
        }
        orderBy: [datetimeFiveMinutes_ASC]
      ) {
        max {
          utilization
        }
        dimensions {
          datetimeFiveMinutes
          popUtilizationKey
        }
      }

      filterOriginUtilization: aegisIpUtilizationAdaptiveGroups(
        limit: 100
        filter: {
          datetimeFiveMinutes_geq: $datetimeStart
          datetimeFiveMinutes_leq: $datetimeEnd
          origin: "<ORIGIN_IP_AND_PORT>"
        }
        orderBy: [datetimeFiveMinutes_ASC]
      ) {
        max {
          utilization
        }
        dimensions {
          datetimeFiveMinutes
          popUtilizationKey
        }
      }
    }
  }
}

役に立ちましたか?