使用OOS定时给特定名称开头的ECS实例打标签

简介: 使用OOS定时给名称中包含特定字符开头的ECS实例打标签。

背景介绍

本文介绍如何通过OOS自动给名称中包涵特定字符的ECS打标签。


操作步骤

  1. 登录OOS控制台,点击创建模板。 image.png
  2. 输入模板名称(ECS-TagInstancesByInstanceName),点击YAML,输出模板内容(见附录),点击创建模板。 image.png
  3. 重复创建模板步骤,创建第二个模板(ECS-BulkyTagInstancesByInstanceName),创建完成后点击创建执行。 image.png
  4. 配置模板参数,实例选择全部。配置完成后点击下一步:确定,然后创建执行。 image.png
  5. 执行完成后在ECS控制台查看实例,OOS模板参数中配置的标签已绑定到ECS实例。 image.png

附录

  1. 模板ECS-TagInstancesByInstanceName 的内容:
FormatVersion: OOS-2019-06-01
Description:
  name-en: ECS-TagInstancesByInstanceName
  name-zh-cn: 根据实例名称为ECS实例绑定标签
  en: Tag ECS instances by instance name
  zh-cn: 根据实例名称为ECS实例绑定标签
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: 地域ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  instanceInfo:
    Type: Json
    Label:
      en: InstanceInfo
      zh-cn: 实例信息
  instanceNameStartsField:
    Type: String
    Label:
      en: InstanceNameStartsField
      zh-cn: 实例名称开头字段
  tags:
    Label:
      en: Tags
      zh-cn: 要为ECS实例绑定的标签
    Type: Json
    AssociationProperty: Tags
Tasks:
  - Name: tagResources
    Action: ACS::ExecuteApi
    When:
      Fn::Equals:
        - true
        - Fn::Jq:
            - First
            - .InstanceName | startswith("{{ instanceNameStartsField }}")
            - '{{ instanceInfo }}'
    Description:
      en: Creates and attaches tag to ECS instance
      zh-cn: 创建并挂载标签到ECS实例
    Properties:
      Service: ECS
      API: TagResources
      Parameters:
        RegionId: '{{ regionId }}'
        ResourceIds:
          - Fn::Select:
              - InstanceId
              - '{{ instanceInfo }}'
        ResourceType: Instance
        Tags: '{{ tags }}'
  1. 模板 ECS-BulkyTagInstancesByInstanceName 内容:
FormatVersion: OOS-2019-06-01
Description:
  name-en: ECS-BulkyTagInstancesByInstanceName
  name-zh-cn: 批量根据实例名称为ECS实例绑定标签
  en: Bulky tag ECS instances by instance name
  zh-cn: 批量根据实例名称为ECS实例绑定标签
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: 地域ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Type: Json
    Label:
      en: TargetInstance
      zh-cn: 目标实例
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::ECS::Instance
      RegionId: regionId
  timerTrigger:
    Type: Json
    Label:
      en: TimerTrigger
      zh-cn: 定时类型
    AssociationProperty: ALIYUN::OOS::Component::TimerTrigger
  instanceNameStartsField:
    Type: String
    Label:
      en: InstanceNameStartsField
      zh-cn: 实例名称开头字段
  tags:
    Label:
      en: Tags
      zh-cn: 要为ECS实例绑定的标签
    Type: Json
    AssociationProperty: Tags
  rateControl:
    Label:
      en: RateControl
      zh-cn: 任务执行的并发比率
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: OOS扮演的RAM角色
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: timerTrigger
    Action: ACS::TimerTrigger
    Description:
      en: Triggers a task as scheduled by specifying type and expression
      zh-cn: 通过指定触发类型和表达式按计划触发任务
    Properties:
      Type:
        Fn::Select:
          - type
          - '{{timerTrigger}}'
      Expression:
        Fn::Select:
          - expression
          - '{{timerTrigger}}'
      EndDate:
        Fn::Select:
          - endDate
          - '{{ timerTrigger }}'
      TimeZone:
        Fn::Select:
          - timeZone
          - '{{ timerTrigger }}'
  - Name: getInstance
    Description:
      en: Views the ECS instances
      zh-cn: 获取ECS实例
    Action: ACS::SelectTargets
    Properties:
      ResourceType: ALIYUN::ECS::Instance
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance | map( {"InstanceId": (.InstanceId),"InstanceName": (.InstanceName)})[]'
  - Name: tagResources
    Action: ACS::Template
    Description:
      en: Creates and attaches tag to ECS instance
      zh-cn: 创建并挂载标签到ECS实例
    Properties:
      TemplateName: ECS-TagInstancesByInstanceName
      Parameters:
        regionId: '{{ regionId }}'
        instanceInfo: '{{ ACS::TaskLoopItem }}'
        tags: '{{ tags }}'
        instanceNameStartsField: '{{ instanceNameStartsField }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - timerTrigger
          - tags
          - instanceNameStartsField
        Label:
          default:
            zh-cn: 设置参数
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: 选择实例
            en: Select Ecs Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: 高级选项
            en: Control Options
