AWS配置管理
项目描述
roadhouse
用于管理AWS安全设置的库
为什么存在这个项目?
通过AWS控制台管理AWS安全设置存在一些问题。除了使用控制台,您的选项是使用boto等库。这很好,但对我来说,这真的比我在环境中愿意做的工作要多。
Roadhouse是尝试将配置管理应用于AWS设置。把它想象成AWS的Puppet/Chef/Salt。
在roadhouse中,可以将配置应用于VPC。这允许使用相同的配置跨多个VPC。当您想要运行具有相同配置的多个VPC时,这很有用。例如,当在多个数据中心进行容错时,这很有用。
配置文件语法
配置文件基于YAML。组是顶级对象。组内包含选项和规则。规则使用类似于tcpdump(非常、非常简单)的语法指定。对于ICMP协议,我们使用ICMP类型编号作为端口。更多信息请参阅: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
<协议:可选,默认为tcp> <端口> <组或IP掩码可选>
以下是根据示例理解有效配置应更易于理解
- test_database_group
- options
description: cassandra and redis prune: true # 移除此处未列出的规则
- rules
tcp port 22 166.1.1.1/32 # 神秘的办公室IP
tcp port 9160, 6379 test_web_group # 通过名称引用组
端口 55 192.168.1.1 # 默认为 /32
tcp 端口 22-50, 55-60 192.168.1.1
icmp 端口 0 192.168.1.1 # ICMP 类型 0; 回显应答
- test_web_group
- options
description: web servers prune: false # 默认为 false
- rules
tcp 端口 80 0.0.0.0/0
icmp 端口 8 192.168.1.1/32 # ICMP 类型 8; 时间戳
使用说明
from roadhouse.group import SecurityGroupsConfig v = vpc.connect_to_region(‘us-west-1’) e = ec2.connect_to_region(‘us-west-1’)
# 假设你已经创建了一个 VPC,否则你需要选择正确的 VPC 应用你的更改 vpc = v.get_all_vpcs()[0]
config = SecurityGroupsConfig.load(“roadhouse.yaml”) config.configure(ec2_conn) config.apply(vpc)
开发
在虚拟环境,pip install -r requirements
项目详情
roadhouse-0.6.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 942fa1affb5935df8b8b9c6d011330e040330e24c12758845bc3fcf7918268b0 |
|
MD5 | 004e5df5b98e9bcec2a87e9cd99fc8e7 |
|
BLAKE2b-256 | 411e95c46d9f2b178a0c4f6cd38e79e61164891cd9add0f808a3a96435c00e7f |