Apa praktik terbaik untuk komunikasi antara instance Amazon EC2?

41

Saya telah menyiapkan instance Amazon EC2 untuk proyek yang akan datang. Mereka semua adalah instance mikro, menjalankan Ubuntu Server 64bit. Inilah yang saya siapkan sejauh ini:

  • Server Web - Apache
  • Database Server - MySQL
  • Server Pengembangan - Apache & MySQL
  • File Server - SVN & Bacula (cadangan dilakukan untuk bucket S3)

Saat ini, hanya ada satu Server Web, tetapi pada akhirnya akan ada lebih banyak.

Pertanyaan pertama saya adalah, apa cara terbaik, paling aman untuk instance Amazon EC2 untuk berkomunikasi satu sama lain? Saat ini saya menggunakan SSH, apakah itu metode terbaik?

Menurut Amazon, contoh berkomunikasi antara mereka sendiri menggunakan alamat IP elastis mereka akan dikenakan biaya transfer data. Namun, instance berkomunikasi menggunakan alamat IP Privat mereka dapat melakukannya secara gratis. Sayangnya, tampaknya IP Privat berubah jika instance dihentikan dan dimulai kembali.

Jadi itu pertanyaan saya yang kedua, bagaimana Anda menggunakan IP Privat dari instance Amazon jika tidak statis?

Saya tahu bahwa instans mungkin tidak akan dihentikan dan mulai sangat sering, tetapi tetap saja, jika alamat IP ada dalam berbagai file konfigurasi, akan sangat menyebalkan harus membaca semuanya dan mengubahnya.

Saya terutama prihatin tentang server Web, yang akan membutuhkan akses ke server Database dan server File, yang akan memerlukan akses ke semua contoh saat melakukan backup.

Catatan: Saya belum pernah menggunakan Bacula sebelumnya dan saya belum menyiapkannya, tapi saya berasumsi akan membutuhkan alamat IP klien untuk mendukungnya.

ks78
sumber
2
+1 - Saya ingin IP pribadi yang elastis. Juga perhatikan bahwa saya pikir Anda tidak dapat berkomunikasi antar wilayah melalui IP pribadi.
Joel K
Saya pikir Anda akan menemukan bahwa m1.small tunggal akan memberi Anda kinerja yang jauh lebih baik daripada multiple t1.micro. Kemudian, tingkatkan ke c1.medium. Kemudian, mulailah meluncurkan beberapa c1.medium atau gunakan jenis instance yang lebih besar. Perhatikan, bagaimanapun, bahwa m1.small dan c1.medium hanya mendukung 32-bit, bukan 64-bit.
Eric Hammond

Jawaban:

29

Lihat artikel Eric Hammond yang menjelaskan cara menggunakan alamat IP Elastis bahkan dari dalam EC2. Metode ini TIDAK menghasilkan biaya bandwidth karena menyelesaikan alamat IP elastis (dengan nama) dari dalam EC2 mengembalikan alamat IP pribadi.

http://alestic.com/2009/06/ec2-elastic-ip-internal

Untuk opsi lebih lanjut, saya punya artikel yang meneliti beberapa alternatif:

http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html

Shlomo Swidler
sumber
Terimakasih atas tanggapan Anda. Saya semakin memikirkan DNS dinamis adalah cara untuk melakukannya, walaupun saya belum pernah menyiapkan DNS sebelumnya. Apakah Anda tahu ada situs yang menawarkan panduan terperinci tentang cara melakukannya?
ks78
6

Sebarkan contoh EC2 Anda ke AWS Virtual Private Cloud (VPC). Ketika Anda mengkonfigurasi VPC Anda, Anda akan menetapkan CIDR untuk semua instance EC2 di VPC dan IP internal akan statis.

pengguna188724
sumber
Sejauh ini, inilah pendekatan terbaik.
ceejayoz
2
  • Metode komunikasi yang paling aman

SSH adalah metode yang sangat baik untuk mentransfer data antara server yang berbeda tetapi jika Anda mencari sesuatu seperti koneksi permanen (ke database misalnya), Anda dapat menggunakan segala jenis perangkat lunak tunneling terenkripsi seperti stunnel

  • IP privat tidak statis

Karena tidak ada cara untuk memiliki IP privat statis, Anda dapat menggunakan semacam penyebaran server otomatis untuk ini, ada beberapa alat seperti mcollective, capistrano atau func yang akan memungkinkan Anda untuk mendaftarkan instance baru Anda ke server yang ditunjuk pusat dan menghasilkan tindakan pada banyak mesin berdasarkan itu

lynxman
sumber
Saya awalnya memposting pertanyaan yang sama di StackOverflow. Di sana seseorang menyarankan untuk menggunakan server DNS, jadi jika IP Pribadi mengubahnya tidak masalah karena mereka akan menggunakan nama yang disediakan DNS untuk berkomunikasi. Apa pendapat Anda tentang solusi itu?
ks78
1
Ini bukan solusi buruk jika Anda dapat memperbarui zona DNS dinamis, meskipun karena Anda harus menggunakannya serta server DNS utama untuk semua kejadian Anda, itu juga akan memberi Anda satu titik kegagalan, itu sebabnya saya menyarankan mcollective atau capistrano karena itu juga akan memberi Anda keuntungan menjalankan operasi kompleks di node Anda
lynxman
Terima kasih. Saya hanya ingin tahu apa pendapat Anda tentang solusi itu. Saya akan melihat ke mcollective dan capistrano.
ks78
maaf untuk menghidupkan kembali utas lama tetapi apakah IP pribadi masih non-statis di EC2? Bukan itu yang saya saksikan pada setup EC2 baru - antarmuka jaringan bertahan setelah saya menghentikan server dan alamat IP pribadi belum berubah pada saya. Saya juga tampaknya dapat memilih alamat IP pribadi sekunder jika diperlukan.
icyitscold