เร่งการเปิดตัวอินสแตนซ์ Amazon EC2 Windows


16

ฉันกำลังทำงานกับบริการบนเว็บซึ่งโฮสต์บน EC2 และต้องการให้มีอินสแตนซ์จำนวนมากขึ้นอยู่กับการโหลด เรามีบริการพื้นฐานและทำงานได้ แต่สิ่งหนึ่งที่เรากำลังดิ้นรนคือเวลาที่ต้องเตรียมและเปิดใช้งานอินสแตนซ์ของ Windows (เรากำลังใช้เครื่องมือ prty ตัวที่สามที่ทำงานบน Windows เท่านั้น) ฉันเห็นสิ่งนี้ใช้เวลาตั้งแต่ 10 นาทีจนถึง 45 นาที

ใครบ้างมีเคล็ดลับเกี่ยวกับวิธีเร่งการเปิดตัวอินสแตนซ์ EC2 หรือไม่ เนื่องจากเซิร์ฟเวอร์ AMIs สำหรับ Windows นั้นมีขนาดใหญ่เมื่อเทียบกับ Linux AMIs ฉันสงสัยว่าหากมีสิ่งหนึ่งที่จะต้องแน่ใจว่า S3 bucket ที่มี AMI อยู่ในโซนเดียวกันที่เปิดตัวอินสแตนซ์ซึ่งน่าจะเป็นไปได้ ทำให้การจัดเตรียมอินสแตนซ์ใหม่เร็วขึ้น

คำตอบ:


8

ฉันติดตั้ง 3 อินสแตนซ์เมื่อคืนที่ผ่านมาของเซิร์ฟเวอร์ Windows 2003 สองคนแรกใช้เวลาประมาณ 45 นาทีที่สามประมาณหนึ่งชั่วโมงต่อมาใช้เวลา 2 ชั่วโมงก่อนที่มันจะพร้อม!

สิ่งเหล่านั้นไม่มีอะไรเลยไม่มีการใช้ S3 ฉันสงสัยว่ามีวิธีเร่งความเร็วขั้นตอนพื้นฐานนอกเหนือจากการรอให้ Amazon ทำการปรับปรุงความเร็วในการปรับใช้ตลอดเวลา ดังนั้นฉันจึงสรุปได้ว่าความล่าช้าบางอย่างนั้นเป็นสิ่งที่คาดหวังและคำแนะนำของ Kurt ก็ดีซึ่งก็คือการสำรอง 1 หรือ 2 ครั้งไว้ล่วงหน้า

อีกสิ่งที่คุณสามารถทำได้คือสร้างอินสแตนซ์ใหม่ของ AMI ของคุณพิมพ์สองสามครั้งและเวลา จากนั้นลองใช้พื้นที่เก็บข้อมูล S3 ของคุณสองสามครั้งและดูเวลาที่เพิ่มเข้าไป ฉันคิดว่าโซนความพร้อมใช้งานควรจับคู่ระหว่างภาพกับ S3 แม้ว่าฉันจะไม่ทราบว่าจะมีความแตกต่างของเวลาเท่าใด

เมื่อคุณกำหนดเวลาสูงสุดในการจัดเตรียมแล้วให้รอการโหลด / การใช้งานภายในไม่กี่นาที


ขอบคุณสำหรับคำแนะนำ - 2 ชั่วโมงค่อนข้างสุดขั้ว สิ่งหนึ่งที่ฉันสังเกตเห็นตั้งแต่ถามคำถามนี้คือบางครั้ง EC2 จะรีบูตอินสแตนซ์ของ Windows ทันทีหลังจากเริ่มต้น ฉันไม่รู้ว่าทำไมถึงเป็นแบบนี้ (ฉันไม่ได้หารูปแบบว่าทำไมบางกรณีถึงถูกรีบูทในขณะที่คนอื่นไม่ทำ) แต่มันสามารถเพิ่มอีก 5 หรือ 10 นาทีในเวลาเริ่มต้น
gareth_bowles

2
@gareth - เป็นเพราะเครื่องมีชื่อเดียวกันกับชื่ออื่นในเครือข่าย (นั่นคือภาพ) EC2ConfigService ตรวจพบสิ่งนี้กำหนดชื่อใหม่และทำการบู๊ตใหม่ คุณสามารถปิดการใช้งานด้วยการกำหนดค่า ec2config ติดตั้งใช้
Kieren Johnstone

20

อินสแตนซ์ windows Amazon รีบูตเมื่อเริ่มต้นเนื่องจากการกำหนดค่าเริ่มต้นของบริการ windows "EC2 Config" คือการเปลี่ยนชื่อโฮสต์ของคุณเป็นชื่อ DNS ภายในของอินสแตนซ์ การเปลี่ยนชื่อโฮสต์จำเป็นต้องรีบู๊ตบน windows หากคุณไม่จำเป็นต้องใช้ชื่อ DNS ภายในอินสแตนซ์ของคุณคุณอาจได้รับประโยชน์จากการปิดใช้งานคุณสมบัติ SetComputerName อินสแตนซ์ของ Windows ยังมีข้อดีของการไม่ต้องเริ่มการทำงานของไดรฟ์เริ่มต้นซึ่งคุณอาจรวมการกำหนดค่าของคุณอีกครั้งเพื่อประหยัดเวลาในการเริ่มต้นอินสแตนซ์ ทั้งหมดนี้เป็นไปได้ผ่านบริการกำหนดค่า EC2 Windows

