You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何测试AWS Spot实例启停?模拟停止重启行为测试自恢复应用

模拟AWS Spot实例停止重启行为的测试方法

嗨Ashish,我完全明白你的需求——你想测试应用在Spot实例被AWS自动停止后能否自动恢复,但AWS GUI里确实没有手动停止运行中Spot实例的选项(只能终止或取消请求)。下面几个方法可以帮你完美模拟这个场景:

方法一:用AWS CLI手动停止并重启Spot实例

这是最直接的方式,和AWS自动停止Spot实例的行为几乎完全一致:

  • 先获取你的Spot实例ID(可以在EC2控制台的实例列表里找到)
  • 打开终端,运行停止命令:
    aws ec2 stop-instances --instance-ids <你的实例ID>
    
  • 等实例进入stopped状态后,你可以手动启动它(或者设置自动启动规则)来测试应用恢复:
    aws ec2 start-instances --instance-ids <你的实例ID>
    

划重点:这个操作不会取消你的Spot请求,只要请求处于活跃状态,后续AWS满足价格/需求条件时,依然会自动重启实例,完全匹配你要测试的真实场景。

方法二:用AWS Systems Manager自动化完整流程

如果你想模拟“自动停止→等待→自动重启”的完整流程,可以用Systems Manager创建自动化文档:

  1. 进入AWS Systems Manager控制台,打开「自动化」页面,点击「创建自动化文档」
  2. 选择「新建文档」,输入以下YAML内容(替换实例ID):
    description: 模拟Spot实例停止重启流程
    schemaVersion: '0.3'
    parameters:
      InstanceId:
        type: String
        description: 目标Spot实例ID
      WaitTime:
        type: String
        description: 停止后等待的时间(比如PT5M表示5分钟)
        default: PT5M
    mainSteps:
      - name: StopInstance
        action: 'aws:executeAwsApi'
        inputs:
          Service: ec2
          Api: StopInstances
          InstanceIds:
            - '{{ InstanceId }}'
      - name: WaitForStopped
        action: 'aws:waitForAwsResourceProperty'
        inputs:
          Service: ec2
          Api: DescribeInstances
          InstanceIds:
            - '{{ InstanceId }}'
          PropertySelector: '$.Reservations[0].Instances[0].State.Name'
          DesiredValues:
            - stopped
      - name: WaitBeforeStart
        action: 'aws:sleep'
        inputs:
          Duration: '{{ WaitTime }}'
      - name: StartInstance
        action: 'aws:executeAwsApi'
        inputs:
          Service: ec2
          Api: StartInstances
          InstanceIds:
            - '{{ InstanceId }}'
    
  3. 保存文档后,点击「执行自动化」,输入你的实例ID和等待时间,就能一键触发完整的停止重启流程,完美模拟AWS的自动行为。

注意事项

  • 确保你的Spot实例使用的是EBS根卷:如果是实例存储卷,停止实例会丢失所有数据,这和AWS自动停止Spot实例的行为一致(实例存储卷的Spot实例被停止后数据会丢失),测试时要注意这一点。
  • 测试后检查Spot请求状态:确保你的Spot请求仍处于「活跃」状态,这样AWS后续才会自动重启实例。

内容的提问来源于stack exchange,提问作者Ashish Mittal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:15:35