DNS internal di dalam Amazon AWS VPC

21

Saya mulai memahami VPC tetapi tidak melihat solusi DNS internal yang baik. Misalnya, kami menggunakan server basis data non-RDS yang terhubung dengan server lain di VPC. Saya ingin terhubung dengan nama, bukan IP. Sebagian ini supaya saya bisa mendapatkan alamat 10.xxx internal, yang mungkin lebih cepat. Sebagian besar, itu membuat konfigurasi lebih mudah, lebih terbaca, dan lebih fleksibel.

Di masa lalu (sekitar tahun 2008), pra-VPC saya memiliki server yang menjalankan MaraDNS yang akan kami perbarui saat kami memulai dan mengubah instance, dan ini sangat merepotkan, terutama karena server akan mendapatkan alamat internal yang ditetapkan oleh DHCP sendiri ketika mereka memulai kembali, dan hanya karena itu adalah hal lain yang harus dihadapi. Beberapa rekan saya yang menjalankan sistem yang berbeda berpikir saya adalah seorang idiot untuk melakukan semua upaya ini - mereka hanya memperbarui file / etc / hosts (yang hebat sampai ada pemadaman dan semua server mereka kembali dengan IP baru).

Haruskah saya melihat Route53 (tempat kami melakukan semua DNS publik kami) atau ada sesuatu yang saya lewatkan?

Pembaruan: 2017 - DNS internal sekarang menjadi fitur Rute 53. Woot!

Tom Harrison Jr
sumber
Ini sebenarnya pertanyaan yang bagus, sesuatu yang telah saya perjuangkan untuk mencari solusinya juga. Saya akan sangat bersedia memberikan hadiah bagus untuk mencoba dan menarik jawaban yang bagus.
EEAA
Mesin virtual VPC dapat memiliki alamat IP pribadi tetap, jadi mengapa menjalankan server DNS Anda sendiri bukan pilihan?
Dusan Bajic
@ dusan.bajic - Saya akan menjalankan server DNS saya sendiri jika saya harus, tapi seperti yang saya nyatakan dalam pertanyaan, itu hanya hal lain untuk mengelola, memantau, dan tetap bekerja. Saya berharap bahwa saya hanya kehilangan sesuatu yang AWS telah menambahkan ... kira tidak :-)
Tom Harrison Jr

Jawaban:

5

Instans harus mendaftarkan nama DNS mereka dengan server DNS Anda melalui DDNS ketika mereka mulai (sebagai CNAME ke FQDN yang ditugaskan AWS publik mereka); dengan cara itu Anda dapat merujuk mereka dengan nama terkenal dan mendapatkan alamat yang paling tepat (internal atau eksternal) di mana pun Anda berada. Route53 mungkin memiliki jenis sihir bawaan ini, tetapi saya lebih suka solusi independen penyedia jika memungkinkan.

womble
sumber
9
Route53 tidak memilikinya dibangun, untuk pengetahuan saya.
ceejayoz
1
@ Womble - Saya berharap keajaiban yang Anda bicarakan di Route53, tetapi tidak melihat apa-apa. Server dalam VPC jadi tidak ada FQDN publik, tapi ada statis (stabil) IP yang saya bisa mendaftar dengan catatan A menggunakan alat Route53 CLI. Jadi ini adalah ide yang bagus dan mengalahkan pengaturan dan pengelolaan server DNS saya sendiri. Saya tidak begitu mengerti mengapa AWS tidak membiarkan kami menetapkan nama host DNS-addressable kami sendiri sebagai bagian dari pembuatan instance. Sigh :-) Saya akan menerima jawabannya dalam beberapa hari jika tidak ada orang lain yang memiliki solusi yang lebih baik. Terima kasih!
Tom Harrison Jr
@ TomHarrisonJr meskipun Anda menandai ini sebagai benar - saya kira itu dilakukan dengan enggan? Apa solusi akhir Anda?
Andrew
2
@Andrew Meskipun ini adalah jawaban yang valid, jawaban singkatnya adalah "AWS tidak memiliki layanan DNS internal" dan karenanya Anda perlu memutar sendiri. Saya penggemar MaraDNS - sederhana, mudah dikelola melalui file teks, ringan, dll. Jika Anda benar-benar tidak ingin mengekspos server pribadi Anda melalui DDNS atau Route53, ini akan menjadi cara saya melakukannya di masa lalu.
Tom Harrison Jr
6

Tampaknya dari dokumentasi AWS VPC bahwa pendekatan yang disarankan untuk memanfaatkan server DNS di dalam AWS VPC adalah pertama-tama membuat Set Opsi DHCP dan mengaitkannya dengan VPC. Kemudian Anda dapat berdiri 1-4 server DNS di VPC itu. Selain itu, Set Opsi DHCP akan memungkinkan Anda untuk mengatur yang berikut untuk semua instance VPC yang terkandung. (diambil dari dokumen)

DHCP Option Name      | Description
 domain-name          |  A domain name of your choice (for example, example.com).
 domain-name-servers  |  The IP address of a domain name server.
 ntp-servers          |  The IP address of a Network Time Protocol (NTP) server. 
 netbios-name-servers |  The IP address of a NetBIOS name server.
 netbios-node-type    |  The NetBIOS node type (1, 2, 4, or 8).
Oort
sumber
Terima kasih, sepertinya AWS bergerak menuju beberapa infrastruktur DNS internal ... secara bertahap. Pertanyaan saya saat itu adalah apakah ada alternatif untuk hosting DNS internal saya sendiri. Seperti yang terjadi (sekarang di perusahaan baru) kami menggunakan Route53 untuk DNS internal dan hanya mengawali nama. Misalnya nama host publik mungkin foo.example.comdan mitra internal adalah i.foo.example.com, yang alamatnya adalah alamat 10.xxx. Ini memiliki beberapa masalah keamanan yang berpotensi mengungkap internal kita, tetapi terbatas.
Tom Harrison Jr
2
Amazon sekarang mendukung zona host pribadi, yang memungkinkan untuk resolusi DNS yang dibatasi hanya dapat diselesaikan melalui server DNS Amazon dari VPC yang terkait dengan zona host pribadi. docs.aws.amazon.com/Route53/latest/DeveloperGuide/…
jnt30
4

Bukankah sesuatu seperti Avahi bekerja? Ini bahkan diinstal dan dikemas dengan baik untuk sebagian besar distribusi Linux. Berikan saja setiap contoh yang perlu dijangkau nama host yang unik, dan Bob adalah paman Anda.

Michael Hampton
sumber
1
Jaringan AWS aneh ... Saya tidak akan selalu berasumsi bahwa Avahi benar-benar berfungsi. Tidak butuh banyak untuk mengujinya.
womble
Ini akan menjadi solusi yang menarik karena itu berarti saya hanya perlu menyebutkan contoh saya dan sisanya adalah sihir. Tetapi ada sangat sedikit dokumen, dan tidak segera jelas bagi saya apakah ini tepat untuk lingkungan server produksi. Saya akan mengingatnya - terima kasih.
Tom Harrison Jr