每个实例都有自己的安全组,还是所有实例都有一个安全组?
Every instance with its own security group, or one security group for all instances?
假设我们有一个蓝图,它生成一个 Ambari 服务器和一个具有两个节点的 Hadoop 集群。
我们正在使用以下项目 --> https://github.com/brooklyncentral/brooklyn-ambari
在这种情况下,创建了三个实体(1 个 Ambari 服务器 + 2 个 Hadoop 节点),因此生成了 3 个安全组。每个实体都有自己的安全组。
最佳做法是什么:上面提到的(每个实体一个安全组)还是所有实体只有 1 个安全组(如果可能)?
选项包括以下内容:
让 Brooklyn 为每个 VM 自动生成一个安全组。这是默认设置,但它不是最安全的,因为它公开打开端口,而不仅仅是其他 Ambari 虚拟机。
为所有 Ambari VM 使用预先存在的安全组。您可以使用 securityGroups: nameOfMySecurityGroup
配置位置。此安全组将不加修改地使用,因此可用于提供 Ambari VM 之间的访问。
配置 Brooklyn 以创建一个新的安全组,供所有 Ambari VM 共享。这需要使用 "location customizer" 创建安全组并将其添加到用于创建 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) 最简单,但暴露的端口比绝对必要的多,因此可能不鼓励用于生产。
假设我们有一个蓝图,它生成一个 Ambari 服务器和一个具有两个节点的 Hadoop 集群。
我们正在使用以下项目 --> https://github.com/brooklyncentral/brooklyn-ambari
在这种情况下,创建了三个实体(1 个 Ambari 服务器 + 2 个 Hadoop 节点),因此生成了 3 个安全组。每个实体都有自己的安全组。
最佳做法是什么:上面提到的(每个实体一个安全组)还是所有实体只有 1 个安全组(如果可能)?
选项包括以下内容:
让 Brooklyn 为每个 VM 自动生成一个安全组。这是默认设置,但它不是最安全的,因为它公开打开端口,而不仅仅是其他 Ambari 虚拟机。
为所有 Ambari VM 使用预先存在的安全组。您可以使用
securityGroups: nameOfMySecurityGroup
配置位置。此安全组将不加修改地使用,因此可用于提供 Ambari VM 之间的访问。配置 Brooklyn 以创建一个新的安全组,供所有 Ambari VM 共享。这需要使用 "location customizer" 创建安全组并将其添加到用于创建 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) 最简单,但暴露的端口比绝对必要的多,因此可能不鼓励用于生产。