0

これはおそらく信じられないほど単純で、1 つのステップが欠けているだけです。私が (当初) 解決しようとしていた問題は、再起動のたびに変更されない、静的に割り当てられたホスト名を取得する方法でした。次の手順を実行しました。

GoDaddy に登録されたドメインがあり、それが私の EIP を指しています。SSH (パテ) 経由で EC2 インスタンスに接続するために使用しているので、その部分が機能していることがわかります。ポート 9080、9060、9043、および 9443 と、SSH および FTP ポートを開きました。そして、これらのポートを使用するソフトウェアをインストールして開始しました。通常、それらはローカルの RHEL インストールでのみ機能するため、ここでの違いはカスタム ドメイン名だと思います。

EIP と完全修飾ホスト名を /etc/hosts ファイルに追加しました。

完全修飾ホスト名を /etc/hostname ファイルに追加し、/etc/rc.local スクリプトを変更して、再起動時にホスト名を適切に設定しました。これは機能します。コマンド hostname を実行すると、完全修飾ホスト名が返されるので、問題ないようです。

サーバーに ping を実行できませんが、おそらく amazon が ping をブロックするため、問題ないと思います。だから何の症状もないと思います。

http://myserver.mydomain:9080/を開くことができません。通常は機能します。ここでちょうどタイムアウトします。

EC2 インスタンス内からwget http://myserver.mydomain:9080を実行すると、失敗が返されます: No Route To Host

しかし、完全修飾名の代わりに localhost に対して wget を実行すると、期待どおりの応答が得られます。

それで....ルーティングテーブル?それらを変更する必要がありますか?もしそうなら、どのように?

4

1 に答える 1

0

あなたはおそらくあなたがしたことをしたくないでしょう。EC2 内のすべてが NAT されています。インスタンスに割り当てられた IP はプライベート/内部 IP であり、パブリック IP はルーティング システムによってマッピングされていることを意味します。

内部的には、すべてをプライベート IP に解決する必要があります。そうしないと、エッジにルーティングしてから再度ルーティングする必要があるため、トラフィックに対して課金されます。パブリック DNS 名を使用すると、デフォルトの DNS サーバーから正しく解決されます。

RHEL を使用している場合は、セキュリティ グループと内部ファイアウォール (iptables) の両方でポートが開かれていることを確認する必要があります。内部ファイアウォールはセキュリティ グループと少し重複しているため、無効にすることができます。一方、必要に応じて、セキュリティ グループが提供しないオプションを提供することもできます。

于 2013-09-18T15:14:31.720 に答える