标签: google-cloud-storage

如何防止对 Google Cloud Storage 的 DDoS 攻击

如何保护托管在 GCS 上的公共映像免受 ddos​​ 攻击?

Google 是否提供任何保护,还是我应该为该攻击使用的带宽付费?

google-cloud-storage

7
推荐指数
1
解决办法
5316
查看次数

gsutil rsync 上的同步阶段很慢?

我刚刚开始使用 GCS 作为我的网络服务器的备份。一台服务器有 120 万个 JPEG(3.5TB),并且所有这些都在 10 个小时左右的时间内完美同步。

另一个有 250 万个 JPEG(尽管只是缩略图/预览 - 总共 300GB)。我第一次这样做时,“构建同步状态”很快就完成了 250 万次。几分钟。虽然我的会话被中断了(wifi 掉线了),当我通过 SSH 尝试再次运行它时,“在源列表中”提示迅速咬住了 10000、20000、30000。然后几乎停止了。半小时后,才到了三十万。我知道它也必须确定目的地有哪些文件,但我认为这不会显着减慢“在源列表中...”的回声?

它是否表明我的文件系统有问题,如果是,我应该检查什么?

还是出于某种原因,这是预期的行为?

尝试将 gsutil rsync 与 200 万个文件一起使用到一个存储桶中是个坏主意吗?我找不到谷歌关于一个存储桶中可以放置多少文件的指南,所以我假设它是数十亿/无限的?

FWIW 文件都在嵌套的子目录中,任何一个目录中的文件都不超过 2000 个。

谢谢

编辑:我使用的确切命令是:

gsutil -m rsync -r /var/www/ gs://mybucketname/var/www
Run Code Online (Sandbox Code Playgroud)

rsync google-cloud-storage google-cloud-platform gsutil

6
推荐指数
1
解决办法
2701
查看次数

如何获取 Google Cloud Storage 中文件的下载 URL?

我使用以下方法创建了一项服务:

storage.Client(project='project_name',credentials=credentials)

https://googleapis.dev/python/storage/latest/client.html

我可以上传、删除和列出用户 Google Cloud 存储桶中的文件。我看到了将文件下载到服务器的选项,但是是否有任何选项可以获取可下载链接?

python google-cloud-storage google-cloud-platform

6
推荐指数
1
解决办法
2万
查看次数

GCP:无法从 Compute Engine 访问 Container Registry

我在gcr.io/my-project/my-image:latest. 在同一个项目中,我创建了一个基于 COS(Container-Optimized OS)的 Google Compute Engine 实例,具有对 Google Storage 的读访问权限(默认启用)。我还向其服务帐户授予了对 Google Storage 的读取权限。

但是,我无法从 GCE 实例中提取图像:

$docker pull gcr.io/my-project/my-image:latest
Error response from daemon: repository gcr.io/my-project/my-image not found: does not exist or no pull access
Run Code Online (Sandbox Code Playgroud)

医生说

要从 Compute Engine 实例中提取私有 Docker 映像,请确保您的实例对映像的存储桶具有读取权限。如果您的实例和图像存储桶位于同一个 Google Cloud Platform 项目中,则默认情况下此配置正确。

docker google-compute-engine google-cloud-storage google-cloud-platform docker-registry

5
推荐指数
2
解决办法
3819
查看次数

使用 Node.js 在 GCS 存储桶中按名称检查文件是否存在

我想知道 Google Cloud Storage 是否提供了一种有效的方法来检查具有给定名称的文件是否存在于具有 node.js 的给定存储桶中。这样的方法bucket.fileExists('someName')是理想的。如果有明显的答案,我深表歉意。任何建设性的反馈将不胜感激。

node.js google-cloud-storage google-cloud-platform

4
推荐指数
1
解决办法
1万
查看次数

getSignedUrl 给出“签名错误:元数据服务器失败”

我正在使用带有 HTTP 触发器的 Google Cloud Functions 来为 API 调用创建端点。此端点正在使用getSignedUrlCloud Storage 包中的函数。我想返回一个签名的 URL,以便客户端可以PUT通过该 URL 上传文件。

我在使用此 API 时遇到了不一致的行为。有时我会从函数中得到一个 URL。然后我尝试更新存储桶名称,但出现此错误:

{ SigningError: Failure from metadata server.
at /user_code/node_modules/@google-cloud/storage/src/file.js:1715:16
at getCredentials (/user_code/node_modules/@google-cloud/storage/node_modules/google-auto-auth/index.js:264:9)
at googleAuthClient.getCredentials (/user_code/node_modules/@google-cloud/storage/node_modules/google-auto-auth/index.js:148:11)
at process._tickDomainCallback (internal/process/next_tick.js:135:7) message: 'Failure from metadata server.' }
Run Code Online (Sandbox Code Playgroud)

