amazon-web-services - Cloud Formation 模板将入口规则添加到现有安全组

标签 amazon-web-services amazon-ec2 aws-cloudformation

问题范围

我有一个使用多个云形成模板构建的应用程序。它们需要彼此交互,但太大/太复杂,无法在一个模板中构建。

场景详细信息

假设只有两个模板(还有更多)

  • 模板A
  • 模板 B

模板 A 创建一个安全组(安全组 A),并将其自身作为唯一的入口规则。应用于该模板中一系列执行相同功能的主机。

模板 B 创建另一个安全组(安全组 B)和一些主机(在弹性 beanstalk 中)。

问题

我想使用云形成安全组A添加来自安全组B的流量的入口规则?

我尝试了什么

我已经查看了文档,我想创建一个安全组入口规则并将其与安全组 A 关联,但据我所知,这似乎不可行 - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html

其他替代方案

我可以只使用安全组 B 中的主机的 CIDR 范围,因为在构建任何这些之前都知道这一点(全部位于具有单独子网的 VPC 中),但是我觉得必须有一种比接受更好更安全的方法来自某个 cidr 范围的流量。

最佳答案

AWS::EC2::SecurityGroupIngress 就是答案。

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html

将安全组 A ID 作为参数 SGBase 传递到模板 B 中。然后创建一个像这样的资源。

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Resources": {
        "SGBaseIngress": {
            "Type": "AWS::EC2::SecurityGroupIngress",
            "Properties": {
                "GroupName": { "Ref": "SGBase" },
                "IpProtocol": "tcp",
                "FromPort": "80",
                "ToPort": "80",
                "SourceSecurityGroupName": { "Ref": "SGBase" }
            }
        }
    }
} 

关于amazon-web-services - Cloud Formation 模板将入口规则添加到现有安全组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38078031/

相关文章:

amazon-ec2 - Kubernetes 主节点未就绪状态

amazon-web-services - 将现有 AWS Lambda 和 API Gateway 导出到 Cloudformation 模板

python - 使用 AWS Lambda/CloudFormation 转换 AWS Kinesis Firehose 中的数据

amazon-web-services - Amazon S3 存储桶策略不支持 "version"选项

amazon-web-services - 有没有办法在 AWS 中使用自动缩放来停止而不是终止实例?

.net - 处理不准确的系统时钟

amazon-s3 - S3 TopicConfiguration - 无法验证以下目标配置

python - Boto - 将文件上传到 Amazon S3 上的特定位置

scala - 使用 AWS s3 的分段上传 API 时出现内存不足问题

postgresql - 重启aws ec2实例后如何重启postgres数据库?