运维编排系列场景--跨账号跨地域实例操作系统补丁修复

本文涉及的产品
系统运维管理,不限时长
简介: 运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更

运维编排(OOS) 简介

什么是OOS

Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请查阅 运维编排服务

场景介绍

对于规模比较大的企业,不同部门的ECS实例可能会分布在多个账号中。多个账号中ECS实例的补丁的集中管理成为摆在企业资产管理者面前的重要问题。本文将介绍如何通过补丁管理功能跨账号跨地域的集中修复ECS实例操作系统补丁。

实现原理

在跨账号补丁修复的场景中,阿里云账号分为两个角色。

  1. 管理账号
  2. 资源账号

其中资源账号可以有一个或者多个,管理账号本身也可以是一个资源账号。

通过在所有资源账号下创建管理账号可以扮演的RAM角色的方式,授权补丁修复所需要的相关权限。从而可以达到在管理账号内跨账号跨地域集中修复补丁的效果。

前置条件

如果需要设置自定义的补丁基线,可以通过 ROS或者 Terraform统一管理所有资源账号下的自定义补丁基线。

操作步骤

在资源账号中创建RAM角色

需要在所有资源账号中都创建用于补丁管理的RAM角色,并授权管理账号扮演。步骤如下:

  1. 单击  公共模板,选择  创建角色并授予自定义权限策略
  2. 单击  创建执行
  3. 单击  设置参数
    1. 新建角色名称。可自定义角色名称,例如 PatchRole。
    2. 角色信任的云账号。填写管理账号的阿里云id,默认 { { ACS::AccountId }} 是授权给本账号。
    3. 新建并授予的自定义权限策略名称。可自定义权限策略名称,例如 PatchPolicy。
    4. 授权的自定义权限策略脚本。应该填入
{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "ecs:DescribeInvocationResults",
        "ecs:DescribeInstances",
        "ecs:RunCommand",
        "ecs:RebootInstance",
        "ecs:DescribeCloudAssistantStatus",
        "ecs:DescribeInvocations"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "oos:ListInstancePatchStates"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}

  1. 单击 确定,单击 创建执行。等待执行完成。

补丁修复

  1. 使用 附录中的模板创建跨账号执行模板来跨账号跨地域补丁修复。  
  2. 执行模板。
    1. accountRoleAndRegions。分别在资源账号下上海和北京地域运行补丁修复操作。
[
  {
    "OOSAssumeRole": "|${资源账号uid}/PatchRole",  
    "RegionId": "cn-shanghai"
  },
  {
    "OOSAssumeRole": "|${资源账号uid}/PatchRole",
    "RegionId": "cn-beijing"
  }
]
  1. templateName。选择  ACS-ECS-BulkyApplyPatchBaseline
  2. templateParameters。模板参数参考《 立即修复》,可以如下设置。
{
  "regionId": "{
  
  { regionId }}",
  "targets": {
    "Type": "All",
    "RegionId": "{
  
  { regionId }}",
    "Parameters": {
      "RegionId": "{
  
  { regionId }}",
      "Status": "Running"
    }
  },
  "action": "install",
  "rebootIfNeed": true,
  "rateControl": {
    "Mode": "Concurrency",
    "MaxErrors": 0,
    "Concurrency": 10
  },
  "OOSAssumeRole": "",
  "timeout": 86400
}

  1. 单击  确定,单击  创建执行
  2. 创建执行成功后,您可单击该执行的 详情,查看 执行日志,实时了解执行的进度和状态。

附录

跨账号跨地域执行模板

FormatVersion: OOS-2019-06-01
Description:
  en: Multi account to execute specified template
  zh-cn: 跨账号执行指定模板
  name-en: MultiAccountToExecuteTemplate
  name-zh-cn: 跨账号执行指定模板
Parameters:
  accountRoleAndRegions:
    Type: Json
  templateName:
    Type: String
    AssociationProperty: TemplateName
  templateParameters:
    Description:
      en: Template paremeters to execute with.
      zh-cn: 触发执行模板的参数。
    Type: Json
    AssociationProperty: TemplateParameter
    AssociationPropertyMetadata:
      TemplateName: $templateName
  rateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Description:
      en: The RAM role to be assumed by OOS.
      zh-cn: OOS扮演的RAM角色。
    Type: String
    Default: OOSServiceRole
