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

本文涉及的产品
无影云电脑企业版,4核8GB 120小时 1个月
资源编排,不限时长
无影云电脑个人版,1个月黄金款+200核时
简介: 介绍如何通过运维属性指定阿里云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
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
28天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
7天前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
8天前
|
存储 分布式计算 安全
阿里云服务器经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例介绍与选择参考
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出合适的选择。
|
13天前
|
存储 人工智能 编解码
阿里云服务器计算型c8i、通用型g8i和计算型c8a、通用型g8a实例区别及选择参考
在选择阿里云服务器计算型和通用型实例规格的时候,有的用户不清楚计算型c8i、通用型g8i与计算型c8a、通用型g8a实例的区别,他们都是采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。但是计算型c8i和通用型g8i实例用的是Intel处理器,计算型c8a和通用型g8a实例用的是AMD处理器。本文将详细介绍阿里云服务器计算型c8i、通用型g8i与计算型c8a、通用型g8a实例各自的性能和区别,以及适合的用户群体,帮助用户更好地选择适合自己的云服务器实例。
|
16天前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
21天前
|
存储 弹性计算 缓存
阿里云服务器通用型g8i实例性能与使用场景介绍及最新收费标准参考
阿里云ECS通用型g8i服务器采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。ECS通用型g8i实例支持开启或关闭超线程配置,单台g8i实例最高支持100万IOPS。阿里云ECS通用型g8i实例CPU采用Intel®Xeon®Emerald Rapids或者Intel®Xeon®Sapphire Rapids,主频不低于2.7 GHz,全核睿频3.2GHz。本文为大家介绍通用型g8i实例性能与使用场景介绍及最新收费标准,以供参考。
|
22天前
|
弹性计算 缓存 数据挖掘
阿里云服务器经济型e和通用算力型u1实例区别及选择参考
在阿里云目前的活动中,经济型e和通用算力型u1实例是两个比较热门的云服务器实例规格,收费标准相对其他计算型、通用型和内存型实例来说要更低一些,经济型e实例ECS云服务器2核2G3M带宽新购和续费都是99元1年,通用算力型u1实例2核4G5M带宽新购和续费都只要199元1年、4核8G云服务器955.58元1年。有的新手用户并不清楚他们之间的区别及如何选择,本文将介绍阿里云服务器中的经济型e实例和通用算力型u1实例的特点、区别以及新手选择参考。
|
1月前
|
存储 缓存 安全
阿里云服务器内存型r7、r8a、r8y、r8i实例区别及选择参考
随着阿里云2024年金秋云创季的开始,目前在阿里云的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y和内存型r8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:8,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍内存型r7、r8a、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器c7/c8a/c8y/c8i/g7/g8a/g8y/g8i/r7/r8a/r8y/r8i实例区别及选择参考
在阿里云目前的活动中,除了特价的轻量应用服务器和经济型e及通用算力型u1实例之外,属于计算型实例的实例有计算型c7/c8a/c8y/c8i,属于通用型实例的有通用型g7/g8a/g8y/g8i,属于内存型实例的有内存型r7/r8a/r8y/r8i。本文将详细介绍阿里云服务器中的c7、c8a、c8y、c8i、g7、g8a、g8y、g8i、r7、r8a、r8y、r8i等实例规格的性能、适用场景及选择参考,帮助用户更好地选择合适的云服务器实例。

相关产品

  • 云服务器 ECS