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

你能告诉我该怎么做吗?


当前回答

我和你有同样的问题,我可以通过遵循@CarlosRojas的指示来解决它,但有一点不同。我没有创建一个新的防火墙规则,而是编辑了default-allow-internal规则,以接受来自任何地方的流量,因为创建新规则没有任何区别。

其他回答

你需要:

Go to cloud.google.com Go to my Console Choose your Project Choose Networking > VPC network Choose "Firewall" Choose "Create Firewall Rule" To apply the rule to select VM instances, select Targets > "Specified target tags", and enter into "Target tags" the name of the tag. This tag will be used to apply the new firewall rule onto whichever instance you'd like. Then, make sure the instances have the network tag applied. Set Source IP ranges to allow traffic from all IPs: 0.0.0.0/0 To allow incoming TCP connections to port 9090, in "Protocols and Ports", check “tcp” and enter 9090 Click Create (or click “Equivalent Command Line” to show the gcloud command to create the same rule)

请参考文档自定义您的规则。

使用此命令打开端口

gcloud compute --project=<project_name> firewall-rules create firewall-rules --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:<port number> --source-ranges=0.0.0.0/0 

您需要添加一个防火墙规则,以便向您的实例开放对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

您可以在这里阅读更多关于在GCE中创建和管理防火墙的信息。

我和你有同样的问题,我可以通过遵循@CarlosRojas的指示来解决它,但有一点不同。我没有创建一个新的防火墙规则,而是编辑了default-allow-internal规则,以接受来自任何地方的流量,因为创建新规则没有任何区别。

console.cloud.google.com >>选择项目>>组网> VPC网络>>防火墙>>创建防火墙

选择“Targets”,指定目标标签,在“target tags”中输入标签名。该标记将用于将新的防火墙规则应用到您想要的任何实例上。

在“协议和端口”中输入tcp:9090

单击Save。