启动和停止 Amazon EC2 实例
您可以停止和启动将 Amazon EBS 卷作为其根设备的实例。当您停止一个实例时,其会关闭。启动实例时,其通常会迁移到新的底层主机,并分配新的公有 IPv4 地址。
实例停止可以由用户启动(手动停止实例)或由 Amazon 启动(当 Amazon 检测到实例的底层主机发生不可修复的故障时,响应计划停止事件)。
对于由用户启动的停止,我们建议使用 Amazon EC2 控制台、CLI 或 API 而非在实例中运行操作系统停止命令。使用 Amazon EC2 时,如果实例未在几分钟内完全关闭,Amazon EC2 会执行强制关机。此外,Amazon CloudTrail 还会创建一条关于实例停止时间的 API 记录。
本主题介绍如何执行由用户启动的停止 。有关 Amazon 执行的停止的信息,请参阅 管理计划停止或停用的 Amazon EC2 实例。
当您停止某个实例时,它不会被删除。当您决定不再需要实例时,可以终止该实例。有关更多信息,请参阅 终止 Amazon EC2 实例。如果您想休眠某个实例以保存实例内存(RAM)中的内容,请参阅 将您的 Amazon EC2 实例休眠。有关实例生命周期操作之间的区别,请参阅 实例状态之间的区别。
手动停止和启动实例
您可以停止和启动 Amazon EBS 支持的实例(具有 EBS 根设备的实例)。您无法使用实例存储根设备停止和启动实例。
警告
当您停止某个实例时,任何实例存储卷上的数据都将被擦除。在停止实例之前,请确认您是否已将所需数据从实例存储卷复制到持久性存储,例如 Amazon EBS 或 Amazon S3。
自动停止和启动您的实例
您可以使用以下服务自动停止和启动实例:
- Amazon 上的实例调度器
-
您可以在 Amazon 上使用实例调度器以自动开启和停止 EC2 实例。有关更多信息,请参阅如何将实例调度器与 CloudFormation 一起使用来制定 EC2 实例的计划?
请注意,需要支付额外费用。 - Amazon Lambda 和 Amazon EventBridge 规则
-
您可以使用 Lambda 和 EventBridge 规则按计划停止和开启您的实例。有关更多信息,请参阅如何使用 Lambda,按固定间隔停止和启动 Amazon EC2 实例?
- Amazon EC2 Auto Scaling
-
为确保您有正确数量的 Amazon EC2 实例来处理应用程序的负载,请创建自动扩缩组。Amazon EC2 Auto Scaling 确保您的应用程序始终具有处理流量需求的适当容量,并通过仅在需要时启动实例来节省成本。请注意,Amazon EC2 Auto Scaling 会终止而不是停止不需要的实例。要设置自动扩缩组,请参阅 Amazon EC2 Auto Scaling 入门。
查找所有正在运行和已停止的实例
您可以在 Amazon EC2 全局视图
查找初始和最近的启动时间
当您描述一个实例时,该实例的启动时间是其最近的启动时间。在您停止并启动一个实例后,启动时间将反映新实例的启动时间。要查找一个实例的初始启动时间(即使在停止和启动该实例之后),请查看主网络接口连接到该实例的时间。
要使用控制台查找最近的启动时间,请选择该实例,然后在详细信息选项卡上的实例详细信息下查看。要查找主网络接口的连接时间,请在联网选项卡上的网络接口下查看。
使用 Amazon CLI,运行以下 describe-instances
aws ec2 describe-instances --instance-id
i-09453945dcf1529e9
--query 'Reservations[*].Instances[*].{InstanceID:InstanceId,InitialLaunch:NetworkInterfaces[0].Attachment.AttachTime,LastLaunch:LaunchTime}'
下面是示例输出。
{
"InstanceID": "i-09453945dcf1529e9",
"InitialLaunch": "2024-03-31T00:47:08+00:00",
"LastLaunch": "2024-06-30T00:24:06+00:00"
}