相关实践学习
基于ECS搭建云上博客
本实验教您如何在ECS云服务器(Alibaba Cloud Linux 3)的环境下,通过部署LAMP环境并安装WordPress快速搭建个人博客。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
1345 79
|
数据安全/隐私保护
雾锁王国怎么修改服务器名称和密码
本文指导如何在阿里云控制台修改雾锁王国的服务器名称和密码。
1126 0
|
运维
阿里云服务器批量执行命令(系统运维管理oos)
阿里云【系统运维管理oos】批量执行详情
398 5
|
弹性计算 运维 Ubuntu
使用阿里云服务器自动搭建WordPress网站流程,超简单by系统运维管理OOS
本教程介绍如何使用阿里云服务器(ECS)和系统运维管理OOS自动搭建WordPress网站,支持Ubuntu、CentOS及Alibaba Cloud Linux等操作系统。前提条件包括ECS实例处于运行中、有公网IP且安全组已开启80端口。安装步骤简单:进入ECS快速购买控制台选择预装WordPress,确认下单后通过管理控制台查看实例详情并开放安全组端口。最后,通过实例公网IP访问,出现WordPress登录页即表示安装成功。
|
SQL 关系型数据库 MySQL
云服务器 ECS产品使用问题之出现“1044 - Access denied for user ‘root‘@‘%‘ to database ‘数据库名称‘”这样的错误,该怎么办
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
消息中间件 弹性计算 缓存
通过OOS定时升级Redis实例临时带宽
阿里云OOS提供了定时升级Redis实例临时带宽的功能,以应对数据驱动业务中的流量高峰。这个功能允许用户根据预测的业务负载,在特定日期和时间自动增加Redis实例的带宽,确保服务性能和稳定性。在高流量事件结束后,带宽会自动恢复到原设置,节省成本。 此功能适用于电商平台促销、大型游戏更新等场景,确保在流量高峰期间的系统稳定运行。
通过OOS定时升级EIP实例临时带宽
阿里云推出了一项定时升级EIP(弹性公网IP)带宽的功能,旨在解决企业在特定流量高峰时段的网络带宽需求。此功能允许用户预设特定日期和时间自动升级带宽,如电商大促、直播活动或数据备份期间,以确保服务稳定并降低成本。用户可通过OOS控制台设置自动化任务,包括定时类型(立即、一次或周期性)、EIP实例地域、带宽值、升级持续时间和执行速率控制。在流量高峰过后,带宽会自动恢复到原设定,以节省费用。此功能适用于按固定带宽计费的EIP实例,不支持按流量计费的公网带宽。
|
网络协议 Ubuntu Linux
如何在 DigitalOcean 云服务器上创建自定义品牌名称服务器
如何在 DigitalOcean 云服务器上创建自定义品牌名称服务器
405 0
|
存储 运维 NoSQL
通过OOS实现定时备份Redis实例转储到OSS
基于阿里云 Redis 备份功能,现结合 OOS 推出自动转储至 OSS 的新方案,解决了数据安全风险、运维繁琐、成本增加和效率低下等问题。新方案亮点包括: 1. 数据安全性提高:备份文件自动上传至OSS,利用OSS的数据冗余存储,保证数据在硬件故障时的持久性和可用性。 2. 完全自动化:设置好定时规则后,备份和转储过程无需人工干预。 3. 多实例多地域集中管理:支持一次选择多个实例和跨区域备份,简化管理。 4. 灵活的备份策略和成本控制:自定义备份频率,并通过OSS生命周期管理策略控制成本。 5. 监控和告警:集成OSS和云监控,实时掌握备份状态,及时处理异常。
通过OOS实现定时备份Redis实例转储到OSS
|
Ubuntu Linux
修改服务器名称
修改服务器名称
515 0