EC2,RHEL - 没有域名路由

时间:2013-09-18 15:08:20

标签: amazon-ec2 routing

这可能非常简单,我只是错过了一步。我(最初)试图解决的问题是如何获得静态分配的主机名,每次重启都不会改变。我已完成以下步骤:

我在GoDaddy上注册了一个域名,它指向我的EIP。我用它通过SSH(putty)连接到我的EC2实例,所以我知道那部分工作正常。我打开了端口9080,9060,9043和9443以及SSH和FTP端口。我已经安装并启动了使用这些端口的软件,这些东西通常只适用于本地RHEL安装,因此我认为这里的不同之处在于自定义域名。

我已将我的EIP和完全限定的主机名添加到我的/ etc / hosts文件中。

我已将我的全限定主机名添加到/ etc / hostname文件中,并修改了/etc/rc.local脚本,以便在重新启动时正确设置主机名,并且可以正常工作。如果我执行命令hostname,它将返回我的完全限定主机名,因此看起来没问题。

我不能ping我的服务器,但我认为没问题,因为亚马逊可能会阻止ping。所以我不认为这是任何事情的症状。

我无法打开http://myserver.mydomain:9080/,这通常只是有效。这里只是超时了。

如果我从EC2实例中执行wget http://myserver.mydomain:9080,它将返回失败:无路由到主机

但如果我对localhost做一个wget而不是完全限定的名字,我会得到我期望作为回应。

那么....路由表?那些需要改变吗?如果是这样的话?

1 个答案:

答案 0 :(得分:0)

你可能不想做你做过的事。 EC2中的所有内容都是NAT'd。这意味着分配给您的实例的IP是私有/内部IP,并且路由系统将公共IP映射到它。

因此,在内部,您希望一切都解析为私有IP,否则您将收取流量费用,因为它必须路由到边缘然后重新路由。使用公共DNS名称将从默认DNS正确解析服务器

如果您使用的是RHEL,则需要确保安全组和内部防火墙(iptables)都已打开端口。您可以禁用内部防火墙,因为它对安全组有点多余。另一方面,如果您需要安全组,它可以提供一些选项。