use*_*823 5 google-compute-engine google-cloud-platform
当我尝试访问元数据服务器时出现Could not resolve host metadata.google.internal
错误。Could not resolve host metadata
虽然我使用自己的 VPC 和自定义防火墙,但我不认为这是防火墙的问题,因为根据 Google 元数据服务器流量永远不会离开实例。此外,我的主机文件中有一个条目证明了这一点:
# Google Compute Engine metadata server
169.254.169.254 metadata.google.internal metadata
我尝试 ping 169.254.169.254,但它返回General Failure
(但是,它证明什么都没有......我不确定元数据服务器是否允许 ICMP)。
我的 Stackdriver Logging Agent 也因此失败。这是其日志中的一行:
Failed to access metadata service: error_class=Errno::ENETUNREACH error="Failed to open TCP connection to 169.254.169.254:80 (A socket operation was attempted to an unreachable network. - connect(2) for \"169.254.169.254\" port 80)"
如果重要的话,我的 VPC 网络中的内部流量仅限于icmp
和tcp:22
(ssh)。
发生了什么以及如何解决这个问题?
虽然我使用自己的 VPC 和自定义防火墙,但我不认为这是防火墙的问题,因为根据 Google 元数据服务器流量永远不会离开实例。
GCP 元数据流量永远不会离开运行实例的物理主机。此类请求会从访客界面发出,但永远不会被转发。
实例中的主机级防火墙可以阻止流量到达元数据服务器。因为它会在数据包离开来宾之前将其丢弃在实例的网络堆栈中。
通常,元数据服务响应 http、DNS 和 ICMP echo,但所有这些都不适用于您。只有一跳距离,因此不会被错误路由。当然听起来像防火墙。
归档时间: |
|
查看次数: |
36672 次 |
最近记录: |