【问题标题】:Cloud Formation template add ingress rule to existing security groupCloud Formation 模板将入口规则添加到现有安全组
【发布时间】:2016-10-30 21:19:26
【问题描述】:

问题范围

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

场景详情

想象一下只有两个模板(还有很多)

  • 模板 A
  • 模板 B

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

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

问题

我想使用云形成安全组B的流量添加一个入口规则到安全组A

我尝试了什么

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

其他选择

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

【问题讨论】:

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


    【解决方案1】:

    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" }
                }
            }
        }
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 2022-08-09
      相关资源
      最近更新 更多