Jika saya mematikan instance Amazon EC2 kemudian mulai lagi, apakah semuanya akan beres?

12

Saya memiliki situs web yang berjalan pada instance berbasis Amazon EC2 Linux, dan dipetakan ke nama domain biasa (x.com). Situs ini berbicara ke database pada instance EC2 kedua.

Saya perlu mematikan contoh ini dan meningkatkan daya komputasi di belakangnya ... jika saya melakukan itu, berapa lama, dan kemudian ketika saya memutar mesin lagi, akankah situs saya kembali online? Apakah alamat IP, info DNS dll. Semua akan dipertahankan sehingga nama domain akan tetap berfungsi, dan masih dapat berbicara dengan DB?

FYI inilah yang saat ini saya lihat untuk server web di panel info AWS EC2 (alamat IP yang tepat sedikit berubah tetapi Anda mendapatkan ide):

Public DNS: ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Private DNS: ip-10-1-1-1.us-west-1.compute.internal
Private IPs: 10.1.1.1
Eric
sumber

Jawaban:

13

Menghentikan dan memulai instance boot EBS sangat mirip dengan hanya me-reboot instance dengan beberapa pengecualian, yang paling terkenal adalah:

  1. Mesin virtual ini diberikan alamat IP internal baru.

  2. Mesin virtual ini diberikan alamat IP publik baru.

  3. Jika instance tidak dalam VPC, maka setiap alamat IP elastis dipisahkan dengan instance.

  4. Semua data pada penyimpanan sesaat (sering di bawah / mnt) hilang

Ada juga beberapa implikasi penagihan dan ketersediaan yang saya jelaskan dalam artikel ini:

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

Contoh VPC memiliki perilaku yang sedikit berbeda termasuk menjaga alamat IP elastis melalui berhenti / mulai.

Jika Anda menggunakan instance sebagai server basis data dan Anda ingin menyambungkannya menggunakan alamat IP internal (lebih murah, lebih cepat) dan Anda tidak ingin harus mengkonfigurasi ulang klien basis data setelah berhenti / mulai, maka Anda dapat menetapkan alamat IP elastis ke instance dan gunakan nama DNS IP elastis eksternal. Ini akan menyelesaikan ke alamat IP internal saat ini setelah Anda mengaitkan kembali alamat IP elastis ke instance yang dimulai kembali dan klien Anda akan mengambil di mana mereka tinggalkan.

Saya membahas lebih detail tentang pendekatan ini dalam artikel ini:

Menggunakan IP Elastis untuk Mengidentifikasi Mesin Virtual di Amazon EC2
http://alestic.com/2009/06/ec2-elastic-ip-internal

Karena kedengarannya sudah Anda antisipasi, stop / start adalah cara mudah untuk mengubah perangkat keras yang menghidupkan instance Anda. Saya menulis tentang ini bersama dengan beberapa instruksi dan peringatan di artikel ini:

Memindahkan Instance EC2 ke Instance Instance yang Lebih Besar (atau Lebih Kecil)
http://alestic.com/2011/02/ec2-change-type

Untuk situasi khusus Anda, saya akan merekomendasikan menetapkan alamat IP elastis ke instance dan mengubah DNS Anda untuk menunjuk ke alamat IP elastis menggunakan CNAME ke nama DNS eksternal. Anda bisa melakukan ini tepat setelah berhenti / mulai, atau Anda bisa melakukannya sebelumnya memastikan semuanya bekerja sebelum berhenti / mulai.

Eric Hammond
sumber
Apakah ini masih akurat? Saya baru saja mengobrol dengan dukungan AWS pagi ini dan mereka mengatakan bahwa IP elastis tidak terlepas ketika sebuah instance dihentikan. Juga, saya belum pernah melihat alamat IP internal kami berubah ketika berhenti dan memulai sebuah instance.
bshacklett
@bsacklett Jawaban ini agak ketinggalan jaman. Saya telah memperbaruinya untuk menjelaskan bahwa hanya instance non-VPC yang kehilangan IP elastis. Saat ini, sebagian besar contoh memang VPC.
Eric Hammond
4

Jadi, sepertinya Anda tidak menggunakan IP Elastis, seperti yang saya lihat dari informasi Anda.

Saya yakin Anda harus menggunakan CNAME dalam DNS untuk menunjuk ke instance ini. Jika Anda me-restart Mesin Anda maka ec2-54-1-1-1.us-west-1.compute.amazonaws.comnama DNS ini akan berubah dan situs Anda akan berhenti berfungsi.

Seperti banyak IP internal yang bersangkutan, itu juga akan berubah, kecuali jika Anda menggunakan VPC, yang bukan Anda.

Jadi, jika saya jadi Anda, saya akan sangat berhati-hati dalam memulai kembali Mesin ini.

Sejauh menyangkut Waktu, waktu tidak lebih dari beberapa menit.

Juga, jika Anda memiliki iptables yang berjalan pada instance DB, yang memungkinkan hanya IP internal ini untuk terhubung ke DB, maka itu juga tidak akan berfungsi, karena IP internal Anda akan berubah.

Jadi, harap berhati-hati jika Anda ingin memulai kembali instance ini, dan pikirkan dengan seksama.

Napster_X
sumber
2

IP / hostname internal Anda akan berubah dan IP Elastis Anda akan dilepas (Kecuali jika Anda menggunakan VPC).

Pasang kembali IP Elastis setelah Anda memulai ulang instance. Saya secara teratur melakukan ini untuk mengubah ukuran instance dan Anda hanya melihat beberapa menit downtime.

Verifikasi Apache, dan layanan lain diatur untuk memulai ( chkconfigjika Anda menjalankan amazon linux ami).

Jason Floyd
sumber
1

Sejauh yang saya ingat, menghentikan sistem mengubah tipenya dan memulainya lagi seharusnya tidak lebih dari 5-10 menit (tidak terungkap bahwa ini adalah sistem yang didukung EBS). Agar layanan dapat dimulai setelah sistem kembali, pastikan Anda memiliki semua layanan yang diaktifkan untuk memulai di reboot (seperti untuk boneka di ubuntu saya 12,04 saya mengaktifkannya di / etc / default / puppet). Catat IP (saya sudah lama kembali jadi jangan ingat dengan jelas) dan paling banyak IP Anda bisa terlepas dari sistem tetapi masih ada di akun Anda jadi masuklah ke bagian IP Elastis dan kaitkan lagi dengan sistem restart dan Anda akan baik-baik saja.

APZ
sumber
1

Seperti yang sudah disebutkan, jika Anda memiliki IP elastis, itu akan melampirkan kembali ke instance, sehingga pengaturan DNS Anda tidak perlu disentuh. Namun demikian, bagaimanapun, IP pribadi Anda akan berubah. Ini kemungkinan berarti Anda harus memperbarui pengaturan GRANT di mysql. 'Karena kamu tidak hanya GRANT ALL PRIVILEGES ON *.* to 'somedude'@'%'... kan? ;)

chrskly
sumber