AWS Auto Scaling은 어떻게 AZ 간에 스팟 인스턴스를 배포합니까?

AWS Auto Scaling은 어떻게 AZ 간에 스팟 인스턴스를 배포합니까?

스팟 인스턴스 입찰이 정의된 여러 AZ에 인스턴스를 배포하는 AWS Autoscaling 그룹을 사용하고 있습니다.

AZ 중 하나의 현물 가격이 급등하여 해당 AZ의 인스턴스가 SPOT 가격보다 낮아지고 종료되면 어떻게 됩니까?

Auto Scaling 그룹은 AZ 전체에 걸쳐 인스턴스의 균형을 균등하게 유지하려고 시도합니까? 해당 AZ에서 가격이 다시 일치할 때까지 기다리나요?

이에 대한 문서를 찾을 수 없습니다.

답변1

내 경험에 따르면 Auto Scaling 그룹은 항상 사용 중인 모든 가용 영역에서 동일한 수의 인스턴스를 실행하려고 합니다. 시작 구성에 지정된 유형의 인스턴스가 없는 가용성 영역을 실수로 추가했으며 ASG는 다른 곳에서 비례적으로 더 많은 인스턴스를 시작하지 않고 관계없이 그곳에서 인스턴스를 시작하려고 계속 시도했습니다.

답변2

AutoScaling은 항상 고가용성을 유지하려고 노력합니다. 이를 수행하는 주요 방법은 인스턴스를 AZ(가용성 영역) 전체에 균등하게 분산시키는 것입니다. 그러나 AZ에서 특정 인스턴스 유형을 시작할 수 없는 경우 다른 AZ로 장애 조치됩니다(현물 가격/가용성, 중단 또는 온디맨드 가용성 부족 등). 원하는 용량에 도달한 후에는 주기적으로 사용률이 낮은 AZ에서 새 인스턴스를 시작하여 그룹의 균형을 다시 맞추려고 시도합니다. https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage

여러 인스턴스 유형 및 구매 옵션이 있는 ASG를 사용하는 경우 먼저 설정에 따라 스팟 인스턴스를 시작해야 하는지 아니면 주문형 인스턴스를 시작해야 하는지 파악합니다. 그런 다음 할당 전략에 따라 선택한 인스턴스 유형 중 하나를 시작하려고 시도합니다. 선호하는 인스턴스 유형을 사용할 수 없는 경우 해당 AZ의 모든 인스턴스 유형을 시도합니다. 해당 AZ에서 사용할 수 있는 것이 없으면 다른 AZ를 계속 시도합니다. 이렇게 하면 인스턴스를 얻지 못하도록 인스턴스를 시작할 수 없는 서로 다른 용량 풀이 꽤 많이 있어야 합니다.

선택한 인스턴스 유형에 대해 모든 AZ에 스팟 용량이 없는 경우 스팟에서 온디맨드로 장애 조치되지 않습니다.

https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html

관련 정보