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

本文涉及的产品
系统运维管理,不限时长
简介: 运维编排(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 }}'

相关文章
|
4天前
|
存储 运维 监控
云服务运维智能时代:阿里云操作系统控制台
阿里云操作系统控制台是一款创新的云服务器运维工具,采用智能化和可视化方式简化运维工作。通过AI技术实时监控服务器状态,自动分析性能瓶颈和故障原因,生成详细的诊断报告与优化建议。用户无需复杂命令行操作,仅需通过图形化界面即可高效处理问题,降低技术门槛并提升故障处理效率。尤其在服务器宕机等紧急情况下,智能诊断工具能快速定位问题根源,确保业务稳定运行。此外,控制台还提供内存、存储、网络等专项诊断功能,帮助用户全面了解系统资源使用情况,进一步优化服务器性能。这种智能化运维方式不仅提升了工作效率,也让个人开发者和企业用户能够更专注于核心业务的发展。
|
4天前
|
弹性计算 人工智能 运维
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
47 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
|
23天前
|
缓存 运维 监控
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
阿里云在百万服务器运维领域的丰富经验打造。
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
|
3天前
|
运维 监控 前端开发
Zabbix告警分析新革命:DeepSeek四大创新场景助力智能运维
面对日益复杂的IT环境,高效分析监控数据并快速响应成为运维的关键挑战。本文深入探讨了DeepSeek与Zabbix结合的创新应用,包括一键式智能告警分析、Zabbix文档知识库助手及钉钉告警增强功能。通过部署指南和实用脚本,展示了如何提升故障排查效率,为运维工程师提供高效解决方案。
60 5
|
2月前
|
人工智能 弹性计算 运维
操作系统控制台,让运维更简单!
操作系统控制台初体验,运维智能666!
174 37
操作系统控制台,让运维更简单!
|
1月前
|
弹性计算 运维 安全
操作系统控制台 | 让运维也可以点点点
操作系统控制台是一款强大的运维管理工具,旨在简化Linux系统的管理和监控。它提供了系统概览、系统诊断、系统观测、系统管理、订阅管理等功能,通过可视化页面降低使用复杂度,帮助用户高效分析和解决问题。
|
2月前
|
人工智能 弹性计算 运维
|
2月前
|
运维 自然语言处理 Ubuntu
解锁高效运维新姿势!操作系统智能助手OS Copilot新功能实战测评
阿里云OS Copilot经过多轮迭代,现已支持多端操作系统(包括Ubuntu、CentOS、Anolis OS等)及aarch64架构,极大扩展了其适用范围。新特性包括阿里云CLI调用、系统运维及调优工具的直接调用、Agent模式实装以及复杂任务处理能力。这些更新显著提升了用户体验和效率,特别是在处理紧急情况时,OS Copilot能快速查找并执行命令,节省大量时间和精力。此外,通过自然语言交互,用户可以轻松完成如系统健康检查、文件操作及日志分析等任务。总之,OS Copilot已从内测时的辅助工具进化为合格的贴身管家,极大地简化了日常运维工作。
|
22天前
|
人工智能 运维 安全
云产品评测|用操作系统控制台,让运维更简单!
作为一名运维工程师,我日常负责云资源的运维和管理。在使用阿里云操作系统控制台后,体验大幅提升。通过SysOM和OS Copilot组件,系统诊断与问题解决更加高效,特别是在处理CentOS内存占用等问题时,效率提升了至少30%。虽然初期对操作流程稍有迷茫,但凭借指引很快上手。建议增加操作引导视频,帮助新手更快适应。总体而言,阿里云控制台简化了运维工作,值得推荐。
|
2月前
|
人工智能 运维 监控
用操作系统控制台,让运维更简单!评测报告
我选择了一个实例进行诊断,系统迅速生成了详细的诊断报告。报告中不仅列出了潜在的问题,还提供了具体的解决建议。这对我快速定位和解决系统问题非常有帮助

热门文章

最新文章