Saya punya beberapa contoh ubuntu yang berjalan di Amazon EC2 dan ingin membuatnya lebih toleran terhadap kesalahan dengan menjalankan contoh duplikat di wilayah lain (dihasilkan dari foto) dengan load balancers - atau bahkan kegagalan manual dengan ip elastis .
Masalahnya adalah data spesifik, sebagai contoh itu tidak baik untuk gagal dari satu server web ke server web lain jika isi root dokumen yaitu / var / www tidak identik.
Dalam contoh ini saya akan memiliki kontes / var / www pada volume mereka sendiri agar tidak berdampak pada partisi root. Apakah ada cara untuk berbagi volume di dua contoh atau lebih di zona yang berbeda? atau mungkin cara untuk menjaga dua atau lebih volume yang berbeda dalam sinkronisasi di seluruh wilayah?
linux
amazon-ec2
Ryhnn
sumber
sumber
Jawaban:
Seperti yang dikatakan cyberx86, volume EBS tidak dapat dipasang pada beberapa instance EC2 (bahkan di Zona Ketersediaan yang sama).
Jawaban pertama adalah menyimpan aset Anda bersama di Amazon S3 - dengan cara itu, Anda dapat menggunakan kode Anda melalui Capistrano / Mcollective / apa pun secara langsung ke instance EC2 langsung dan siaga Anda, dan sepenuhnya membebani konten statis Anda (mis. Gambar, media) ke S3, bahkan mungkin dengan CloudFront menyediakan caching tepi.
Yang mengatakan, S3 tidak melakukan replikasi lintas-wilayah (UE-Barat-1 ke AS-Timur-1), namun ia menawarkan "empat sembilan" (99,99%) ketersediaan di suatu kawasan, sehingga seluruh wilayah luas kegagalan tidak mungkin. Untuk pendekatan 'sabuk dan kawat gigi' Anda mungkin ingin mengonfigurasi proses sinkronisasi cron'd antara bucket S3 di dua wilayah berbeda - lihat
s3cmd
dokumentasi dengan--sync
bendera.Jika memindahkan aset Anda ke S3 terlalu merepotkan, dan jika mekanisme failover Anda siaga-panas (yaitu, Anda memiliki klon yang selalu siap di wilayah lain dan failover manual), Anda dapat mengonfigurasi
rsync
lari cron untuk menjaga Anda aset yang tidak dikendalikan versi yang disinkronkan (seperti sebelumnya, Anda harus selalu merilis kode aplikasi ke semua server.Sistem file Clustered (misalnya GlusterFS, GFS2) atau replikasi tingkat blok (misalnya DRBD) tidak benar-benar direkomendasikan dengan EC2 (atau setidaknya tidak kecuali Anda keluar untuk hal-hal dengan bandwidth NIC yang terjamin seperti rentang jaringan cluster). S3FS telah terbukti sangat lambat, karena setiap permintaan IO pada sistem file harus didukung dengan panggilan API S3 - detailnya di sini: (1) , (2) .
Anda dapat mengalami kemacetan jaringan yang disebabkan oleh penyewa lain (atau bahkan membuat kemacetan sendiri) - jenis solusi ini paling cocok untuk lingkungan di mana Anda mengontrol (atau setidaknya memiliki pengaruh atas) seluruh tumpukan.
sumber