本文作者 谭松
TCS 系统管理员云工程师
亚马逊云科技云博主
亚马逊云科技 Ambassador
本文将介绍 Amazon Config Managed Rules(Amazon Config 托管规则,用于评估您的亚马逊云科技资源是否符合常见的最佳实践),并通过配置一个简单的 Config rule (Config 托管规则)本文以“ec2-volume-inuse-check”托管规则为例,测试挂载到 Amazon EC2 上的资源配置情况
Amazon Config Managed
Rules 再介绍
在 Amazon Config Managed Rules 再介绍一文中,我们提到以下两种规则。
Managed rule(托管规则);
Custom rule(自定义规则)。
其中 Managed 规则由亚马逊云科技创建,但用户可以做一些定制化,这里的定制化指的是用户可以部分控制规则的行为。
E.g. 定义规则的 scope 来控制评估的资源范围。比如利用 Tag 来控制规则需要评估的 Amazon EC2 或者 volume。
E.g. 设定某些的规则参数。比如通过规则参数可以设定 SG(security group)应该阻止某个端口的防问。
注意:在第二个例子中的规则只是检查 SG 是否有配置禁止某个端口的访问规则,规则本身不能控制在 SG 中某个端口的访问。规则只是评估亚马逊云科技资源配置 (configuration) 的设置状态是否符合我们的期望。
Config Managed Rule List
亚马逊云科技预定义的 Config Managed Rule List 有很多,我们可以在官网找到的规则列表:List of Amazon Config Managed Rules。
点击 “ec2-volume-inuse-check” 可以进到这个 rule 的页面查看详细信息,我们下面将要测试的就是这个 rule。
说明:这个规则主要是测试 Amazon EBS 是否挂载到 Amazon EC2 上(在用),如果发现没有挂载的 Amazon EBS,则这个 Amazon EBS 就会被评估为 Noncompliant(不合规)资源。
实战步骤
创建一个 Amazon EBS
我们先在 Amazon EC2 界面创建未挂载的一个 Amazon EBS。
在 Amazon console 选择 “ EC2 ” 进入 Amazon EC2 界面,在左边点开 “ Elastic Block Store ” 选择 “ Volumes ”,然后在右上角点击 “ Create Volume ”。
在创建 Volume 页面,任意选择一个 Volume type,这里为 gp2,Size 为 5G ,然后拖到最下面点击 “Create Volume” 创建 Amazon EBS Volume。
刷新一下,Amazon EBS 很快就建好了。
在 Config 中添加规则
首先我们要启动 Config,具体启动方法可以扫码参考《Amazon Config启动及资源信息查看测试》一文。
通过 Amazon console 进入 Config 页面,可以看到默认情况下是没有启用任何规则的,所以这里 Compliance status 中的各个项都是 0。
Amazon Config 启动及
资源信息查看测试
扫码了解更多
在页面左边点击 “Rules”,可以看到这个页面下的 rules 也是空的。
下面我们添加一个规则“ec2-volume-inuse-check”。点击 “Add rule”。
选择 “Add Amazon managed rule”,在搜索框中搜索 “ec2-volume-inuse-check”,勾选搜索出来的规则,然后点击 “Next”。
在 Configure rule 页面,我们不需要做改动,直接点击 “Next” 就可以了
但在这里我们可以看到:
“ec2-volume-inuse-check” 的规则评估模式 (Evaluation Mode) 和触发类型 (Trigger types) 都是不能更改的,说明这个规则只支持特定的情况(对于规则的这些细节也可以在亚马逊云科技官网规则list 页面里查询到)
在 Scope of change 中我们可以限制评估资源的范围(客制化)
最后 review 页面点击 “Save”。
规则添加完成。
检查规则评估结果
回到 Dashboard 页面,Compliance status 中的各项应该还是 0。大概 2 - 3 分钟后分钟刷新页面,可以看到有内容出现了,我们点击 “1 Noncompliant rule(s)”。
说明:
目前我的亚马逊云科技帐号里有两个 Amazon EBS,一个已经挂载到 Amazon EC2 中,另一个是我们上面新建的空闲 Amazon EBS,所以这里有两个资源显示,一个合规,一个不合规;
目前亚马逊云科技帐号只有一个 “ec2-volume-inuse-check”规则,规则检查范围中只要有一个资源不合规,那这个 rule 就属于 Noncompliant rule(不合规)。
进入 Rules 页面,这与从左边点击 Rules 进入的是同一个页面,现在这里可以看到规则显示有一个不合规的资源,再次点击这个规则。
在规则的详细页面可以看到上一次规则运行(评估)的时间,以及具体哪个资源不合规。
后记
测试完记得删掉 Amazon EBS。
总结
Amazon Config Managed Rules 可以方便帮助我们更好地监控资源的配置使用情况,亚马逊云科技有大量的 Amazon Config Managed Rules 可以直接使用,足以应对常见使用场景。
另外一点需要注意的是,规则只是监控资源状态,并不直接参与修改。有关修改 (Remediation) 的内容,我们将在下一篇文章中介绍。
立即报名
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!