具有内部入口控制的GAE服务不会处理任务

问题描述 投票:0回答:1

我的问题与这个问题非常相似。我的任务创建代码与那里的答案相同,只是添加了有效负载。

我有一个带有第二项服务的 GAE 应用程序。我希望此服务仅具有内部入口以提高安全性,并且我还希望此服务处理 GAE 任务。 根据链接问题的答案,这应该有效。

当入口设置设置为全部时,一切正常。但是,当入口设置设置为仅限内部时,我收到“权限被拒绝”错误。我已复制下面的任务队列错误消息。

知道为什么这不起作用吗?

{
insertId: "xxx"
jsonPayload: {
@type: "type.googleapis.com/google.cloud.tasks.logging.v1.TaskActivityLog"
attemptResponseLog: {
scheduleTime: "2023-12-06T00:06:45.550274Z"
targetType: "APP_ENGINE_HTTP"
maxAttempts: 0
responseCount: "0"
status: "PERMISSION_DENIED"
attemptDuration: "0.002211s"
targetAddress: "POST /xxx"
dispatchCount: "1"
}
task: "projects/xxx/locations/us-central1/queues/default/tasks/xxx"
}
logName: "projects/xxx/logs/cloudtasks.googleapis.com%2Ftask_operations_log"
receiveTimestamp: "2023-12-06T00:06:46.807046074Z"
resource: {
labels: {
target_type: "APP_ENGINE_HTTP"
location: "us-central1"
queue_id: "default"
project_id: "xxx"
}
type: "cloud_tasks_queue"
}
severity: "ERROR"
timestamp: "2023-12-06T00:06:45.563937621Z"
}```


google-app-engine
1个回答
0
投票

正如我在评论中所说,您似乎面临权限问题?您能否检查一下您是否已启用此文档中所述的所需权限。您需要记住,每个权限都适用于特定的资源类型。

此外,当您确认您有 VPC 连接时,Cloud Tasks 目前似乎不支持 VPC 连接(GAE 的内部访问)。这是因为 Cloud Tasks 在 VPC 外部的 Google 托管项目中运行。

要将 Cloud Tasks 与 VPC 网络结合使用,已经有一个针对它的功能请求,您可以参考 公共问题跟踪器,并且可以标记

+1
或在那里添加您的疑虑。

作为目前的解决方法,您可以尝试使用负载均衡器端点(而不是云任务中的 GAE 端点)创建 HTTP Target 任务,方法是参考 link。请注意,由于此解决方案通过负载平衡使用公共互联网,因此会产生负载平衡的额外费用。

© www.soinside.com 2019 - 2024. All rights reserved.