我正在尝试使用gsutil cp
命令从GCE VM中读取存储桶中的文件。 GCE VM使用自定义存储帐户,该帐户具有必需的IAM权限和对存储分区中文件的访问策略。我的观察如下:
gsutil cp
命令可以正常工作,并且文件已成功复制。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中读取存储桶中内容的正确方法是什么?
答案 0 :(得分:0)
没有外部IP地址的VM实例缺少什么以使其可以访问Cloud Storage,就是为VM实例的子网启用 Google私有访问。
如Private Access Options for Services文档中所述:
仅具有内部IP地址(无外部IP地址)的VM实例可以使用私有Google Access。它们可以访问Google API和服务的外部IP地址。
您逐个子网启用“私有Google访问”;它是 设置VPC网络中的子网。为私有启用子网 Google Access并查看要求,请参阅Configuring Private Google Access
您只需要:
还要确保您的VM可以访问Cloud Storage API。