这可能非常简单,我只是错过了一步。我(最初)试图解决的问题是如何获得静态分配的主机名,每次重启都不会改变。我已完成以下步骤:
我在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而不是完全限定的名字,我会得到我期望作为回应。
那么....路由表?那些需要改变吗?如果是这样的话?
答案 0 :(得分:0)
你可能不想做你做过的事。 EC2中的所有内容都是NAT'd。这意味着分配给您的实例的IP是私有/内部IP,并且路由系统将公共IP映射到它。
因此,在内部,您希望一切都解析为私有IP,否则您将收取流量费用,因为它必须路由到边缘然后重新路由。使用公共DNS名称将从默认DNS正确解析服务器
如果您使用的是RHEL,则需要确保安全组和内部防火墙(iptables)都已打开端口。您可以禁用内部防火墙,因为它对安全组有点多余。另一方面,如果您需要安全组,它可以提供一些选项。