繁体   English   中英

如何移植谷歌计算引擎实例?

[英]How to port forward Google Compute Engine Instance?

我已经使用 Google Compute Engine 平台设置了 VPS。 在该实例中,我建立了一个 MongoDB 数据库,该数据库在本地托管在默认端口 21017。我还设置了一个基于 REST API 的 NodeJS 服务器,并在端口 8080 上快速监听连接。

现在,我只能在内部访问 NodeJS 站点。 如何将VPS 8080端口暴露给外部ip地址,这样我就可以在任何地方访问API?

我尝试遵循这篇文章的答案: Enable Access Google Compute Engine Instance Via HTTP Port

但这并没有解决我的问题

默认防火墙规则

默认情况下,Google Compute Engine 防火墙会阻止所有进入您的虚拟机的流量(即传入的网络流量)。 如果您的 VM 是在默认网络上创建的,则允许使用 22 (ssh)、3389 (RDP) 等少数端口。

此处记录了默认防火墙规则

打开入口端口

入口防火墙规则在此处描述

推荐的方法是创建一个防火墙规则,允许端口8080访问包含您选择的特定标签的 VM。 然后将此标签关联到您希望允许入口8080的虚拟机上。

如果您使用gcloud ,则可以使用以下步骤执行此操作:

# Create a new firewall rule that allows INGRESS tcp:8080 with VMs containing tag 'allow-tcp-8080'
gcloud compute firewall-rules create rule-allow-tcp-8080 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-8080 --allow tcp:8080

# Add the 'allow-tcp-8080' tag to a VM named VM_NAME
gcloud compute instances add-tags VM_NAME --tags allow-tcp-8080

# If you want to list all the GCE firewall rules
gcloud compute firewall-rules list

这是另一个堆栈溢出答案,它引导您了解如何使用 Cloud Console Web UI(除了gcloud )允许特定端口上的入口流量到您的虚拟机。

静态 IP 地址

您链接的答案仅描述了如何分配静态 IP 地址并将其分配给您的虚拟机。 此步骤独立于防火墙规则,因此如果您想使用静态 IP 地址,可以组合使用。

gcloud compute ssh --ssh-flag="-L 10000:localhost:10000" root@machine_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM