使用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
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
3月前
|
存储 弹性计算 安全
阿里云渠道商:新手如何选择阿里云ECS实例?
阿里云ECS凭借弹性扩展、稳定可靠与安全防护,助力企业高效上云。本文系统解析实例规格选择关键因素:业务场景匹配、性能评估、成本优化、地域部署与扩展规划,结合计费模式与实际需求,提供科学选型建议,助您精准匹配资源,提升云上效能。(238字)
|
5月前
|
存储 缓存 安全
阿里云服务器热门实例选择参考:e/u1/c7/c8y/c9i/g7/g8y/g9i/r7/r8y/r9i实例适用场景汇总
通过阿里云的活动购买云服务器时,除了轻量应用服务器之外,活动内的云服务器实例规格主要以e/u1/c7/c8y/c9i/g7/g8y/g9i/r7/r8y/r9i这几种为主。本文主要为介绍阿里云服务器的实例规格是什么,有什么用,并汇总了阿里云轻量应用服务器和这些热门云服务器实例规格的适用场景,以供大家了解和选择适合自己的需求的实例规格。
|
5月前
|
存储 弹性计算 缓存
企业级云服务器租用一年需要多少预算?199元2核4G5M带宽阿里云u1实例评测
阿里云企业用户专享,仅需199元/年即可租用ECS通用算力型u1实例(2核4G、5M带宽、80G云盘),适用于中小企业官网、电商展示、数据分析等场景。支持多地域部署,新老用户均可享受,性价比高,助力企业稳定运营。
403 7
|
5月前
|
存储 弹性计算 安全
阿里云轻量服务器通用型、CPU优化型、多公网IP型、国际型、容量型不同实例区别与选择参考
阿里云轻量应用服务器实例类型分为通用型、CPU优化型、多公网IP型、国际型、容量型,不同规格族的适用场景和特点不同,收费标准也不一样。本文为大家介绍轻量应用服务器通用型、多公网IP型、容量型有何区别?以及选择参考。
|
4月前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
637 0

热门文章

最新文章