0

想象一下,我们有一个蓝图,它生成一个 Ambari 服务器和一个具有两个节点的 Hadoop 集群。

我们正在使用以下项目--> https://github.com/brooklyncentral/brooklyn-ambari

在这种情况下,创建了三个实体(1 个 Ambari Server + 2 个 Hadoop 节点),因此生成了 3 个安全组。每个实体都有自己的安全组。

最佳实践是什么:上面提到的(每个实体一个安全组)或所有实体只有一个安全组(如果可能的话)?

4

1 回答 1

0

选项包括以下内容:

  1. 让 Brooklyn 为每个 VM 自动生成一个安全组。这是默认设置,但它不是最安全的,因为它公开打开端口,而不仅仅是向其他 Ambari VM 开放。

  2. 为所有 Ambari VM 使用预先存在的安全组。您可以使用 配置位置securityGroups: nameOfMySecurityGroup。此安全组将不加修改地使用,因此可用于提供 Ambari VM 之间的访问。

  3. 配置 Brooklyn 以创建一个由所有 Ambari VM 共享的新安全组。这需要使用“位置定制器”来创建安全组并将其添加到用于创建 VM 的配置中。它可以使用或构建在https://github.com/apache/incubator-brooklyn/blob/0.7.0-incubating/locations/jclouds/src/main/java/brooklyn/location/jclouds/networking/JcloudsLocationSecurityGroupCustomizer.java上。布鲁克林将受益于开箱即用的更容易使用!

最佳实践取决于您的安全要求。选项 (3) 为您提供了最大的灵活性,可以根据您的需要安全地配置它,因此可以说是最佳实践。选项 (2) 对于不频繁的部署很简单,但如果您必须提前手动创建安全组,则很烦人。选项 (1) 是最简单的,但暴露了比绝对必要更多的端口,因此可能不鼓励用于生产用途。

于 2015-08-12T10:42:09.707 回答