如何从没有外部 IP 的 GCE VM 读取存储桶?
How to read from a Storage bucket from a GCE VM with no External IP?
我正在尝试使用 gsutil cp
命令从 GCE VM 中读取存储桶中的文件。 GCE VM 使用自定义存储帐户,该帐户具有对存储桶中文件的 IAM 权限和访问策略。我的观察如下:
- 当 VM 有一个与之关联的临时外部 IP 时,
gsutil cp
命令工作正常并且文件复制成功。
- 但是,如果没有分配外部 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 实例缺少什么,以便它可以访问云存储是为您的子网启用 Google 私有访问 虚拟机实例。
如 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 a
setting for subnets in a VPC network. To enable a subnet for Private
Google Access and to view the requirements, see Configuring Private Google Access
您只需:
- 转到控制台 -> VPC 网络
- 选择您的 VM 实例的子网(例如 default -> us-central1)
- 编辑和select私人Google访问 -> 打开。然后保存。
还要确保您的 VM 可以访问云存储 API。
我正在尝试使用 gsutil cp
命令从 GCE VM 中读取存储桶中的文件。 GCE VM 使用自定义存储帐户,该帐户具有对存储桶中文件的 IAM 权限和访问策略。我的观察如下:
- 当 VM 有一个与之关联的临时外部 IP 时,
gsutil cp
命令工作正常并且文件复制成功。 - 但是,如果没有分配外部 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 实例缺少什么,以便它可以访问云存储是为您的子网启用 Google 私有访问 虚拟机实例。
如 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 a setting for subnets in a VPC network. To enable a subnet for Private Google Access and to view the requirements, see Configuring Private Google Access
您只需:
- 转到控制台 -> VPC 网络
- 选择您的 VM 实例的子网(例如 default -> us-central1)
- 编辑和select私人Google访问 -> 打开。然后保存。
还要确保您的 VM 可以访问云存储 API。