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

简介: 运维编排(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 }}'

相关文章
|
2月前
|
机器学习/深度学习 人工智能 运维
强化学习加持运维:AI 也能学会“打补丁”和“灭火”?
强化学习加持运维:AI 也能学会“打补丁”和“灭火”?
190 13
|
8月前
|
存储 运维 监控
云服务运维智能时代:阿里云操作系统控制台
阿里云操作系统控制台是一款创新的云服务器运维工具,采用智能化和可视化方式简化运维工作。通过AI技术实时监控服务器状态,自动分析性能瓶颈和故障原因,生成详细的诊断报告与优化建议。用户无需复杂命令行操作,仅需通过图形化界面即可高效处理问题,降低技术门槛并提升故障处理效率。尤其在服务器宕机等紧急情况下,智能诊断工具能快速定位问题根源,确保业务稳定运行。此外,控制台还提供内存、存储、网络等专项诊断功能,帮助用户全面了解系统资源使用情况,进一步优化服务器性能。这种智能化运维方式不仅提升了工作效率,也让个人开发者和企业用户能够更专注于核心业务的发展。
|
8月前
|
弹性计算 人工智能 运维
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
297 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
|
6月前
|
运维 监控 算法
这几类运维难题,看阿里云操作系统控制台如何一站式破解
阿里云操作系统控制台给云计算和容器化运维带来新的可能,能够提高系统性能与运维效率,同时为企业减少了系统相关问题带来的困扰。
|
10月前
|
人工智能 弹性计算 运维
操作系统控制台,让运维更简单!
操作系统控制台初体验,运维智能666!
417 37
操作系统控制台,让运维更简单!
|
9月前
|
缓存 运维 监控
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
阿里云在百万服务器运维领域的丰富经验打造。
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
|
8月前
|
运维
云产品评测|用操作系统控制台,让运维更简单 获奖名单公布!
云产品评测|用操作系统控制台,让运维更简单 获奖名单公布!
170 3
|
8月前
|
存储 人工智能 运维
阿里云操作系统控制台评测:国产AI+运维 一站式运维管理平台
本文详细评测了阿里云操作系统控制台,作为一款集运维管理、智能助手和系统诊断于一体的工具,它为企业提供了高效管理云资源的解决方案。文章涵盖登录与服务开通、系统管理与实例纳管、组件管理与扩展功能、系统诊断与问题排查以及实时热点分析与性能优化等内容。通过实际操作展示,该平台显著提升了运维效率,并借助AI智能助手简化了复杂操作。建议进一步完善组件库并增强第三方兼容性,以满足更多高级运维需求。
561 3
|
10月前
|
人工智能 弹性计算 运维

推荐镜像

更多