首先,我想先说一下,我没有参与建立这个 GCP 项目,所以我对配置的内容了解有限,但我确实对正在运行的应用程序以及它们执行的角色有所了解。
已知:
-
建立了一个 API 网关,其背后有大约 10 个云运行服务。全部都是 Java API。
-
我认为随着系统使用率的提高,对 servicecontrol.googleapis.com/report 端点的调用量一直在稳步增加,目前已达到每天 2.5m/次操作。这导致我们的账单上出现了一个明显的项目。
-
当我查看服务控制 API 的 API/服务详细信息图表时,它毫无帮助地显示流量来自“未指定”作为凭证。这显然无助于我缩小来源范围。
-
如果我禁用服务控制 API,调用次数显然会降至零,但每次我访问配置页面时,API 网关都会提示我启用服务控制 API,因此显然某些操作是“必需的”。
-
禁用服务控制 API 后,我在日志中看到类似这样的错误
{ "insertId": "61bd29cad64fcdeb3a72c087c743457e-1@a1", "jsonPayload": { "apiConfig": "//apigateway.googleapis.com/projects/XXXXXXXXXXX/locations/global/apis/adminservice1/configs/my-config-name", "httpRequest": { "duration": "13ms", "responseSize": "39", "path": "/v1/services/adminservice1-2flbn13q8pv2z.apigateway.my-project-id.cloud.goog:report", "hostname": "servicecontrol.googleapis.com", "httpVersion": "HTTP/1.1", "status": 403, "requestSize": "2236" }, "serviceConfig": "//servicemanagement.googleapis.com/services/adminservice1-2flbn13q8pv2z.apigateway.my-project-id.cloud.goog/configs/my-config-name-0exxy8atd70t3", "api": "//apigateway.googleapis.com/projects/XXXXXXXXXXX/locations/global/apis/adminservice1" }, "resource": { "type": "apigateway.googleapis.com/Gateway", "labels": { "gateway_id": "ezylink-apigateway-preprod", "location": "australia-southeast1", "resource_container": "projects/XXXXXXXXXXX" } }, "timestamp": "2024-06-26T22:34:01.523107678Z", "severity": "ERROR", "logName": "projects/my-project-id/logs/apigateway.googleapis.com/service_control_queries", "receiveTimestamp": "2024-06-26T22:34:11.539672849Z"}
未知:
- 这些调用到底是从哪里来的!我不知道是代码还是配置导致了这个问题。
任何见解都将不胜感激。
1
–
|