RamRole: '{
  
  { OOSAssumeRole }}'
Tasks:
  - Name: executeTemplate
    Action: 'ACS::Template'
    Description:
      en: Execute template.
      zh-cn: 执行模板。
    Properties:
      TemplateName: '{
  
  { templateName }}'
      Parameters:
        'Fn::MergeMap':
          - '{
  
  { templateParameters }}'
          - regionId:
              'Fn::Select':
                - RegionId
                - '{
  
  {ACS::TaskLoopItem}}'
          - OOSAssumeRole:
              'Fn::Select':
                - OOSAssumeRole
                - '{
  
  {ACS::TaskLoopItem}}'
    Loop:
      RateControl: '{
  
  { rateControl }}'
      Items: '{
  
  { accountRoleAndRegions }}'

相关文章
|
3月前
|
弹性计算 Ubuntu Linux
AMD实例使用|AMD实例规格与操作系统兼容性说明
不同的AMD实例可能需要特定版本的驱动程序和内核来运行。购买AMD实例规格时,建议您使用官方支持的操作系统版本,以确保其包含适用于您的AMD实例的必要驱动程序和内核版本。本文主要说明不同代系的AMD实例与不同版本的操作系统镜像之间的兼容性。
|
3月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
366 1
|
1月前
|
弹性计算 人工智能 运维
运维神器 | 操作系统界的【通义灵码】-智能助手OS Copilot
【7月更文挑战第5天】运维神器 | 操作系统界的【通义灵码】-智能助手OS Copilot
39115 47
|
3月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
693 1
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
|
2天前
|
运维 监控 测试技术
5个常见运维场景,用这几个Python脚本就够了!
5个常见运维场景,用这几个Python脚本就够了!
|
1月前
|
弹性计算 人工智能 运维
OS Copilot实例评测说明
**OS Copilot 概览与体验反馈** OS Copilot是阿里云针对Alibaba Cloud Linux的智能助手,提供自然语言交互、命令辅助及运维优化。在使用中遇到问题,包括ECS跳转报错、不显示查询结果、生成的监控代码需优化、命令行交互有待改进。产品对新人上手有一定难度,指引文档不够清晰。用户作为技术经理,认为其在命令查找和脚本编写上有帮助,评分7/10,愿意推荐并参与开发。
|
2月前
|
消息中间件 弹性计算 缓存
通过OOS定时升级Redis实例临时带宽
阿里云OOS提供了定时升级Redis实例临时带宽的功能,以应对数据驱动业务中的流量高峰。这个功能允许用户根据预测的业务负载,在特定日期和时间自动增加Redis实例的带宽,确保服务性能和稳定性。在高流量事件结束后,带宽会自动恢复到原设置,节省成本。 此功能适用于电商平台促销、大型游戏更新等场景,确保在流量高峰期间的系统稳定运行。
426 4
|
2月前
|
弹性计算 UED
通过OOS定时升级EIP实例临时带宽
阿里云推出了一项定时升级EIP(弹性公网IP)带宽的功能,旨在解决企业在特定流量高峰时段的网络带宽需求。此功能允许用户预设特定日期和时间自动升级带宽,如电商大促、直播活动或数据备份期间,以确保服务稳定并降低成本。用户可通过OOS控制台设置自动化任务,包括定时类型(立即、一次或周期性)、EIP实例地域、带宽值、升级持续时间和执行速率控制。在流量高峰过后,带宽会自动恢复到原设定,以节省费用。此功能适用于按固定带宽计费的EIP实例,不支持按流量计费的公网带宽。
79 4
|
1月前
|
运维 监控 容灾
智能化运维场景分析
【7月更文挑战第12天】智能运维目标是解放运维人员,提高效率,确保业务连续性和优化资源利用。
|
3月前
|
运维 算法 物联网
五大智能运维场景
【5月更文挑战第3天】智能运维场景分5类:异常检测、根因诊断、故障自愈、事件预警、效能优化。