AWS Limit Monitor部署实战,AWS limits智能管家

文 | 沉默恶魔(转载请注明出处)
微信号:chenmoemo
关注公众号:AWS爱好者

如果您想加入「AWS爱好者」微信群和其他同学交流,请加微信:chenmoemo,后拉入「AWS爱好者」微信群。

我们上篇文章——<<AWS Limit Monitor,主动跟踪资源使用情况,接近limits时推送通知提醒>>讨论了AWS Limit Monitor,该解决方案自动配置必要的服务,以便在您使用AWS的过程中,主动跟踪资源使用情况当使用的资源接近limits限制时发送通知,帮助您避免有启动资源需求时才发现limits到上限造成无法启动资源从而影响线上业务的情况。

今天我们实战,对AWS Limit Monitor进行自动化部署。

AWS Limit Monitor部署

首先,在部署 AWS Limit Monitor前,请仔细查看上篇关于 AWS Limit Monitor理论内容,包括 AWS Limit Monitor架构说明等,这会有助于顺利完成部署工作。

/本次部署演示不包括部署secondary账户和slack推送内容,如有实际需求,针对对应配置项进行配置即可。/

启动堆栈,开始部署

下面提供的 AWS CloudFormation 模版自动部署AWS Limit Monitor到您的账户中。

/Note:注意,部署会产生aws资源使用费用,具体费用数额请查看本方案使用各个服务的具体费用。如果是测试目的,部署完成后请将所有相应资源删除以免产生不必要的费用。/

1、登陆aws管理控制台后,复制下面链接后在浏览器中打开,启动AWS Limit Monitor AWS CloudFormation template

https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=LimitMonitor&templateURL=https:%2F%2Fs3.amazonaws.com%2Fsolutions-reference%2Flimit-monitor%2Flatest%2Flimit-monitor.template

也可以通过下面链接下载模板用于你自己的环境。

https://s3.amazonaws.com/solutions-reference/limit-monitor/latest/limit-monitor.template

2、默认情况下,模板在US East (N. Virginia) Region启动。

3、在创建堆栈页面,确认下正确的模板 URL 显示在 Amazon S3 URL 文本框中,然后选择”下一步”。

4、可以修改堆栈名称,我们这里就用默认的。

5、参数设置部分,如有需要可进行自行调整,参数配置说明:

  • Account List,limit 监控的账号ID列表,用引号和逗号分隔,如果您需要部署secondary账户limit监控的话就要将账号ID配置到这里。我将这里留空,留空表示只监控当前主账户的limit。
  • Email Notification Level,配置出发通知的事件级别,这里留默认“WARN”, “ERROR”,表示达到这两个级别时出发通知。
  • Email Address,这是必选项,表示接收 Amazon SNS 通知的有效电子邮件地址。
  • 后面三个选项是关于slack的配置,我们不进行配置,留空。

6、审核LimitMonitor页面,

注意页面最下方,勾选两个复选框以提供给CloudFormation相应权限。

7、点击创建堆栈,开始部署,可以在AWS CloudFormation控制台查看部署状态,整个部署过程大约5分钟左右,您将能看到f *CREATE_COMPLETE*。

创建完成:

查看下事件日志无异常后,我们进行下一步。

8、此时,在您部署时填写的邮箱中,应该能够收到一封订阅确认邮件,点击订阅url链接启动Amazon SNS notifications。注意,只有完成这一步当LimitMonitor有报警的时候才能收到订阅通知。

至此, AWS Limit Monitor就部署完成了,我们接下来确认下AWS Limit Monitor各个组件是否成功部署。

部署结果确认

1、首先我们打开lambda控制台,我们看到相应的函数已经成功部署。

点击具体的函数后,可以看到对应函数具体的结构和信息。

2、进入CloudWatch控制台,CloudWatch规则已经成功创建。

3、进入SNS控制台,看到主题已经创建好,要确认已完成订阅,才能收到推送消息。

4、进入SQS控制台,可以看到时间队列和死信队列已经创建完成。

5、进入DynamoDB控制台,看到表已经创建成功。所有AWS成功创建。

AWS Limit Monitor提供一些自定义配置,帮助客户细微调整以满足实际业务需求。

AWS Limit Monitor自定义配置

1、调整lambda运行间隔

默认情况下,AWS Lambda函数每24小时运行一次以刷新AWS Trusted Advisor服务限制检查。但是,您可以通过更改AWS CloudFormation模板中的映射来更改Lambda函数的调用频率。注意:如果调整为12小时内,那么事件到达Amazon DynamoDB可能会有延迟。

要更改时间间隔,请在AWS CloudFormation模板中修改以下映射:

RefreshRate:>    
CronSchedule:>       
Default: rate(1 day)

2、调整需要监控的服务

默认情况下,此解决方案检查AWS Trusted Advisor检查的所有服务限制。要指定您要检查的服务限制,请修改以下AWS CloudFormation模板映射。

EventsMap:>    
Checks:>      
Services:>          ‘”AutoScaling”,”CloudFormation”,”DynamoDB”,”EBS”,”EC2”,”ELB”,”IAM”,”Kinesis”,”RDS”,”Route53”,”SES”,”VPC”’

完成以上步骤,那么我们部署的AWS Limit Monitor已经可以正常运作了。

/Note:/

/要使用此解决方案,AWS帐户必须具有Business或Enterprise 的AWS Support,才能访问Trusted Advisor服务limits检查。/

以上,就是我们今天的AWS Limit Monitor部署实操,希望能给大家带来帮助。如果大家是测试目的,请在测试后将所有AWS Limit Monitor创建的资源删除,以免产生不必要的费用。方式是先删除CloudFormation堆栈,然后进入各个服务的控制台检查创建的各个资源进行删除。

0 responses on "AWS Limit Monitor部署实战,AWS limits智能管家"

Leave a Message

error: Content is protected !!