AWS-PatchAsgInstance自动化定时ASG组打补丁

2024-06-21 07:12

本文主要是介绍AWS-PatchAsgInstance自动化定时ASG组打补丁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题

需要给AWS的EC2水平自动扩展组AutoScaling Group(ASG)中的EC2自动定期打补丁。

创建自动化运行IAM角色

找到创建角色入口页面,如下图:
创建角色入口页面
开始创建Systems Manager自动化运行的IAM角色,如下图:
自动化运行的角色创建开始
设置AmazonSSMAutomationRole权限,如下图:
AmazonSSMAutomationRole权限设置
设置AmazonSSMAutomationRole角色名和角色描述,点击创建角色,如下图:
创建AmazonSSMAutomationRole角色

创建AWS-PatchAsgInstance自定义策略

找到策略入口页面,开始创建策略如下图:
策略入口页面

AWS-PatchAsgInstance自动化文档,需要的权限内容,如下:

{"Version": "2012-10-17","Statement": [{"Sid": "Statement1","Effect": "Allow","Action": ["ssm:StartAutomationExecution","ssm:GetAutomationExecution","ssm:GetCommandInvocation","ssm:GetParameter","ssm:SendCommand","cloudformation:CreateStack","cloudformation:DeleteStack","cloudformation:DescribeStacks","ec2:CreateTags","ec2:DescribeInstances","ec2:RunInstances","iam:AttachRolePolicy","iam:CreateRole","iam:DeleteRole","iam:DeleteRolePolicy","iam:DetachRolePolicy","iam:GetRole","iam:PassRole","iam:PutRolePolicy","lambda:CreateFunction","lambda:DeleteFunction","lambda:GetFunction","lambda:InvokeFunction"],"Resource": "*"}]
}

将AWS-PatchAsgInstance需要的权限设置到策略中,如下图:
设置AWS-PatchAsgInstance策略权限
设置AWS-PatchAsgInstance策略名和描述,直接创建策略即可,如下图:
审核创建AWS-PatchAsgInstance自定义策略

然后,将创建好的AWS-PatchAsgInstance自定义策略绑定给AmazonSSMAutomationRole自动化角色,结果如下图:
AWS-PatchAsgInstance策略添加到AmazonSSMAutomationRole角色

自动化角色设置PassRole权限角色为自己

找到自动化角色AmazonSSMAutomationRole,如下图:
创建内联策略入口
策略内容如下:

{"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": "iam:PassRole","Resource": "arn:aws-cn:iam::xxxxxxxxx:role/AmazonSSMAutomationRole"}]
}

将上述策略权限内容,复制策略编辑器中,如下图:
策略内容设置
设置AmazonSSMAutomationRolePolicy策略名称,如下图:
设置AmazonSSMAutomationRolePolicy策略名创建内联策略
最后AmazonSSMAutomationRole角色权限策略,如下图:
AmazonSSMAutomationRole角色权限策略

创建维护窗口

找到维护窗口创建页面入口,如下图:
维护窗口入口页面
设置维护窗口,如下图:
设置维护窗口
这里去掉“允许已注销目标”的勾选,意思没有被AWS SSM托管到的EC2目标,不会执行这个维护任务。
后面是设置每周六凌晨1点定时执行维护任务,维护窗持续时间为1个小时。如果在这1个小时内没有执行完,就不执行了(停止启动任务为0小时)。这里的时区为东八区。
最后点击“创建维护时段”。

注册维护目标

找到维护窗口,入口页面如下图:
维护窗口入口页面
找到注册目标入口页面,如下图:
注册目标入口页面
设置注册目标,如下图:
设置注册目标
这里主要通过EC2实例选择标签Name进行识别dev相关EC2实例。

注册维护任务

找到注册维护任务入口页面,如下图:
注册维护任务入口页面
设置使用AWS-PatchAsgInstance自动注册任务,并且,设置上一步已经注册的目标组,而且,设置变量InstanceId为{{ TARGET_ID }},并且,这个任务是一个一个执行,执行完一个没有错误就执行下一个。设置之前的IAM服务角色。最后,点击注册自动化任务。如下图:
注册自动化任务

查看历史记录

找到查询历史记录网页入口,如下图:
历史记录网络入口
查看到成功结果,即可,如下图:
成功结果

注意

加入了定时维护窗口的AutoScaling组,需要禁用自动缩容策略,不然,这个自动任务可能找不到EC2实例;还有就是AutoScaling组所需EC2实例数,需要大于AutoScaling组最小EC2实例数。只有这个两个AutoScaling组条件满足,才能使用自动维护窗口。

总结

使用自动化维护任务打补丁,还算简单,只是对AutoScaling有自动缩容限制。第一步合规性就是每天扫描一次所有EC2是否合规,定时自定化维护任务,就是每周六半天打补丁。

参考:

  • 方法 2:使用 IAM 为自动化配置角色
  • 创建维护时段(控制台)
  • 为维护时段分配任务(控制台)
  • 注册维护时段任务时使用伪参数
  • AutoScalingで1台ずつ自動的にパッチを当てるSSM Automationやってみた

这篇关于AWS-PatchAsgInstance自动化定时ASG组打补丁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080542

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码