在Google Compute Engine中创建实例模板时,如何为从模板创建的实例启用http流量?
我当时认为提供一个http标签会起作用,但似乎没有这样做。
答案 0 :(得分:8)
项目中的默认网络附带默认防火墙规则" default-allow-http"和" default-allow-https"允许端口80和443上的流量。这些规则将目标标记设置为" http-server"。设置实例模板时,您可以选中"允许HTTP流量"和"允许HTTPS流量"从您的开发人员控制台,通过这样做,默认防火墙规则将应用于通过此实例模板创建的新实例。
答案 1 :(得分:2)
以下内容应该在理论上有效,但在实践中,它并没有起作用。
一种可能的解决方案是为该项目中的所有实例启用http流量。为此,请在GCE命令行工具中运行:
layout
我不清楚为特定实例模板设置规则是可能的,但希望有人会纠正我。
答案 2 :(得分:1)
一个可能的解决方案是为该项目中的所有实例>启用http流量。为此,请在GCE命令行工具中运行:
gcloud compute firewall-rules创建FIREWALL_RULE - 允许tcp:80
我尝试你的命令,但它不起作用,因为命令需要实例的名称:
google130505_student@qwiklabs-gcp-286ef104ac93631b:~$ gcloud compute firewall-rules create FIREWALL_RULE --allow tcp:80
Creating firewall...failed.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource:
- Invalid value for field 'resource.name': 'FIREWALL_RULE'. Must be a match of regex '(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)'
google130505_student@qwiklabs-gcp-286ef104ac93631b:~$ gcloud compute firewall-rules create gclab2 --allow tcp:80
Creating firewall.../Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-286ef104ac93631b/global/firewalls/gclab2].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY
gclab2 default INGRESS 1000 tcp:80
所以正确的命令是:
gcloud compute firewall-rules create NAME_OF_YOUR_INSTANCE --allow tcp:80
答案 3 :(得分:1)
gcloud compute firewall-rules create FIREWALL_RULE --allow tcp:80,tcp:443
此命令应该执行
答案 4 :(得分:0)
如果查询允许该虚拟机用作http或https服务器,那么我就成功使用了
cloud compute instances add-tags myvm1 --tags=http-server