Saya sedang mengerjakan layanan Web yang dihosting di EC2 dan perlu menjalankan berbagai jumlah instance, tergantung pada beban. Kami memiliki layanan dasar dan berjalan, tetapi salah satu hal yang kami perjuangkan adalah waktu yang diperlukan untuk penyediaan dan meluncurkan contoh Windows (kami menggunakan beberapa alat prty ketiga yang hanya berjalan pada Windows). Saya telah melihat ini membutuhkan waktu mulai dari 10 menit hingga 45 menit yang cukup mengejutkan.
Adakah yang punya tips tentang cara mempercepat peluncuran instance EC2? Karena AMI untuk server Windows lebih besar dibandingkan dengan AMI Linux, misalnya, saya bertanya-tanya apakah satu hal yang mungkin untuk memastikan bahwa ember S3 yang berisi AMI terletak di zona yang sama di mana instance diluncurkan, yang mungkin akan membuat penyediaan instance baru lebih cepat.
sumber
Amazon windows instal reboot pada awal karena konfigurasi default dari layanan windows "EC2 Config" adalah mengubah nama host Anda menjadi nama DNS internal instance. Mengganti nama host memerlukan reboot di windows. Jika Anda tidak perlu menggunakan nama DNS internal instance Anda, maka Anda mungkin mendapat manfaat dengan menonaktifkan fitur SetComputerName. Windows instances juga memiliki keuntungan karena tidak perlu menginisialisasi drive startup di mana Anda mungkin telah mem-bundle konfigurasi Anda lagi menghemat lebih banyak waktu misalnya memulai. Semua ini dimungkinkan melalui EC2 Windows Configuration Service.
Layanan Konfigurasi Windows: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html
Contoh kecil Windows saya biasanya membutuhkan waktu 15-18 menit untuk boot (yang lebih besar lebih cepat). Tergantung pada kebutuhan Anda, Anda mungkin dapat menggabungkan semua perangkat lunak Anda dalam AMI dan dapat membuat semuanya boot dan berjalan dalam periode itu. Saya mengerti reservasi untuk tidak menggabungkan semuanya menjadi AMI tetapi mungkin layak untuk perbaikan pada waktu start up untuk memiliki AMI produksi dengan semua yang dibundel di dalamnya. Pisahkan skrip build jika Anda ingin di lingkungan build Anda.
Selain itu, sekarang Amazon telah merilis volume root EBS yang bertentangan dengan volume root instance-store. Windows gambar kecil yang berjalan pada volume EBS boot dalam hampir 5 menit versus hampir 20 menit yang dibutuhkan sebelumnya. Anda juga tidak perlu menghentikan - Anda dapat menghentikan / memulainya - tergantung pada pengaturan Anda ini berpotensi mencukur beberapa menit lagi dalam beberapa skrip start up.
Pada dasarnya menyesuaikan layanan Windows EC2 Config Anda, AMI Anda dan berpotensi menggunakan volume boot EBS akan mengurangi waktu mulai hingga hampir 5 menit. Anda dapat menghindari sysprep yang berjalan pada startup contoh EC2 tergantung pada aplikasi Anda, terutama untuk tujuan pengembangan. Gambar m1.large non-sysprepped yang menghindari perubahan nama host pada startup dapat mulai dalam sekitar 2 menit yang tidak buruk sama sekali.
Saat ini, sejauh yang saya mengerti, itu yang terbaik yang dapat Anda lakukan dengan Windows di Amazon EC2 tapi itu tidak terlalu buruk. Jika Anda dapat meramalkan mendekati 10 menit ke depan berdasarkan pola penggunaan rata-rata, Anda harus dapat memutar instance tambahan dan menangani beban tambahan.
sumber
Punya sistem minimal, pertahankan sebanyak mungkin agar EBS bisa membantu? Atau mungkin mengambil pendekatan gaya Apache dan menjalankan satu atau dua cadangan?
sumber
Kami telah mengalami masalah yang pasti ini, tetapi dengan cara yang sangat serius - startup baru kami memperluas Amazon EC2 ke lingkungan Virtual Lab (multi-pengguna, kebijakan, berbagi, dll.) Sehingga kami perlu mempercepat waktu mulai Mesin Windows. Keputusan terbesar kami adalah hanya mendukung volume berbasis EBS di aplikasi kami, karena hanya itu yang dapat dimulai dalam 5-10 menit. Dalam pengujian kami, kami menemukan waktu startup toko instan sangat bervariasi dan kadang-kadang membutuhkan banyak waktu, yang membuat mereka tidak berguna bagi kami.
Simon @ LabSlice Manajemen Lab Virtual pada EC2
sumber