我正试图在ElasticSearch上创建一个EC2服务器集群。ElasticSearch使用一些定义的端口来复制和执行诸如领导人选举之类的任务。我希望在我的CloudFormation模板中创建一个安全组来锁定这些端口,这样只有ElasticSearch服务器集群中的服务器才能相互通信。
是否有一种简单的方法,可以将一组服务器识别为集群,然后只将端口访问分配给这些服务器?
我可能遗漏了一些显而易见的东西,但我无法获得我的CloudFormation模板来构建我想要的模型。
与我现有的SG更新。这是关于循环引用的抱怨。
ESSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: ES Node SG
VpcId: !FindInMap [ EnvParams, !Ref EnvironmentName, vpc ]
SecurityGroupIngress:
- FromPort: 9200
ToPort: 9200
SourceSecurityGroupId: !Ref ESSecurityGroup
IpProtocol: tcp
- FromPort: 9300
ToPort: 9300
SourceSecurityGroupId: !Ref ESSecurityGroup
IpProtocol: tcp发布于 2017-03-23 13:05:36
您可以通过将同一个安全组与每个实例关联来标识一组EC2实例。那就是分组。
若要允许来自同一安全组内实例的特定端口上的入站通信量,请添加一个入站规则,其中通信量的源是安全组本身。使用私有IP在实例之间进行通信。
顺便说一句,您可以在AWS代表您创建的默认安全组中看到这种模式。这些默认安全组在入站规则中将自己指定为源安全组。
https://stackoverflow.com/questions/42974797
复制相似问题