Tăng tốc khởi chạy phiên bản Windows Amazon EC2


16

Tôi đang làm việc trên một dịch vụ Web được lưu trữ trên EC2 và cần có số lượng phiên bản khác nhau đang chạy, tùy thuộc vào tải. Chúng tôi có dịch vụ cơ bản và chạy, nhưng một trong những điều chúng tôi gặp khó khăn là thời gian cần để cung cấp và khởi chạy một phiên bản Windows (chúng tôi đang sử dụng một số công cụ prty thứ ba chỉ chạy trên Windows). Tôi đã thấy điều này mất bất cứ nơi nào từ 10 phút cho đến 45 phút đáng kinh ngạc.

Có ai có bất cứ lời khuyên nào về cách tăng tốc khởi chạy một thể hiện EC2 không? Vì các máy chủ AMI cho Windows lớn so với các AMI của Linux, chẳng hạn, tôi tự hỏi liệu có một điều gì đó có thể đảm bảo rằng thùng S3 chứa AMI được đặt trong cùng khu vực được khởi chạy không, có lẽ sẽ được đưa ra làm cho việc cung cấp ví dụ mới nhanh hơn.

Câu trả lời:


8

Tôi đã cài đặt 3 phiên bản tối qua của máy chủ Windows 2003 vanilla. Hai người đầu tiên mất khoảng 45 phút, lần thứ 3, khoảng một giờ sau, mất 2 giờ trước khi nó sẵn sàng!

Những thứ đó không có gì ở chúng cả, không có bất kỳ cách sử dụng S3 nào. Tôi nghi ngờ có một cách để tăng tốc bước cơ bản đó ngoài việc chờ đợi Amazon thực hiện các cải tiến tốc độ triển khai theo thời gian. Vì vậy, tôi sẽ kết luận rằng sẽ có một sự chậm trễ nhất định và lời khuyên của Kurt là tốt, đó là giữ 1 hoặc 2 dự trữ đã được chuẩn bị.

Một điều khác bạn có thể làm là tạo một phiên bản mới của loại AMI của bạn một vài lần và thời gian. Sau đó thử một vài lần với bộ lưu trữ S3 của bạn và xem bao nhiêu thời gian thêm vào nó. Tôi giả định rằng vùng khả dụng phải khớp giữa hình ảnh và S3, mặc dù tôi không biết mức độ chênh lệch thời gian sẽ tạo ra.

Khi bạn đã xác định thời gian tối đa để cung cấp, hãy tiếp tục tải / sử dụng trong nhiều phút.


Cảm ơn những lời đề nghị - 2 giờ là khá cực. Một điều tôi nhận thấy khi đặt câu hỏi này là EC2 đôi khi khởi động lại các phiên bản Windows ngay sau khi khởi động. Tôi không biết tại sao lại như vậy (Tôi chưa tìm ra một mô hình nào về lý do tại sao một số trường hợp được khởi động lại trong khi những trường hợp khác thì không), nhưng nó có thể thêm 5 hoặc 10 phút nữa vào thời gian khởi động.
gareth_bowles

2
@gareth - điều này là do máy có cùng tên với tên khác trên mạng (Tức là hình ảnh). EC2ConfigService phát hiện điều này, gán tên mới và khởi động lại nó. Bạn có thể vô hiệu hóa điều đó với cấu hình ec2config đã cài đặt.
Kieren Johnstone

20

Các phiên bản cửa sổ Amazon khởi động lại khi bắt đầu vì cấu hình mặc định của dịch vụ cửa sổ "Cấu hình EC2" là đổi tên máy chủ của bạn thành tên DNS bên trong của thể hiện. Đổi tên máy chủ yêu cầu khởi động lại trên windows. Nếu bạn không cần sử dụng tên DNS nội bộ của cá thể thì bạn có thể được lợi bằng cách vô hiệu hóa tính năng SetComputerName. Các phiên bản Windows cũng có lợi thế là không phải khởi tạo các ổ đĩa khởi động mà bạn có thể đã đóng gói lại cấu hình của mình để tiết kiệm thêm một số thời gian trong trường hợp khởi động. Tất cả điều này có thể thông qua Dịch vụ cấu hình Windows EC2.

