tôi có một nhóm tự động tính tỷ lệ được tăng/giảm tỷ lệ dựa trên logic độc quyền.
chúng tôi sử dụng máy khách boto3 để thực hiện các hoạt động nhân rộng như vậy khi được yêu cầu.
Theo mặc định, các phiên bản EC2 của chúng tôi có vòng đời thực thi tối đa là 60 giây. Khi các phiên bản giao ngay được yêu cầu chấm dứt, điều rất quan trọng là đây là ngay lập tức tách ra khỏi bộ cân bằng tải của họ.
Khi AWS thu hồi các phiên bản Spot của họ, việc này được xử lý thông qua ec2-điểm chấm dứt-xử lý lambdas để tách chúng khỏi bộ cân bằng tải tương ứng: điều này giúp chúng tôi ngừng xử lý các tác vụ mới trong các phiên bản EC2 sắp chết đó và để chúng hoàn thành vòng đời của mình.
đọc các tài liệu boto3 cung cấp thông tin chi tiết về cách chúng tôi có thể dừng lại và chấm dứt một phiên bản tại chỗ, nhưng không phải về cách chúng tôi có thể yêu cầu AWS duyên dáng đòi lại họ:
ids = ['instance-id-1', 'instance-id-2', ...]
# Boto 2.x
ec2_connection.stop_instances(instance_ids=ids)
ec2_connection.terminate_instances(instance_ids=ids)
#boto3
ec2.instances.filter(InstanceIds=ids).stop()
ec2.instances.filter(InstanceIds=ids).terminate()
Làm cách nào chúng tôi có thể đạt được chức năng mong muốn sẽ kích hoạt thông báo chấm dứt và thông báo thêm cho AWS để lấy lại các phiên bản spot của nó trong vòng hai phút, lập trình?