これが私が考えていることであり、私が望んでいることです。
AmazonでVPCを作成し、パブリックサブネットをその中に配置し、パペットサーバーインスタンスとフルスタックWebサーバーインスタンスをVPCに配置します。
ここで、puppetサーバーのホスト名を「puppet」に設定し、Webサーバーのホスト名を「webserver」に設定します。
次に、ドメイン名を「my-company-name.com.local」として設定したDHCPオプションを設定し、Amazonが提供するDNSを使用して、それをVPCに関連付けます。同じドメイン名でRoute53を使用してゾーンレコードを作成します。
次に、2つのインスタンスに新しいDHCPリースとVOILAを取得するように強制します。それらはプライベートIPアドレスを取得し、DNSは順方向および逆方向のDNSルックアップ用に自動的に更新されます。
これで、「puppet.mycompany.com.local」は「webserver.mycompany.com.local」を見つけることができ、その逆も同様に、VPCのネットワークのプライベート側で見つけることができます。
2つの質問は次のとおりです。A)DNSとDHCPはどのように機能しますか(特にそれらの間の自動連携)? DHCPによって割り当てられたIPアドレスをDNSレコードに手動で入力する必要はありませんか? B)これを機能させるにはどうすればよいですか?おそらく、作成する必要のあるDNSレコードやその他の手順は何ですか?
取られた2つのアプローチがあるようです。ただし、1秒バックアップすると、IS Route 53にダイナミックDNSがありません。つまり、AWSのVPCにDHCPとDNSの間に連携がありません。
アプローチ1: http://www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your-Amazon-ec2-instances/ (Bind9が必要ネットワーク内のDNSサーバー)
アプローチ2: http://cantina.co/automated-dns-for-aws-instances-using-route-53/ (一連のスクリプトとダウンロードされたライブラリが必要であり、さらにIAMロールの資格情報を入力しますシステム内のすべてのサーバーでDNS更新を許可します。ハッキングされたボックスが1つあり、ネットワークはトーストです。)
私は何をするつもりですか?とにかくpuppetを実行する必要があり、TheForemanにはBind9とdhcpサーバーが含まれています。だから私はそれにインスタンスを捧げます。
上記の質問の詳細を使用しました。ここにいくつかの追加事項があります:
内部ホストゾーン(例:ここin)で、ホストのAレコードではなくCNAMEを作成します。
test.in. CNAME ip-10-0-9.56.us-west-2.compute.internal
DHCPオプションセットについては、次のセットがあることを確認してください
domain-name = in
domain-name-servers = AmazonProvidedDNS
スクリプトを使用してec2インスタンスをデプロイしている場合:DNSレコードを作成すると同時に設定できます。つまり、(テラフォーム)
resource "aws_route53_record" "ec2_alias_record" {
zone_id = "${var.domain_id}"
name = "MyComputer"
type = "CNAME"
ttl = "300"
records = ["${aws_instance.ec2_instance.public_ip}"]
}
インスタンスを作成(再作成)するたびに、レコードが更新されます。また、ループ上でcount.index +1変数を使用してN個のインスタンスとN個のレコードを作成するために、パラメーターを設定できます。お役に立てれば。