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 のドキュメント を参照するか、すぐ始めるには下の 例 を使います。
Dedicated CDN Egress IPs のデータを取得するスキーマは aegisIpUtilizationAdaptiveGroups です。
平均(avg)または最大(max)の使用率(パーセント)を取得でき、次のディメンションを使えます。
-
datetimeFiveMinutestime- 5 分単位に切り詰めたタイムスタンプ。例:
2025-01-10T00:05:00Z。
- 5 分単位に切り詰めたタイムスタンプ。例:
-
popNamestring- Cloudflare の拠点(PoP)。例:
sjc。
- Cloudflare の拠点(PoP)。例:
-
egressIpstring- 割り当て済みの Dedicated CDN Egress IP。例:
192.0.2.1。
- 割り当て済みの Dedicated CDN Egress IP。例:
-
originstring- オリジンの IP とポート。例:
203.0.113.150:443。
- オリジンの IP とポート。例:
-
popUtilizationKeystring- Cloudflare の拠点(PoP)、Dedicated CDN Egress IP、オリジンの IP とポート。例:
sjc 192.0.2.1 203.0.113.150:443。
- Cloudflare の拠点(PoP)、Dedicated CDN Egress IP、オリジンの IP とポート。例:
次のクエリで、拠点ごとの平均使用率と最大使用率を取得し、結果をフィルタする方法を確認できます。
ページ下部のボタンを選ぶと、Cloudflare GraphQL API Explorer ↗ でこのクエリを自分のアカウントに使えます。アカウント ID とタイムスタンプを指定し、必要に応じて popName、egressIp、origin のプレースホルダーを置き換えてください。
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
}
}
}
}
}