EC2: apakah DNS publik instal stabil? Bisakah saya andalkan itu tidak berubah?

41

Saya telah meluncurkan instance pertama saya, dan saya menggunakannya sebagai server web. Saya melihat bahwa ia memiliki DNS publik (URL publik), misalnya:

ec2-123-45-6-789.compute-1.amazonaws.com

Saya dapat berhasil masuk ke server ini di browser saya, menekannya melalui cURL, dll.

Saya ingin menggunakan server web ini untuk layanan back-end di aplikasi yang saya buat, jadi saya menempatkan URL ini di konfigurasi aplikasi saya, dan itu berfungsi dengan baik.

Tetapi ketika saya berhenti secara manual dan memulai kembali instance saya, saya melihat bahwa DNS publik berubah! Saya telah membaca bahwa ini terjadi ketika Anda secara eksplisit berhenti dan memulai kembali, tetapi tidak terjadi jika Anda hanya "reboot".

Saya tidak berencana menghentikan dan memulai kembali server ini secara eksplisit, tetapi pertanyaan saya adalah: apakah DNS publik ini akan berubah sendiri karena alasan apa pun? Misalnya jika mesin crash secara tidak normal, atau apa pun.

Dengan kata lain, apakah aman mengirim aplikasi yang terhubung ke URL ini?

Aseem Kishore
sumber

Jawaban:

67

Nama DNS publik selalu cocok dengan alamat IP publik.

Alamat IP publik tetap sama untuk sebuah instance sampai dihentikan atau dihentikan. Reboot tidak mengubah alamat IP publik.

Jika sebuah instance EC2 berada dalam VPC, maka ia akan mempertahankan alamat IP publik yang sama pada saat berhenti dan mulai.

Jika sebuah instance EC2 yang tidak ada dalam VPC dihentikan dan kemudian mulai lagi, ia mungkin akan menerima alamat IP publik yang berbeda.

Contoh bisa gagal. Saat Anda memulai instance baru untuk menggantikan instance yang gagal atau dihentikan, ia mungkin akan menerima alamat IP publik yang berbeda.

Karena instance dapat gagal, dan karena Anda mungkin ingin mengubah ukuran instance (dengan berhenti / mulai), tidak disarankan untuk "mengirimkan aplikasi yang terhubung ke [alamat IP publik]" "(atau nama DNS). Setelah instance Anda dihentikan / diakhiri / gagal, pengguna lain bisa mendapatkan alamat IP yang ditetapkan untuk instance mereka dan semua lalu lintas Anda akan pergi ke mereka.

Disarankan untuk menggunakan Alamat IP Elastis untuk mengaitkan layanan publik dengan instance Anda. Anda bisa menjaga alamat IP elastis dan Anda dapat menetapkannya ke setiap instance yang Anda inginkan dari waktu ke waktu, bahkan jika itu adalah contoh yang sama setelah berhenti / mulai.

Setiap alamat IP elastis dilengkapi dengan nama DNS publik, tetapi Anda mungkin lebih baik memetakan nama host Anda sendiri ke alamat IP elastis sehingga nama itu lebih masuk akal bagi manusia.

Berikut panduan Alamat IP Elastis:

http://aws.amazon.com/articles/1346

Inilah artikel yang saya tulis yang membahas tentang perbedaan antara me-reboot dan menghentikan / memulai instance:

Reboot vs. Stop / Mulai dari Amazon EC2 Instance
http://alestic.com/2011/09/ec2-reboot-stop-start

Inilah artikel yang saya tulis yang memberikan alasan Anda mungkin ingin menghentikan / memulai sebuah instance walaupun Anda tidak berpikir Anda akan melakukannya hari ini:

Memindahkan Mesin Virtual EC2 ke Ukuran Lebih Besar
http://alestic.com/2011/02/ec2-change-type

Eric Hammond
sumber
Yah per info saya telah reboot contoh EC2 saya dan baru saja menemukan bahwa dns publik berubah menjadi ip baru. Mungkin contohnya jatuh di antara tetapi saya tidak yakin tentang itu.
Nicolas Manzini
Amazon hanya merekomendasikan bahwa IP elastis digunakan untuk penyeimbang beban. Jadi, jika Anda memiliki layanan pribadi pada contoh EC2 Anda harus memperbarui ips secara manual. docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Jesse
@Jesse ELBs (Penghitung Beban Elastis) tidak menggunakan alamat IP Elastis. Faktanya, ELB mengubah alamat IP setiap saat dan tidak dapat dibuat permanen sama sekali. IP elastis diterapkan pada instance EC2 dan demikian pula apa yang dibutuhkan untuk pertanyaan asli.
Eric Hammond