阿里云ECS实例运维属性-如何控制实例的宕机表现

本文涉及的产品
无影云电脑企业版,4核8GB 120小时 1个月
无影云电脑个人版,1个月黄金款+200核时
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 介绍如何通过运维属性指定阿里云ECS的宕机运维表现等

1. 功能描述

1.1. 简介

实例运维属性本质上指定了ECS实例遇到各种非预期和计划内运维事件后的默认行为,您可以修改实例运维属性定义该默认行为,例如遇到非预期运维事件后默认自动重启还是保持停机状态。

1.2. 基本概念

实例运维属性分为运维动作和运维时间窗口两个维度。

运维动作:指定的非预期宕机处理策略,包括Stop、AutoRecover和AutoRedeploy。

运维时间窗口:自定义的一段时间范围,运维动作只会在该时间段内进行。

1.3. 运维动作

运维动作

相关的系统事件

适用实例类型

说明

自动重启恢复(默认)

AutoRecover

  • SystemMaintenance.Reboot
  • SystemFailure.Reboot

所有支持系统事件的实例。

实例恢复至执行运维任务之前的状态:

  • 如果操作前状态为运行中,实例自动重启,继续提供服务。
  • 如果操作前状态为已停止,实例继续处于已停止状态。

禁止重启恢复
Stop

  • SystemMaintenance.Stop
  • SystemFailure.Stop

所有支持系统事件的实例。

实例进入已停止状态。适用于您已经在应用层实现故障转移、节点切换等灾备机制的情况,避免多个节点同时提供服务而产生冲突。

自动重新部署

  • SystemMaintenance.Redeploy
  • SystemFailure.Redeploy

仅依赖宿主机硬件的实例,例如挂载本地盘或支持SGX加密计算的实例。

实例自动重新部署至其他宿主机,然后继续提供服务。

2. 实例运维属性使用

2.1. ECS控制台

说明:ECS控制台仅支持对运维动作的查询和修改,如果想修改运维时间窗口,请使用SDK或者阿里云CLI。

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例。
  3. 在页面左侧顶部,选择目标资源所在的地域。
  4. 找到目标实例,任选一种方式进入设置项。
  • 方式一:在实例操作列中,选择图标 > 运维和诊断 > 修改实例维护属性

image.png

  • 方式二:单击实例ID,进入实例详情页,在页面右上角,选择全部操作 > 运维和诊断 > 修改实例维护属性。

image.png

  1. 在弹出的修改实例维护属性对话框中,根据您的需求修改,然后单击确定。
  • 如果实例只挂载了云盘,您可以选择以下选项:
  • 自动重启恢复
  • 禁止重启恢复
  • 如果实例挂载了本地盘,您可以选择以下选项:
  • 自动重启恢复
  • 禁止重启恢复
  • 自动重新部署
  1. 在实例详情页的其它信息区域,确认变更后的维护属性。

image.png

2.2. OpenApi与SDK使用说明

  1. OpenApi与SDK 相关配置(以Java调用为例)
  • pom文件
<dependencies>
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.83</version>
  </dependency>
  <dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.6.1</version>
  </dependency>
  <dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-ecs</artifactId>
    <version>5.11.7</version>
  </dependency>
</dependencies>
  • OpenClient实现
public class OpenClient {
    private IAcsClient client;
    public void initClient() {
        DefaultProfile profile = DefaultProfile.getProfile(
                "your region",          // The region ID
                "your ak",      // The AccessKey ID of the RAM account
                "your sk"); // The AccessKey Secret of the RAM account
        client = new DefaultAcsClient(profile);
    }
    public <R extends AcsResponse> R getResponse(RpcAcsRequest<R> request) {
        try {
            return this.client.getAcsResponse(request);
        } catch (ServerException e) {
            e.printStackTrace();
            return null;
        } catch (ClientException e) {
            e.printStackTrace();
            return null;
        }
    }
}
  1. DescribeInstanceMaintenanceAttributes(查询实例的维护属性)
  • 描述:查询一台或多台ECS实例的运维属性
  • 主要请求参数

名称

类型

必填

描述

示例值

regionId

string

实例所属的地域ID

cn-hangzhou

InstanceIds

list<string>

查询的实例列表

["i-bp67acfmxazb4p****", "i-bp67acfmxazb4p****", … "i-bp67acfmxazb4p****"]

  • 主要返回参数

名称

类型

描述

示例值

TotalCount

integer

查询到的维护属性总数。

100

MaintenanceAttributes

  • InstanceId
  • ActionOnMaintenance
    • DefaultValue
    • Value
  • MaintenanceWindows
    • EndTime
    • StartTime

array<object>

  • string
  • object
    • string
    • string
  • array<object>
    • string
    • string

运维属性的集合

  • 实例ID
  • 运维动作对象
    • 运维动作默认的值
    • 运维动作当前生效的值
  • 运维时间窗口数组
    • 运维时间窗口结束时间
    • 运维时间窗口开始时间
  • i-bp67acfmxazb4p****
    • AutoRecover
    • Stop
    • 09:00:00
    • 08:00:00
  • api调用示例
