更新於 2024/10/17閱讀時間約 2 分鐘

AWS Spot fleet request消失(工作日常)



如何查詢

  1. CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet
  2. CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID)

使用上述查詢,目的是為了得知 RequestSpotFleet 該事件


Spot Fleet 的請求類型 (Persistence) 有 2 種狀態,一種是 request 而另一種是 maintain [1],定義如下。

request

如果您將請求類型設定為 request,Spot Fleet 會針對您所需容量送出非同步的一次性請求。如果容量因為 Spot 中斷而減少,機群不會嘗試補充 Spot 執行個體;如果無法使用容量,也不會在替代的 Spot 容量集區中提交請求。

maintain

如果您將請求類型設定為 maintain,Spot Fleet 會針對您所需容量送出非同步請求,並自動補充所有中斷的 Spot 執行個體以維持容量。

透過 CloudTrail 查詢 RequestSpotFleet 的 'requestParameters' 當中 'RequestSpotFleetRequest.SpotFleetRequestConfig.Type' 的輸出內容[2],定義如下。

客戶剛好是使用預設 request 故不會再長新的 Spot 機器。


使用CloudTrail Event name 篩選 BidEvictedEvent,可以判斷是否為 Spot 中斷導致機器消失。


也建議參閱文件[3][4]利用Amazon EventBridge 來串接通知您 Spot 中斷通知,來繞過潛在的中斷問題。


[1] Spot Fleet 請求類型 - https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/spot-fleet-requests.html
[2] SpotFleetRequestConfigData - https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html

[3] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-instance-termination-notices.html

[4]  https://aws.amazon.com/tw/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.