EC2インスタンスに完全修飾ドメイン名を設定しようとしています。 Route53にCNAMEエントリを設定したので、sync1.staging1.mycompany.netにアクセスすると、正しいインスタンスに解決されます。
これまでのところ成功せずに行ったことは、/ etc/hostnameを編集したため(再起動後も同じままです):
sync1.staging1.mycompany.net
次に、hostnameコマンドを使用してホスト名を設定しました。
Sudo hostname sync1.staging1.mycompany.net
それから/ etc/hostsを編集し、この行があることを確認しました:
127.0.0.1 localhost sync1.staging1.mycompany.net sync1
問題は、hostname -fを実行すると、次のようになります:
localhost
hostname -sを実行すると、正しく取得されます。
sync1
パラメータなしでhostnameだけを実行すると、次のようになります。
sync1.staging1.mycompany.net sync1
問題は、完全修飾ドメイン名を設定する必要があるPuppetマニフェストを実行しようとしていることです。そうしないと、puppet apply manifests/site.pp:
Error: Could not find default node or by name with 'sync1.eu-west-1.compute.internal, sync1.eu-west-1.compute, sync1.eu-west-1, sync1' on node sync1.eu-west-1.compute.internal
Error: Could not find default node or by name with 'sync1.eu-west-1.compute.internal, sync1.eu-west-1.compute, sync1.eu-west-1, sync1' on node sync1.eu-west-1.compute.internal
これは、Ubuntu 12.04 LTSで実行されるEC2インスタンスです。
何か案は?インスタンスに完全修飾ドメイン名を持たせるために、インスタンスのElastic IPアドレスを設定する必要がありますか?
hostname -fは、127.0.0.1の後の名を返します。
そのため、localhostを切り替えるだけで、fqdnは正しい戻りアドレスを提供しますが、localhostエイリアスは引き続き機能します。