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

相关文章

文华财经T8自动化交易程序策略模型指标公式源码

文华财经T8自动化交易程序策略模型指标公式源码: //定义变量 //资金管理与仓位控制 8CS:=INITMONEY;//初始资金 8QY:=MONEYTOT;//实际权益 8QY1:=MIN(MA(8QY,5*R),MA(8QY,2*R)); FXBL:=N1; DBKS:8QY1*N1;//计算单笔允许亏损额度 BZDKS:=MAX(AA-BB,N*1T)*UNIT; SZDKS:=MAX(

linux cron /etc/crontab 及 /var/spool/cron/$USER 中定义定时任务

简介 定时任务在linux上主要体现在两个地方,一个是/etc/crontab ,另一个就是定义了任务计划的用户/var/spool/cron/$USER 1、crontab -e 或者直接编辑/etc/crontab文件,这种方式用的人比较多,/etc/crontab是系统调度的配置文件,只有root用户可以使用,使用时需root权限,而且必须指定运行用户,才会执行 * * * * * *

Selenium进行Web自动化测试

Selenium进行Web自动化测试 Selenium+Python实现Web自动化测试一、环境配置 Selenium+Python实现Web自动化测试 一、环境配置 环境基于win10(X64) 安装Python;安装PyCham安装chomedriver chomedriver下载地址 可以查看本地chrome软件版本下载对应的chomedriver,如果没有则下载最新

selenium Python自动化测试(基本的键盘事件)

#coding=utf-8 ''' Created on 2015-5-10 @author: user ''' ''' 几种常用的键盘指令: send_keys(Keys.BACK_SPACE) 删除键(BackSpace) send_keys(Keys.SPACE) 空格键(Space) send_keys(Keys.TAB) 制表

WebDriver基本操作入门及UI自动化练手页面

在这里集中了我们在做UI自动化时常见的一些控件操作。希望能对新手有帮助。 下载地址:http://files.cnblogs.com/zhangfei/demo.rar package com.test;import java.util.List;import java.util.Set;import org.openqa.selenium.Alert;import org.o

Selenium Test 自动化测试 入门级学习笔记

1、下载安装Firefox-selenium插件    需要下载插件可以联系,这里暂不提供下载地址。   2、集成Eclipse   需要下载jar包可以联系,这里暂不提供下载地址。   集成Eclipse非常简单,加载进去jar包就OK! 3、通过Selenium IDE 录制脚本     { 点这里就开始录制!} 以上操作是:百度输入hao123,点击搜索。 4、

spring task 定时任务实现

一、引入spring相关jar包: 二、在web.xml中配置spring <listener><description>Spring监听器</description><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><conte

springboot 定时任务1

转载:https://www.cnblogs.com/mmzs/p/10161936.html   阅读目录: 序言一、静态:基于注解二、动态:基于接口三、多线程定时任务   阅读正文: 回到顶部 序言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一、基于注解(@Scheduled)二、基于接口(SchedulingConfigurer) 前者相信

深入探索 Gradle 自动化构建技术(六、Gradle 插件平台化框架 ByteX 探秘之旅)

public void test1(){ //1. Collection 提供了两个方法 stream() 与 parallelStream() List list = new ArrayList<>(); Stream stream = list.stream(); //获取一个顺序流 Stream parallelStream = list.parallelStream(); //获取一个并行