2012-06-26 30 views
24

Chúng tôi đang xem xét sử dụng tính năng tự động hóa EC2 để xử lý các lượt tải đột biến. Trong trường hợp của chúng tôi, chúng tôi muốn mở rộng các cá thể dựa trên kích thước hàng đợi SQS và sau đó giảm quy mô với kích thước hàng đợi được kiểm soát trở lại. Mỗi thông điệp SQS định nghĩa một công việc có khả năng chạy dài (đôi khi lên đến 20 phút cho mỗi thông điệp) mà phải hoàn thành trước khi cá thể đó có thể được chấm dứt.Amazon EC2 tự động tắt với tắt máy duyên dáng?

Phần mềm của chúng tôi xử lý quá trình tắt máy một cách duyên dáng, vì vậy, hãy phát hành sudo service ourapp stop sẽ đợi ứng dụng hoàn tất trước khi trở về.

Câu hỏi của tôi; khi autoscaling bắt đầu thu nhỏ nó phát hành một chấm dứt (mà dường như giống như nhấn nút nguồn), nó sẽ chờ đợi cho ứng dụng của chúng tôi để thoát hoàn toàn trước khi dụ là 'tắt nguồn'?

https://forums.aws.amazon.com/message.jspa?messageID=180674 < - điều đó và những thứ khác tôi đã tìm thấy dường như cho thấy rằng nó không phải

Trả lời

16

Vào giữa năm 2014, AWS đã giới thiệu 'móc vòng đời' cho phép kiểm soát toàn bộ quá trình chấm dứt. Quá trình quy mô

chúng tôi trình độ cao xuống là:

  • Auto Scaling sẽ gửi một thông điệp tới một hàng đợi SQS với một ID dụ
  • điều khiển ứng dụng nhặt được thông báo
  • điều khiển ứng dụng đưa ra một ví dụ 'dừng 'yêu cầu
  • Ứng dụng điều khiển sẽ xếp lại hàng đợi thông báo SQS trong khi cá thể dừng lại
  • Ứng dụng điều khiển nhận thông báo lần nữa, kiểm tra xem liệu cá thể đã dừng hay chưa hoặc đang xếp hàng lại essage để thử lại sau)
  • điều khiển ứng dụng thông báo cho Auto tỷ lệ để 'Tiếp tục' với việc chấm dứt
  • điều khiển ứng dụng xóa các thông điệp từ hàng đợi SQS

Thông tin chi tiết: http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html

+0

wow đây là COOL – Nate

+1

wow, thực sự thú vị - AWS giới thiệu móc vòng đời hơn 1000 năm trước, khi những người khác vẫn còn bị chiếm đóng với khám phá Mỹ =) – sebastian

+0

Đây là một liên kết được cập nhật: http://docs.aws.amazon.com/ AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html – cars

21

không Trên hầu hết các phiên bản mới hơn của AMI, các máy được cho tương đương với một 'dừng lại' (hoặc 'shutdown -h tại Miễn là chương trình của bạn phát độc đáo với các tập lệnh khởi động/tắt máy, bạn nên ổn - nhưng nếu chương trình của bạn mất hơn 20 giây để chấm dứt, bạn có thể gặp phải rằng amazon sẽ giết hoàn toàn trường hợp.

Số documentation của Amazon liên quan đến quá trình tự động tính toán của chúng không xác định quá trình chấm dứt, nhưng, AW2's documentation cho ec2 nói chung không chứa đựng những gì xảy ra trong quá trình chấm dứt - các máy được đưa ra lệnh 'tắt máy' và thời gian tắt máy mặc định trên hầu hết các hệ thống là 30 giây.

+0

Cảm ơn câu trả lời của Ian . Có vẻ như chúng tôi có thể sử dụng tính năng tự động tính toán để thêm dung lượng nhưng không loại bỏ dung lượng ... – danw

+2

Bây giờ có thể thông qua 'móc vòng đời', hãy xem câu trả lời của tôi ... – danw

Các vấn đề liên quan