Dịch vụ cấu hình Windows: http://docs.amazonwebservice.com/AWSEC2/latest/UserGuide/appcill-windows-config.html

Các phiên bản Windows nhỏ của tôi thường mất 15-18 phút để khởi động (các phiên bản lớn hơn nhanh hơn). Tùy thuộc vào yêu cầu của bạn, bạn có thể gói tất cả phần mềm của mình trong AMI và có thể khởi động và chạy mọi thứ trong khoảng thời gian đó. Tôi hiểu rằng các đặt phòng không đóng gói mọi thứ vào AMI nhưng có thể đáng để cải thiện thời gian khởi động để có các AMI sản xuất với mọi thứ được gói trong đó. Giữ các tập lệnh xây dựng riêng biệt nếu bạn muốn trong môi trường xây dựng của bạn.

Ngoài ra, bây giờ Amazon đã phát hành khối lượng gốc EBS trái ngược với khối lượng gốc lưu trữ thể hiện. Các hình ảnh nhỏ của Windows chạy trên âm lượng EBS khởi động sau gần 5 phút so với gần 20 phút trước đó. Ngoài ra, bạn không cần phải chấm dứt - bạn có thể dừng / khởi động chúng - tùy thuộc vào thiết lập của bạn, điều này có khả năng sẽ mất thêm vài phút trong một số tập lệnh khởi động.

Về cơ bản tùy chỉnh dịch vụ Cấu hình Windows EC2, AMI của bạn và có khả năng sử dụng âm lượng khởi động EBS sẽ giảm thời gian khởi động xuống gần 5 phút. Bạn có thể tránh sysprep chạy khi khởi động phiên bản ec2 tùy thuộc vào ứng dụng của bạn, đặc biệt là cho mục đích phát triển. Một hình ảnh m1.lund không được sysprepping mà tránh thay đổi tên máy chủ khi khởi động có thể khởi động sau khoảng 2 phút, điều này không tệ chút nào.

Vào thời điểm này, theo như tôi hiểu, đó là điều tốt nhất bạn có thể làm với Windows trên Amazon EC2 nhưng điều đó thực sự không quá tệ. Nếu bạn có thể dự báo gần 10 phút trong tương lai dựa trên các mẫu sử dụng trung bình, bạn sẽ có thể quay các trường hợp bổ sung và xử lý tải bổ sung.


Đổi tên máy chủ nội bộ là một mẹo tuyệt vời - cảm ơn! Tôi cũng muốn thử khối lượng gốc EBS, không chỉ bởi vì nó sẽ giúp việc sao lưu dễ dàng hơn rất nhiều. Tôi đoán tôi sẽ phải dự báo thời gian khởi động trung bình 10 phút; Bản thân nó không phải là một vấn đề như vậy, nhưng tính biến động cao của thời gian khởi động vẫn là một nỗi đau thực sự.
gareth_bowles

Điều này nên được tham chiếu trong các tài liệu AWS.
Peter Mounce

4

Có một hệ thống tối thiểu, giữ càng nhiều càng tốt trong EBS có thể giúp gì? Hoặc có thể thực hiện một cách tiếp cận kiểu Apache và chạy một hoặc hai dự trữ?


4

Chúng tôi đã gặp phải vấn đề chính xác này, nhưng theo một cách rất nghiêm trọng - startup mới của chúng tôi mở rộng Amazon EC2 vào môi trường Phòng thí nghiệm ảo (nhiều người dùng, chính sách, chia sẻ, v.v.) và vì vậy chúng tôi cần tăng tốc thời gian bắt đầu Máy Windows. Quyết định lớn nhất của chúng tôi là chỉ hỗ trợ các khối lượng dựa trên EBS trong ứng dụng của chúng tôi, vì chúng là những khối duy nhất có thể khởi động sau 5-10 phút. Trong thử nghiệm của chúng tôi, chúng tôi thấy thời gian khởi động của cửa hàng cá thể rất khác nhau và đôi khi mất quá nhiều thời gian, điều này khiến chúng trở nên vô dụng đối với chúng tôi.

Quản lý phòng thí nghiệm ảo Simon @ LabSlice trên EC2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.