首先,我希望使用纯粹的gcloud命令来实现我的目标 - 而不是使用GCE界面 - 所以请不要提供使用GUI的答案!
我从连接到VM实例的磁盘创建了一个镜像。为了这样做,我必须根据Google文档删除实例以创建镜像。之后,我使用该镜像重新创建了我的实例。
从这个过程中几乎所有的东西似乎都完美地工作了,除了实例中现在已禁用http和https流量!我无法再浏览托管在VM上的网站。我也无法通过ping域名获得响应。
当我查看GCE GUI(只是查看 - 不修改任何内容!)时,我可以看到实例的“允许http流量”和“允许https流量”的复选框未被选中。这似乎与我的问题有关。
我检查了服务器上的防火墙规则(iptables)以及与VM相关联的Google网络上的防火墙规则。两者都没有任何问题(并且VM绝对已与该网络相关联)。如果我在服务器上使用tcpdump监听端口80,并浏览到我的域名,我可以看到请求已到达服务器,因此它们没有被入站防火墙阻止。我还明确地重新启动了Apache,只是为了确保这不是问题。
那么,我需要做些什么才能在出站时解除对端口80和443的阻塞?是否可能是一个SELinux问题?由于该镜像应该准确地表示磁盘上的内容,因此不应该存在这个问题。看起来这必须是GCE方面的问题...
如果这些复选框不会编辑服务器上的iptables或Google网络上的防火墙规则,那么它们实际上对实例有什么作用?设置这些开关的gcloud命令是什么,或者最好是使用实例创建命令指定?