Google cloud platform 如何在Google Compute Engine中打开特定端口,如9090

Google cloud platform 如何在Google Compute Engine中打开特定端口,如9090,google-cloud-platform,port,google-compute-engine,Google Cloud Platform,Port,Google Compute Engine,我有2个Google计算引擎实例,我想在这两个实例中打开端口9090。我认为我们需要添加一些防火墙规则 你能告诉我怎么做吗?你需要: 请访问cloud.google.com 到我的控制台去 选择你的项目 选择网络>专有网络 选择“防火墙规则” 选择“创建防火墙规则” 要应用规则选择VM实例,请选择目标>“指定的目标标记”,并在“目标标记”中输入标记的名称。此标记将用于将新的防火墙规则应用到您想要的任何实例上。然后,确保实例应用了网络标记 要允许到端口9090的传入TCP连接,请在“协议和端口”中

我有2个Google计算引擎实例,我想在这两个实例中打开端口9090。我认为我们需要添加一些防火墙规则

你能告诉我怎么做吗?

你需要:

  • 请访问cloud.google.com

  • 到我的控制台去

  • 选择你的项目

  • 选择网络>专有网络

  • 选择“防火墙规则”

  • 选择“创建防火墙规则”

  • 要应用规则选择VM实例,请选择目标>“指定的目标标记”,并在“目标标记”中输入标记的名称。此标记将用于将新的防火墙规则应用到您想要的任何实例上。然后,确保实例应用了网络标记

  • 要允许到端口9090的传入TCP连接,请在“协议和端口”中输入
    TCP:9090

  • 单击创建

  • 我希望这对你有帮助


    更新请参阅以自定义规则

    您需要添加防火墙规则,以打开对实例的入站访问
    tcp:9090
    。如果您有两个以上的实例,并且只想向这两个实例打开9090,那么您需要确保这两个实例共享一个标记。您可以通过控制台或命令行添加或更新标记;如果需要,我建议使用GUI,因为它使用
    setinstancetags
    处理读-修改-写循环

    如果要向所有实例打开端口9090,可以创建如下防火墙规则:

    gcutil addfirewall allow-9090 --allowed=tcp:9090
    
    这将适用于您的所有实例

    如果您只想向为您的应用程序提供服务的两个实例打开端口9090,请确保它们具有类似
    my app
    的标记,然后添加如下防火墙:

    gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
    

    您可以阅读更多信息。

    我遇到了与您相同的问题,我可以按照@CarlosRojas的说明解决它,但有一点不同。我没有创建新的防火墙规则,而是编辑了默认的“允许内部”one接受来自任何地方的流量”,因为创建新规则没有任何区别。

    下面是回答这个问题的命令行方法:

    gcloud compute firewall-rules create <rule-name> --allow tcp:9090 --source-tags=<list-of-your-instances-names> --source-ranges=0.0.0.0/0 --description="<your-description-here>"
    
    gcloud计算防火墙规则创建--允许tcp:9090--源标记=--源范围=0.0.0.0/0--描述=“”
    
    这将为您命名的实例打开端口
    9090
    。省略
    --源标记
    --源范围
    将规则应用于所有实例。更多详情请参阅和

    前面的答案非常好,使用较新的
    gcloud
    命令而不是
    gcutil
    命令

    附言: 要了解Google的防火墙规则,请运行
    gcloud compute firewall rules list
    并查看所有防火墙规则

    这个问题很老,答案很好,但我想我应该发布一些在尝试打开端口时应该记住的事情

    首先要记住的是,网络部分被重命名为专有网络。因此,如果您试图找出哪里有可用的防火墙规则选项,请查看VPC网络

    第二件事是,如果您试图在Linux虚拟机上打开端口,请确保在任何情况下都不应尝试使用命令打开端口。我尝试使用它,但失去了对VM的ssh访问。所以不要重复我的错误

    第三件事是,如果您试图在Windows虚拟机上打开端口,您需要在虚拟机内创建防火墙规则,同时使用VPC Networking->Firewall rules。与Linux VM不同,该端口需要在两种防火墙规则中打开。因此,如果您无法从VM外部访问该端口,请检查您是否已在GCP控制台和Windows防火墙中打开该端口

    最后(显而易见)一点是,不要不必要地打开端口。一旦不再需要,请立即关闭端口


    我希望这个答案有用。

    创建防火墙规则

    如果您不熟悉GCP中的防火墙规则,请查看防火墙规则组件[1]。防火墙规则在网络级别定义,仅适用于创建防火墙规则的网络;但是,为每个项目选择的名称必须是唯一的

    对于云控制台:

  • 转到Google云平台控制台中的防火墙规则页面
  • 单击创建防火墙规则
  • 输入防火墙规则的名称。 此名称对于项目必须是唯一的
  • 指定将在其中实施防火墙规则的网络
  • 指定规则的优先级。 数字越小,优先级越高
  • 对于交通方向,选择入口或出口
  • 对于匹配操作,选择允许或拒绝
  • 指定规则的目标

    • 如果要将规则应用于网络中的所有实例,请选择网络中的所有实例
    • 如果希望规则应用于按网络(目标)标记选择实例,请选择指定的目标标记,然后在目标标记字段中键入规则应应用到的标记
    • 如果要将规则应用于按关联的服务帐户选择实例,请选择指定的服务帐户,指出该服务帐户是在当前项目中还是在服务帐户范围下的另一个项目中,然后在“目标服务帐户”字段中选择或键入服务帐户名称
  • 对于入口规则,请指定源筛选器:

    • 选择IP范围并在Source IP ranges字段中键入CIDR块,以按IP地址范围定义传入流量的源。对来自任何网络的源使用0.0.0.0/0
    • 选择子网,然后从子网弹出按钮中标记所需的子网,以按子网名称定义传入流量的来源
    • 限制酸味