gpt4 book ai didi

amazon-web-services - 如何使安全组之间具有双向依赖关系?

转载 作者:行者123 更新时间:2023-12-03 07:18:40 27 4
gpt4 key购买 nike

我是 AWS 新手,正在尝试了解如何在 CloudFormation 中创建堆栈模板。我有两个用于实例和数据库的安全组。

 "InstanceSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enable tomcat, ssh, mysql access via port 8080, 22, 3306 as well",
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": 8080,
"ToPort": 22,
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": 3306,
"ToPort": 3306,
"SourceSecurityGroupId": {"Ref":"DatabaseSecurityGroup"}
},
{
"IpProtocol": "tcp",
"FromPort": 22,
"ToPort": 22,
"CidrIp": "0.0.0.0/0"
}
]
}
},
"DatabaseSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enable mysql database access to instance and back via port 3306",
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": 3306,
"ToPort": 3306,
"SourceSecurityGroupId": {"Ref": "InstanceSecurityGroup"}
}
]
}
}

我应该使用“dependsOn”属性还是下面的代码可以工作?我应该使用“AWS::EC2::SecurityGroupIngress”代替“标准”SecurityGroup 吗?

最佳答案

您的配置似乎是:

  • Amazon EC2 实例
  • 应允许来自 EC2 实例的入站访问的数据库

为此,您需要配置:

  • InstanceSecurityGroup,允许 SSH 入站访问和“所有出站”访问
  • DatabaseSecurityGroup 允许从 InstanceSecurityGroup 在端口 3306 上进行入站访问

无需允许从数据库到 EC2 实例的入站访问。安全组是有状态的,这意味着自动允许返回流量。数据库永远不会启动与 EC2 实例的连接,因此不需要入站规则。

因此,您不会有两个相互引用的安全组。

关于amazon-web-services - 如何使安全组之间具有双向依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69353626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com