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

本文涉及的产品
无影云电脑个人版,1个月黄金款+200核时
资源编排,不限时长
无影云电脑企业版,4核8GB 120小时 1个月
简介: 介绍如何通过运维属性指定阿里云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****'
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 缓存 运维
阿里云服务器经济型e与通用算力型u1实例各自性能、适用场景区别及选择参考
在选择阿里云服务器实例规格时,经济型e实例和通用算力型u1实例因其高性价比和广泛适用性,备受个人开发者、中小企业的青睐。在同地域、相同配置的情况下,经济型e和通用算力型u1实例的价格相对于其他实例规格要低一些,很多个人和初创企业用户都会优先考虑选择这两个实例规格的云服务器,那么它们之间有什么区别?各自的性能、适用场景上有何区别?我们应该如何选择呢?本文将详细解析这两款实例的性能特点、适用场景、价格优势及购买建议,帮助用户更好地理解并选择合适的云服务器实例。
|
10天前
|
存储 弹性计算 数据挖掘
阿里云服务器ECS经济型e实例与通用算力u1区别、特性优势、使用场景及租赁费用对比
阿里云ECS云服务器的经济型e实例和通用算力型u1实例各有特点。e实例适合个人开发者和小微企业,适用于中小型网站、开发测试和轻量级应用,性价比高。u1实例则更适合中小企业,提供更高的性能和稳定性,适用于企业级应用、数据分析和中小型数据库。同等配置下,u1实例在计算、存储和网络性能上优于e实例。
143 86
|
2天前
|
存储 缓存 资源调度
阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别与选择指南
在我们通过阿里云的活动选购云服务器的时候会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。本文将详细解析阿里云的经济型、通用算力型、计算型、通用型和内存型实例的性能特点及适用场景,帮助用户根据自己的业务需求做出明智的选择。
|
3天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。
|
9天前
|
存储 分布式计算 安全
阿里云服务器经济型、通用算力型、计算型、通用型各主要实例性能、适用场景对比
在阿里云目前的活动中,云服务器实例规格有几大类,分别是轻量应用服务器、经济型e实例、通用算力型u1实例,第七代计算型c7、通用型g7、内存型r7实例,第八代计算型c8i、通用型g8i、内存型r8i实例,倚天云服务器实例计算型c8y、通用型g8y、内存型r8y实例,不同类型的实例规格,性能和适用场景不同,本文将这些热门实例规格的性能和适用场景全部展示出来,以供大家做对比和选择参考,从而选择出适合自己需求的云服务器实例规格。
|
11天前
|
存储 缓存 网络协议
阿里云服务器实例选择:c7/g7/r7和c8i/g8i/r8i及c8y/g8y/r8y实例对比与选择参考
本文将重点介绍阿里云服务器七代云服务器实例(计算型c7、通用型g7、内存型r7)、八代云服务器实例(计算型c8i、通用型g8i、内存型r8i)以及倚天云服务器实例(计算型c8y、通用型g8y、内存型r8y)的主要性能、适用场景及选择参考,帮助用户根据自己的需求选择合适的云服务器实例。
|
9天前
|
存储 缓存 安全
阿里云服务器通用算力型u1实例怎么样?实例性能与测评结果参考
本文将通过性能评测、适用场景、特点介绍、实测数据分享以及最新活动价格等多个方面,全方位解析这款云服务器实例,以供用户了解和参考。
|
20天前
|
弹性计算 数据挖掘 测试技术
ECS e实例测评
ECS e实例是阿里云推出的经济型云服务器,适合中小规模应用。性能上能满足基本需求,但在高并发场景下表现一般。性价比高,价格亲民,适合预算有限的开发者。用户体验良好,配有丰富的技术文档,但部分高级功能操作说明有待优化。
48 18
|
11天前
|
弹性计算 监控 测试技术
ecs e实例测评
阿里云 e实例性能稳定,适用于中小型 Web 应用。在 CPU 和内存性能测试中,e实例表现出色,尤其在资源密集型任务中具有较高的性价比。相比同配置的其他 ECS 规格,e实例在轻量化场景中更为均衡。价格方面,e实例低于传统 ECS 的 t5 实例,且在中国大陆市场具备一定优势。用户体验方面,控制台提供了清晰的实例创建流程和快速部署选项,但缺乏高级应用文档和性能优化指导。总体而言,e实例适合中小型企业和个人开发者使用。
39 5
|
11天前
|
弹性计算 数据挖掘 调度
阿里云服务器e实例与u1实例区别探析
阿里云服务器e实例与u1实例有何区别?阿里云ECS经济型e实例与通用算力型u1实例是两款颇受欢迎的产品,本文将对这两款实例进行详细的对比,帮助用户更好地了解它们的区别并做出选择。

相关产品

  • 云服务器 ECS