บริการการกำหนดค่า Windows: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

อินสแตนซ์ขนาดเล็ก Windows ของฉันใช้เวลาในการบูตประมาณ 15-18 นาที (อันที่ใหญ่กว่านั้นจะเร็วกว่า) ขึ้นอยู่กับข้อกำหนดของคุณคุณอาจรวมซอฟต์แวร์ทั้งหมดของคุณไว้ใน AMI และสามารถบูตและเปิดใช้งานทุกอย่างภายในช่วงเวลาดังกล่าว ฉันเข้าใจว่าการจองไม่ใช่การรวมทุกอย่างไว้ใน AMI แต่อาจคุ้มค่ากับการปรับปรุงในเวลาเริ่มต้นที่จะมี AMI ที่ผลิตพร้อมกับทุกสิ่งที่รวมอยู่ในนั้น เก็บสคริปต์บิลด์แยกไว้หากคุณต้องการในสภาพแวดล้อมการสร้างของคุณ

นอกจากนี้ตอนนี้ที่ Amazon ได้เปิดตัว EBS รูตปริมาณเมื่อเทียบกับปริมาณรูตที่เก็บอินสแตนซ์ รูปภาพขนาดเล็กของ Windows ที่ทำงานบนบู๊ต EBS จะบู๊ตในเกือบ 5 นาทีเมื่อเทียบกับ 20 นาทีก่อนหน้านี้ นอกจากนี้คุณไม่จำเป็นต้องยกเลิก - คุณสามารถหยุด / เริ่มต้นได้ - ขึ้นอยู่กับการตั้งค่าของคุณซึ่งอาจใช้เวลาสักครู่ในสคริปต์เริ่มต้นทำงาน

การปรับแต่งบริการกำหนดค่า Windows EC2 ของคุณเป็นหลัก AMI ของคุณและอาจใช้ปริมาณการบูต EBS ควรลดเวลาเริ่มทำงานเกือบ 5 นาที คุณสามารถหลีกเลี่ยง sysprep ที่ทำงานเมื่อเริ่มต้นอินสแตนซ์ ec2 ขึ้นอยู่กับแอปของคุณโดยเฉพาะอย่างยิ่งเพื่อการพัฒนา รูปภาพ m1. large ที่ไม่ใช่ sysprepped ที่หลีกเลี่ยงการเปลี่ยนชื่อโฮสต์เมื่อเริ่มต้นสามารถเริ่มทำงานได้ในเวลาประมาณ 2 นาทีซึ่งไม่เลวเลย

ในตอนนี้เท่าที่ฉันเข้าใจแล้วนั่นเป็นสิ่งที่ดีที่สุดที่คุณสามารถทำได้กับ Windows ใน Amazon EC2 แต่นั่นก็ไม่ได้เลวร้ายนัก หากคุณสามารถคาดการณ์ได้ใกล้ถึง 10 นาทีในอนาคตตามรูปแบบการใช้งานโดยเฉลี่ยคุณควรจะสามารถเพิ่มอินสแตนซ์พิเศษและจัดการโหลดเพิ่มเติมได้


การเปลี่ยนชื่อโฮสต์ภายในเป็นเคล็ดลับที่ยอดเยี่ยม - ขอบคุณ! ฉันต้องการลองรูท EBS ด้วยเช่นกันไม่น้อยเพราะจะทำให้การสำรองข้อมูลง่ายขึ้นมาก ฉันเดาว่าฉันจะต้องคาดการณ์เวลาเริ่มต้นเฉลี่ย 10 นาที นั่นไม่ใช่ปัญหาในตัวเอง แต่ความแปรปรวนสูงของเวลาเริ่มต้นยังคงเป็นความเจ็บปวดที่แท้จริง
gareth_bowles

สิ่งนี้ควรอ้างอิงในเอกสาร AWS
Peter Mounce

4

มีระบบน้อยที่สุดเก็บ EBS ให้มากที่สุดเท่าที่จะเป็นไปได้? หรืออาจใช้แนวทางสไตล์ Apache และรันหนึ่งหรือสองในการสำรอง?


4

เราพบปัญหาที่แน่นอนนี้ แต่ในทางที่ร้ายแรงมาก - การเริ่มต้นใหม่ของเราขยาย Amazon EC2 ไปสู่สภาพแวดล้อมเสมือนแล็บ (ผู้ใช้หลายคนนโยบายการแชร์ ฯลฯ ) และเราจำเป็นต้องเร่งเวลาเริ่มต้นของ เครื่อง Windows การตัดสินใจที่ยิ่งใหญ่ที่สุดของเราคือการสนับสนุนเฉพาะ EBS ที่มีปริมาณมากในแอปพลิเคชันของเราเนื่องจากเป็นเพียงโปรแกรมเดียวที่สามารถเริ่มทำงานได้ใน 5-10 นาที ในการทดสอบของเราเราพบว่าเวลาเริ่มต้นของอินสแตนซ์สโตร์แตกต่างกันอย่างมากและบางครั้งใช้เวลามากเกินไปซึ่งทำให้พวกเขาไร้ประโยชน์สำหรับเรา

Simon @ LabSlice การจัดการ Lab เสมือนบน EC2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.