如果我改回存储桶名称,我仍然会看到此错误。我尝试了不同的方法,例如从终端部署。那给了我同样的错误。我还使用浏览器创建了该功能,并开始工作。在我尝试更新存储桶名称后,它停止工作。

通过谷歌搜索,我认为这是权限或 ACL 问题,但我不确定如何确认。文档说函数使用<YOUR_PROJECT_ID>@appspot.gserviceaccount.com服务帐户运行,我可以在函数的常规选项卡中确认。我可以在 IAM 中看到此服务帐户具有Service Account Token Creator,它说:

模拟服务帐户(创建 OAuth2 访问令牌、签署 blob 或 JWT 等)。

的文档getSignedUrl说:

在这些环境中,我们调用 signBlob API 来创建签名 URL。该 API 需要https://www.googleapis.com/auth/iamhttps://www.googleapis.com/auth/cloud-platform范围,因此请确保已启用它们。

我觉得这应该足以让它发挥作用。我不知道如何明确检查范围。 …

google-cloud-storage google-cloud-platform

4
推荐指数
1
解决办法
4549
查看次数

gcsfuse 是否将所有数据同步到它所安装的系统?

场景:

  • 我已将 gcsfuse 驱动器安装到我的 docker 容器,以便我可以从 Google Cloud Storage 存储和读取数据
  • docker 容器只有少量存储空间,但我可能在 Google Cloud Sorage 中有 TB 级的数据

问题:

gcsfuse 是从 Google Cloud Storage 下载所有数据,还是仅在我尝试读取文件时检索文件?相反,一旦我将数据写入已安装的驱动器,该数据是保留在本地存储,还是发送到 GCS 并从本地存储中删除

总体关注,以防我问错了问题

我担心 gcsfuse 安装的驱动器可能会导致所有容器存储被用完,即使数据实际上存储在 Google Cloud 上。我正在尝试评估这是否是一个合理的问题,或者 gcsfuse 是否是为处理此类情况而构建的。

对于那些要告诉我“只需阅读文档”的人

是的,我试过了。如果这些信息在文件中,那么它被埋得足够深或足够模糊,这可能值得在这里提出作为一个问题。

docker google-cloud-storage google-cloud-platform gcsfuse

3
推荐指数
1
解决办法
885
查看次数

如何处理 GCP Container Registry 中的保留策略

GCP 容器注册表构建在 GCP Cloud Storage 之上,可以在那里设置相当复杂的保留策略。

然而,容器注册表中没有这样的功能,并且存储中的图像之间没有区别(所有图像文件名都是哈希值,并且位于同一存储桶的同一目录中),因此无法设置策略来保留仅单个图像的最后五个版本。

有谁知道是否可以为 GCP 中的图像设置更复杂的保留政策以及应该如何做?

google-cloud-storage google-cloud-platform docker-registry gcloud

3
推荐指数
1
解决办法
2729
查看次数

托管在 Google Cloud Storage 上的安全静态网页

我想向托管在 Google Cloud Storage 上的网站添加基本身份验证。该站点连接到负载平衡器,具有有效的 SSL 证书和 CDN。

基本身份验证就足够了,但存储不支持 htaccess。签名 URL 效果很好,但适用于单个文件,而不是整个网站。身份感知代理当前不支持存储上的站点。

解决方案将仅用于保护舞台环境免受世界影响。它的设计应该为我们的团队和客户提供一个简单的入口。

您会推荐什么解决方案?

google-cloud-storage google-cloud-platform google-cloud-cdn

3
推荐指数
1
解决办法
2225
查看次数

gsutil rsync“解包的值太多”错误

我正在尝试使用 gsutil 将包含超过 3k 文件的文件夹同步到 Google Cloud 上的存储桶。问题是上传的文件不到一半,然后我收到此错误:

解包的值太多了
CommandException: 1 个文件/对象无法复制/删除。

由于 Google Cloud 支持仅适用于那些有 200 美元闲钱的人,这里有人有不涉及单独同步每个子文件夹的解决方案吗?

我在 Windows 10 上使用 powershell,但这个问题也发生在 linux 上。我无法在网上的任何地方找到解决方案。

google-cloud-storage google-cloud-platform gcloud gsutil

3
推荐指数
1
解决办法
479
查看次数