// 查询实例运维属性
    public void describeEcsMaintenanceAttributes() {
        DescribeInstanceMaintenanceAttributesRequest request = new DescribeInstanceMaintenanceAttributesRequest();
        List<String> instanceIds = new ArrayList<String>();
        // 向实例ID列表中添加一个示例实例ID
        instanceIds.add("i-bp1d1055fpao3jx***");
        request.setInstanceIds(instanceIds);
        DescribeInstanceMaintenanceAttributesResponse resp = getResponse(request);
        for (DescribeInstanceMaintenanceAttributesResponse.MaintenanceAttribute maintenanceAttribute : resp.getMaintenanceAttributes()) {
            System.out.printf("instanceId: %s,  maintenanceAction: %s,  startTime: %s, endTime: %s%n", maintenanceAttribute.getInstanceId(), maintenanceAttribute.getActionOnMaintenance().getValue(), maintenanceAttribute.getMaintenanceWindows().get(0).getStartTime(), maintenanceAttribute.getMaintenanceWindows().get(0).getEndTime());
        }
    }

image.png

  1. ModifyInstanceMaintenanceAttributes
  • 描述:修改实例的运维属性,包括运维动作和运维时间窗口
  • 请求参数

名称

类型

必填

描述

示例值

RegionId

string

实例所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou

InstanceIds

list

实例 ID。N 的取值范围为:1~100。

["i-bp67acfmxazb4p****", "i-bp67acfmxazb4p****", … "i-bp67acfmxazb4p****"]

ActionOnMaintenance

string

维护动作。取值范围:

  • Stop:停止状态(即宕机)。
  • AutoRecover:自动恢复。
  • AutoRedeploy:宕机迁移,数据盘有损。

AutoRecover

MaintenanceWindows

array<object>

运维时间窗口数组,只支持设置1个时间窗口

MaintenanceWindow

名称

类型

必填

描述

示例值

EndTime

string

维护时间窗口结束时间。必须为整小时,不允许设置分、秒。开始时间和结束时间必须同时设置,并且结束时间与开始时间需要间隔 1~23 个整小时。采用 UTC +8 时区,格式为HH:00:00

18:00:00

StartTime

string

维护时间窗口开始时间。必须为整小时,不允许设置分、秒。开始时间和结束时间必须同时设置,并且结束时间与开始时间需要间隔 1~23 个整小时。采用 UTC +8 时区,格式为HH:00:00

02:00:00

  • 返回参数

名称

类型

描述

示例值

RequestId

string

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE*****

  • api调用示例
// 修改实例运维属性
    public void modifyInstanceMaintenanceAttribute() {
        ModifyInstanceMaintenanceAttributesRequest request = new ModifyInstanceMaintenanceAttributesRequest();
        // 向实例ID列表中添加一个示例实例ID
        List<String> instanceIds = new ArrayList<String>();
        instanceIds.add("i-bp1d1055fpao3jx4***");
        request.setInstanceIds(instanceIds);
        request.setActionOnMaintenance("AutoRecover");
        // 设置运维时间窗口
        List<ModifyInstanceMaintenanceAttributesRequest.MaintenanceWindow> maintenanceWindows = new ArrayList<>();
        ModifyInstanceMaintenanceAttributesRequest.MaintenanceWindow maintenanceWindow = new ModifyInstanceMaintenanceAttributesRequest.MaintenanceWindow();
        maintenanceWindow.setStartTime("00:00:00");
        maintenanceWindow.setEndTime("08:00:00");
        maintenanceWindows.add(maintenanceWindow);
        request.setMaintenanceWindows(maintenanceWindows);
        ModifyInstanceMaintenanceAttributesResponse response = getResponse(request);
        System.out.printf("requestId %s", response.getRequestId());
    }

image.png

2.3. 阿里云CLI

  1. 官网介绍
  2. 命令参数介绍:参数参考对应的OpenApi,cols展示的列名,需要与 JSON 数据中的字段相对应。rows指定过滤字段所在的JMESPath路径。
  3. 使用示例
  • 查询实例运维属性
aliyun ecs DescribeInstanceMaintenanceAttributes --RegionId 'The RegionId' --InstanceId.1 'i-bp1d1055fpao3jx4****' --output cols=InstanceId,ActionOnMaintenance.Value,MaintenanceWindows.MaintenanceWindow[0].StartTime,MaintenanceWindows.MaintenanceWindow[0].EndTime rows=MaintenanceAttributes.MaintenanceAttribute[]
+----------------------------------------------------------------------------------------------------------------------------------------------------------+
| InstanceId             | ActionOnMaintenance.Value | MaintenanceWindows.MaintenanceWindow[0].StartTime | MaintenanceWindows.MaintenanceWindow[0].EndTime |
| ----------             | ------------------------- | ------------------------------------------------- | ----------------------------------------------- |
| i-bp1d1055fpao3jx4qfqa | AutoRecover               | 01:00:00                                          | 09:00:00                                        |
+----------------------------------------------------------------------------------------------------------------------------------------------------------+
  • 修改实例运维属性
