跳转到主要内容

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 (5.6 kB 查看散列)

上传时间 源代码