首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云形成模板将导入规则添加到现有安全组中。

云形成模板将导入规则添加到现有安全组中。
EN

Server Fault用户
提问于 2016-06-28 13:50:10
回答 1查看 7.9K关注 0票数 6

问题范围

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

场景

的详细信息

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

  • 模板A
  • 模板B

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

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

问题

我如何添加一个进入规则到安全组A的流量从安全组B使用云形成?

我试过什么

我已经查看了文档,我希望创建一个安全组Ingress规则,并将其与安全组A相关联,但就我所能看到的而言,这似乎不可行- http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html

其他替代品

我可以使用Security中主机的CIDR范围,因为在构建这些主机之前(所有这些都是在VPC中使用不同的子网),但是我觉得肯定有一种比接受cidr范围的流量更安全的方法。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-06-28 14:14:48

是的,是可以做到的。

您需要将安全组标识符(用于security )作为参数传递到模板B的模板中。从这里,您可以在AWS::EC2::SecurityGroupIngress资源中引用Security。

代码语言:javascript
复制
{
    "AWSTemplateFormatVersion" : "2010-09-09",
    "Parameters" : {
        "SecurityGroupA" : {
            "Description" : "Security group to add Ingress rule to",
            "Type"        : "AWS::EC2::SecurityGroup::Id"
        }
    },
    "Resources" : {
        "LocalSecurityGroup": {
            "Type": "AWS::EC2::SecurityGroup"
        },
        "InboundRule": {
            "Type": "AWS::EC2::SecurityGroupIngress",
            "Properties":{
                "IpProtocol": "tcp",
                "FromPort": "80",
                "ToPort": "80",
                "SourceSecurityGroupId": {
                    "Fn::GetAtt": [ "LocalSecurityGroup", "GroupId" ]
                },
                "GroupId": {
                    "Fn::GetAtt": [ "SecurityGroupA", "GroupId" ]
                }
            }
        }
    }
}

请注意,此示例使用安全组ID,这是当您的安全组位于VPC中时的情况。如果它们在EC2-Classc中,那么您将使用GroupName代替。

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/786705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档