aliyun ecs ModifyInstanceMaintenanceAttributes --region cn-hangzhou --RegionId 'cn-hangzhou' --MaintenanceWindow.1.EndTime '09:00:00' --MaintenanceWindow.1.StartTime '01:00:00' --InstanceId.1 'i-bp1d1055fpao3jx4****'
相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
存储 弹性计算 人工智能
阿里云服务器第九代企业级g9i实例技术特点、性能优势、适用场景简介
阿里云不断推出创新产品和技术,以满足市场对高性能、高可靠、高性价比云计算资源的需求。近日,阿里云正式面向全球发布了第九代企业级实例ECS g9i,并开启了邀测活动。本文将深入解析阿里云ECS g9i实例的技术特点、性能优势、适用场景以及购买建议,帮助用户更好地了解并选择合适的云服务器实例。
|
21天前
|
存储 弹性计算 安全
阿里云服务器实例选择:经济型、通用算力型、计算型、通用型、内存型实例选择参考
当我们通过阿里云的活动购买云服务器会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,例如同样是4核8G的配置的云服务器,经济型e实例活动价格1595.11元/1年起,通用算力型u1实例要955.58元/1年起,而计算型c8i实例则要2845.81元/1年起,价格差别还是比较大的,因此,阿里云经济型、通用算力型、计算型、通用型、内存型实例云服务器有何差别就是很多新手用户比较关心的问题了,下面小编来为大家简单介绍下它们之间的区别。
|
13天前
|
存储 编解码 大数据
阿里云服务器实例选择参考:根据业务场景选择云服务器实例规格
对于初次接触阿里云服务器的用户来说,面对众多实例规格往往不知道如何选择,因为云服务器实例规格不同,价格也不一样,往往会感到无从下手。本文旨在通过详细解析阿里云服务器的不同实例规格及其适用场景,为用户提供一份实用的选型指南,以供参考。
|
21天前
|
存储 弹性计算 数据挖掘
阿里云ECS云服务器经济型e实例和通用算力型u1实例区别对比、适用场景和问题解答FAQ
阿里云ECS云服务器的经济型e实例和通用算力型u1实例是开发者和中小企业常用的两种配置。e实例适合中小型网站、开发测试等轻量级应用,性价比高;u1实例性能更优,适用于中小型企业级应用、数据分析等场景。同等配置下,u1实例在网络带宽、云盘IOPS等方面表现更好,价格也相对较高。选择时,个人用户推荐e实例,中小企业则更适合u1实例
|
2月前
|
存储 运维 资源调度
阿里云服务器经济型e实例解析:性能、稳定性与兼顾成本
阿里云经济型e云服务器以其高性价比、稳定可靠的性能以及灵活多样的配置选项,成为了众多企业在搭建官网时的首选。那么,阿里云经济型e云服务器究竟怎么样?它是否能够满足企业官网的搭建需求?本文将从性能表现、稳定性与可靠性、成本考虑等多个方面对阿里云经济型e云服务器进行深入剖析,以供大家参考选择。
146 37
|
2月前
|
存储 人工智能 安全
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍参考
随着技术的不断进步,阿里云服务器实例也经历了多代升级,从五代实例到最新的八代实例,每一代都在性能、稳定性、能效比等方面取得了显著提升。有的用户由于是初次接触阿里云服务器,所以不是很清楚阿里云服务器五代、六代、七代、八代实例有哪些,它们各自在云服务器性能上有哪些提升。本文将详细介绍阿里云服务器五代、六代、七代、八代实例的特点及性能提升,以供了解及选择。
120 10
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍参考
|
2月前
|
存储 安全 数据安全/隐私保护
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍
随着技术的不断进步,到2025年,阿里云服务器实例也经历了多代升级,从五代实例到最新的八代实例,每一代都在性能、稳定性、能效比等方面取得了显著提升。有的用户由于是初次接触阿里云服务器,所以不是很清楚阿里云服务器五代、六代、七代、八代实例有哪些,它们各自在云服务器性能上有哪些提升。本文将详细介绍阿里云服务器五代、六代、七代、八代实例的特点及性能提升,帮助用户更好地了解并选择适合自己的云服务器实例。
167 29
|
2月前
|
存储 弹性计算 应用服务中间件
阿里云轻量应用服务器出新品通用型实例了,全球26个地域可选
近日,阿里云再度发力,推出了首款全新升级的轻量应用服务器——通用型实例。这款服务器实例不仅标配了200Mbps峰值公网带宽,更在计算、存储、网络等基础资源上进行了全面优化,旨在为中小企业和开发者提供更加轻量、易用、普惠的云计算服务,满足其对于通用计算小算力的迫切需求。目前,这款新品已在全球26个地域正式上线,为全球用户提供了更加便捷、高效的上云选择。
382 27
|
9天前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
54 0
|
13天前
|
存储 弹性计算 人工智能
算力性能提升20%!阿里云第九代ECS g9i企业级实例全球邀测
算力性能提升20%!阿里云第九代ECS g9i企业级实例全球邀测
48 0

相关产品

  • 云服务器 ECS