Google cloud platform 连接到没有外部IP的VM实例

Google cloud platform 连接到没有外部IP的VM实例,google-cloud-platform,virtual-machine,Google Cloud Platform,Virtual Machine,我正在尝试通过cloudshell和cloudsdk连接到一个没有外部IP地址的google cloud VM实例 谷歌文档说我们可以使用IAP连接它 通过IAP连接:请参阅 a) 将角色/iap.tunnelResourceAccessor角色授予希望连接到虚拟机的用户 b) 使用下面的命令连接到VM gcloud compute ssh instance-name --zone zone 或 使用IAP进行TCP转发:请参阅 我们还可以通过为IP'35.235.240.0/20'设置入口防

我正在尝试通过
cloudshell
cloudsdk
连接到一个没有外部IP地址的google cloud VM实例

谷歌文档说我们可以使用IAP连接它 通过IAP连接:请参阅

a) 将
角色/iap.tunnelResourceAccessor
角色授予希望连接到虚拟机的用户

b) 使用下面的命令连接到VM

gcloud compute ssh instance-name --zone zone
或 使用
IAP
进行
TCP
转发:请参阅 我们还可以通过为
IP
'35.235.240.0/20'
设置入口防火墙规则来连接端口
TCP:22
然后选择一个
IAM
角色选择
Cloud IAP>IAP Secured Tunnel User

这两种不同的方法有什么区别?这两种独立的IAM角色有什么区别

roles/iap.tunnelResourceAccessor
IAP-secured Tunnel User

我是云计算新手,请记住我的基本知识。

这完全是一样的。看

IAP安全隧道用户(角色/IAP.tunnelResourceAccessor)


您有在GUI中看到的角色的显示名称:
IAP Secured Tunnel User
,还有必须在脚本和CLI中使用的角色的技术名称
roles/IAP.tunnelResourceAccessor
,两者完全相同。看

IAP安全隧道用户(角色/IAP.tunnelResourceAccessor)


您有在GUI中看到的角色的显示名称:
IAP Secured Tunnel User
,还有您必须在脚本和CLI中使用的角色的技术名称
roles/IAP.tunnelResourceAccessor
,问题中提到的链接(“参考”)实际上指向 . 除了通过IAP访问之外,通过堡垒主机进行连接也是另一种方法

如文件所述

IAP的TCP转发功能将SSH连接封装在HTTPS中。 IAP的TCP转发功能然后将其发送到远程实例

因此,问题的两个部分(或之前或之后)属于相同的访问方法:。因此,第一个问题的答案是“无差异”
,因为所有这些都描述了IAP TCP转发的工作原理,以及设置和使用IAP TCP转发的步骤:

1.创建一个防火墙规则:

  • 适用于您希望使用IAP访问的所有VM实例
  • 允许来自IP范围
    35.235.240.0/20
    (此范围包含IAP用于TCP转发的所有IP地址)的入口流量
  • 允许使用IAP TCP转发连接到您希望访问的所有端口,例如SSH的端口
    22
2.授予使用IAP的权限:

  • 使用GCP控制台或gcloud向用户添加角色
    IAP安全隧道用户
    角色/IAP.tunnelResourceAccessor
    )。
    注意:
    Owner
    有权访问项目的用户始终有权使用IAP进行TCP转发
3.使用以下工具之一连接到目标VM:

  • GCP控制台:使用云控制台中的
    SSH
    按钮
  • gcloud计算ssh实例\u名称
对于如何调用IAP TCP转发来访问没有公共IP的VM实例,有一个重要的解释。见:

注意。如果实例没有公共IP地址,连接将自动使用IAP TCP隧道。如果实例确实具有公共IP地址,则连接将使用公共IP地址而不是IAP TCP隧道。
您可以使用
--tunnel through iap
标志,以便
gcloud compute ssh
始终使用iap TCP隧道

如前所述,
角色/iap.tunnelResourceAccessor
iap安全隧道用户
不是不同的IAM角色,而是相同角色的角色名称角色标题。还有一个资源以方便的形式表示这一点:

问题中提到的链接(“参考”)实际上指向 . 除了通过IAP访问之外,通过堡垒主机进行连接也是另一种方法

如文件所述

IAP的TCP转发功能将SSH连接封装在HTTPS中。 IAP的TCP转发功能然后将其发送到远程实例

因此,问题的两个部分(或之前或之后)属于相同的访问方法:。因此,第一个问题的答案是“无差异”,因为所有这些都描述了IAP TCP转发的工作原理,以及设置和使用IAP TCP转发的步骤:

1.创建一个防火墙规则:

  • 适用于您希望使用IAP访问的所有VM实例
  • 允许来自IP范围
    35.235.240.0/20
    (此范围包含IAP用于TCP转发的所有IP地址)的入口流量
  • 允许使用IAP TCP转发连接到您希望访问的所有端口,例如SSH的端口
    22
2.授予使用IAP的权限:

  • 使用GCP控制台或gcloud向用户添加角色
    IAP安全隧道用户
    角色/IAP.tunnelResourceAccessor
    )。
    注意:
    Owner
    有权访问项目的用户始终有权使用IAP进行TCP转发
3.使用以下工具之一连接到目标VM:

  • GCP控制台:使用云控制台中的
    SSH
    按钮
  • gcloud计算ssh实例\u名称
对于如何调用IAP TCP转发来访问没有公共IP的VM实例,有一个重要的解释。见:

注意。如果实例没有