gpt4 book ai didi

google-cloud-platform - 如何从没有外部 IP 的 GCE VM 读取存储桶?

转载 作者:行者123 更新时间:2023-12-05 03:02:17 30 4
gpt4 key购买 nike

我正在尝试使用 gsutil cp 命令从 GCE VM 中读取存储桶中的文件。 GCE VM 使用自定义存储帐户,该帐户具有对存储桶中文件的 IAM 权限和访问策略。我的观察如下:

  1. 当 VM 有一个与之关联的临时外部 IP 时,gsutil cp 命令可以正常工作并且文件已成功复制。
  2. 但是,如果没有分配外部 IP,gsutil cp 命令将不起作用。

在情况 2 中,gsutil cp 命令产生以下输出:

gsutil cp gs://<mybucket-name>/<myfile> .
INFO 0304 13:02:18.377339 retry_util.py] Retrying request, attempt #1...
INFO 0304 13:03:20.684459 retry_util.py] Retrying request, attempt #2...
INFO 0304 13:04:25.247341 retry_util.py] Retrying request, attempt #3...
INFO 0304 13:05:34.869920 retry_util.py] Retrying request, attempt #4...
INFO 0304 13:06:52.144510 retry_util.py] Retrying request, attempt #5...

任何人都可以建议如何理解这一点以及这是否是预期的行为?从未分配外部 IP 的 GCE VM 中读取存储桶中内容的正确方法是什么?

最佳答案

如果没有外部 IP 地址,您的 VM 实例缺少什么,以便它可以访问 Cloud Storage 是为您的 VM 实例的子网启用 Google Private Access

Private Access Options for Services 的文档中所述:

VM instances that only have internal IP addresses (no external IP addresses) can use Private Google Access. They can reach the external IP addresses of Google APIs and services.

You enable Private Google Access on a subnet by subnet basis; it's asetting for subnets in a VPC network. To enable a subnet for PrivateGoogle Access and to view the requirements, see Configuring Private Google Access

您只需:

  1. 转到控制台 -> VPC 网络
  2. 选择您的 VM 实例的子网(例如 default -> us-central1)
  3. 编辑并选择私有(private) Google 访问权限 -> 开启。然后保存。

还要确保您的 VM 可以访问 Cloud Storage API。

关于google-cloud-platform - 如何从没有外部 IP 的 GCE VM 读取存储桶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54984713/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com