Kami memiliki armada server Nginx di Amazon EC2 di mana kami sesekali perlu memperbarui file konfigurasi untuk mengimplementasikan pengaturan baru.
Saat ini kami memiliki konfigurasi dalam AMI khusus dan jika kami perlu memperbarui kami harus membangun kembali AMI dan kemudian instance EC2. Kami memiliki beberapa skrip pembantu, tetapi masih cukup upaya untuk melakukannya. Apakah ada cara yang lebih baik?
amazon-web-services
amazon-ec2
Bububu
sumber
sumber
Jawaban:
Ada sejumlah konsep yang dapat Anda manfaatkan.
Kunci kesuksesan adalah otomatisasi
Opsi pertama adalah tetap melakukan apa yang Anda lakukan sekarang, yaitu membangun kembali EC2s dengan setiap perubahan konfigurasi . Hanya dengan cara yang sepenuhnya otomatis.
Saat Anda sedang melakukan pembaruan konfigurasi melalui AMI, Anda mengambil satu langkah ini lebih jauh dan membuat saluran pipa yang, setelah perubahan file konfigurasi di beberapa repositori, akan:
Opsi kedua adalah menjaga instans tetap di tempatnya dan hanya menyebarkan file konfigurasi , tanpa membangunnya kembali. Secara umum Anda dapat memperlakukan file konfigurasi sebagai kode dan menyebarkan perubahan konfigurasi dengan cara yang sama seperti menyebarkan rilis kode. AWS memiliki banyak alat untuk membantu itu.
Setelah Anda merasa nyaman dengan mengotomatisasi pembaruan konfigurasi Nginx ini, Anda mungkin ingin memperpanjang otomatisasi ke seluruh infrastruktur Anda.
Ada Ikhtisar whitepaper besar dari Opsi Penempatan di AWS yang akan memberi Anda tinjauan bagus.
Saya harap itu membantu :)
sumber
Simpan konfigurasi Anda di EFS, dan pasang EFS di lokasi yang diharapkan konfigurasi Nginx. Secara bergantian letakkan di Amazon S3 dan jalankan sinkronisasi sesekali, atau gunakan s3fs (waspadalah s3fs mungkin tidak cukup baik untuk penggunaan produksi).
Ketika Anda perlu mengubah konfigurasi Anda, tingkatkan ukuran grup autoscaling yang Anda inginkan untuk menggandakan apa yang Anda butuhkan untuk memicu instance baru dengan konfigurasi baru, dan kemudian kembali ke apa yang Anda butuhkan yang akan menghapus instance lama. Sebagai alternatif, lakukan reboot server secara bergulir.
Pilihan lain adalah hanya mendorong konfigurasi baru ke server Anda menggunakan alat otomatisasi dasar, seperti penyebaran kode AWS.
Opsi yang sepenuhnya otomatis di atas secara teknis lebih baik dan lebih bersih, tetapi jika Anda jarang mengubah konfigurasi dan menginginkan solusi yang mudah, ini bisa membantu.
sumber
AWS Run Command https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html
Atau Anda dapat menggunakan Opsworks https://aws.amazon.com/opsworks/
sumber
Membangun kembali AMI atau membuat jaringan penyebaran yang sepenuhnya lengkap seperti yang lainnya hanya untuk perubahan file konfigurasi sepertinya merupakan kerja keras. Anda harus menggunakan Ansible untuk mendorong perubahan dan menjaga agar semua node Anda tetap sinkron. Ada banyak modul Ansible yang dapat membantu Anda mengotomatiskan tugas-tugas umum.
sumber