租用帮助

为什么 你的EC2实例停止后会自行重启或重新打开?
2023-10-16 16:45:11
阅读()
摘要:    为什么 你的EC2 Linux 实例停止后会自行重启或重新打开?例如:昨天你终止了一个 Amazon Elastic Compute Cloud (Amazon EC2) 实例。随后,你的账户中自动启动了另一个相同类型的实例。为什么会这样,如何才能阻止新实例重新启动?

为什么 你的EC2 Linux 实例停止后会自行重启或重新打开?例如:昨天你终止了一个 Amazon Elastic Compute Cloud (Amazon EC2) 实例。随后,你的账户中自动启动了另一个相同类型的实例。为什么会这样,如何才能阻止新实例重新启动?


为什么 Amazon Elastic Compute Cloud(Amazon EC2)Linux 实例会意外重启或重新打开?尽管很少发生意外重启,但是有几种原因可能会导致这种情况的发生。


awsec2实例优惠链接http://www.hkt4.com/zt/2023-05-06/


一、awsec2实例停止后重启最常见的原因:


1、实例未通过一项或两项状态检查。

2、托管您的实例的底层硬件出现故障,Amazon EC2 重启了该实例,以将其移至新的运行状况良好的硬件。

3、您的实例上发生了要求重启的计划维护。


4、服务器内部的用户或应用程序重启了实例。

5、内核错误。如果遇到内核错误,请确保内核已完全更新。


awsec2实例停止后重启


二、awsec2实例停止后重启查看方法


您可以执行多项操作,以确定实例重启的原因:


方法1)查看状态检查结果:在控制台或使用 Amazon 命令行界面(Amazon CLI),查看实例的状态检查结果。**注意:**如果在运行 AWS CLI 命令时收到错误,请确保使用最新的 Amazon CLI 版本。


方法2)查看系统日志:如果实例通过状态检查,则可能是由于操作系统层面的问题而重启。查看系统日志,确定出现的错误。系统日志位于 /var/log/messages 或 /var/log/syslog 路径下,具体取决于您的操作系统发行版。


方法3)如果实例未通过状态检查,您可以重启实例,使用控制台输出检索系统日志。查看控制台输出日志,排查问题。


方法4)查看重启历史记录

使用以下命令,确定用户或服务器内部的应用程序是否发起了重启:

# grep reboot /home/*/.bash_history

# grep reboot /root/.bash_history

# history | grep -i reboot

# history | grep -i init

# last reboot

方法5)查看 Amazon CloudTrail 事件历史记录

在 Amazon EC2 控制台或通过 Amazon CLI 发起的实例重启会显示在 CloudTrail 事件历史记录中。查看这些事件:

打开 Amazon CloudTrail 控制台。选择事件历史记录。从筛选条件下拉列表中选择事件名称,然后输入 RebootInstances。

**注意:**您可以创建 Amazon CloudWatch 警报,如果实例遇到潜在硬件问题而重启,该警报会自动将其恢复。有关如何设置 CloudWatch 警报的信息,请参阅恢复实例。


三、awsec2实例停止后重启解决方法


**注意:**以下操作将永久删除选定的 AWS 资源。在继续执行此解决方案之前,请先创建 EC2 实例的备份。如有必要,备份允许您恢复到以前的工作状态。


1)删除 Auto Scaling 组


1. 记下重新启动的实例的实例 ID。

2. 确认是哪个 Auto Scaling 组导致重新启动:

打开 Amazon EC2 控制台。Amazon EC2 资源是特定于区域的。请确保您位于正确的区域。如果所在区域不正确,请从屏幕顶部的导航栏中选择正确的区域。在左侧导航窗格中选择 Auto Scaling 组,然后在新窗口中将其打开。选择 Auto Scaling 组,然后选择活动历史记录选项卡。验证重新启动的实例的实例 ID。注意:如果实例 ID 不匹配或您在此区域中没有任何 Auto Scaling 组,请跳至下列终止 Elastic Beanstalk 环境部分。

3. 依次选择 Actions(操作)、Delete(删除)。

4. 选择 Yes, delete(是,删除)。

5. 从左侧导航窗格中选择 Instances(实例)。实例将终止,且不会启动新实例。


2)终止 Elastic Beanstalk 环境


1. 打开 AWS Elastic Beanstalk 控制台。Amazon EC2 资源是特定于区域的。确保您位于正确的区域,如果所在区域不正确,请从屏幕顶部的导航栏中选择正确的区域。

2. 选择 Environments(环境),然后从列表中选择环境的名称。

3. 验证重新启动的 EC2 实例的名称与 Elastic Beanstalk 环境的名称相同。

**注意:**如果实例 ID 不匹配,请跳至下面的 Delete the EC2 Fleet(删除 EC2 队列)部分。

4. 选择 Environment actions(环境操作),然后选择 Terminate environment(终止环境)。

5. 确认环境终止。Elastic Beanstalk 可能需要几分钟时间才能终止在环境中运行的 AWS 资源。


方法3)删除 EC2 队列


EC2 队列只能通过 API 或 AWS CLI 可用。此处我们使用 AWS CLI 删除队列。


1. 确保您已在计算机上安装和配置 AWS CLI。

2. 在继续操作之前,请确保您位于正确的区域中,如果不是,请通过运行以下命令设置正确的区域:

aws configure

3. 通过运行以下命令确认您是否已有 EC2 队列:

aws ec2 describe-fleets

4. 如需验证要重新启动的 EC2 实例 ID,请运行以下命令,以检查与特定 EC2 队列相关的信息。在以下命令中,将 fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE 替换为您的 EC2 队列 ID。

aws ec2 describe-fleet-instances --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

**注意:**如果实例 ID 不匹配,请跳至下面的 Cancel the Spot Fleet(取消 Spot 队列)部分。

5. 运行以下命令以删除 EC2 队列,并终止队列中当前正在运行的实例。在以下命令中,将 fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE 替换为您的 EC2 队列 ID。

aws ec2 delete-fleets --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --terminate-instance


方法4)取消 Spot 队列


1. 打开 Amazon EC2 控制台。 Amazon EC2 资源是特定于区域的。确保您位于正确的区域,如果所在区域不正确,请从屏幕顶部的导航栏中选择正确的区域。

2. 选择 Spot Requests(Spot 请求)。

3. 确认是哪个 Spot 队列请求导致重新启动。选择您的 Spot 队列请求。要查看配置详细信息,请参阅订阅。

awsec2实例停止后重启

4. 要验证 Spot 队列中的 Spot 实例,请选择 Instances(实例)。

5. 选择您的 Spot 队列请求。

6. 依次选择 Actions(操作)、Cancel spot request(取消 Spot 请求)。

7. 在 Cancel spot request(取消 Spot 请求)中,确认您想要取消 Spot 队列。如果您想要终止当前实例以及由此 Spot 队列重新启动的实例,请确保已选中 Terminate instances (终止实例)。准备就绪后,选择 Confirm(确认)。


或者,您可以使用以下 cancel-spot-fleet-requests 命令取消指定的 Spot 队列请求并终止实例。在以下命令中,将 sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE 替换为您的 Spot 队列 ID。

aws ec2 cancel-spot-fleet-requests --spot-fleet-request-ids sfr-73fbd2ce-aa


相关产品
HKT4为您的网站提供全球IDC资源
立即免费测试