Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS with Terraform-安全组规则中的安全组参数_Amazon Web Services_Terraform_Infrastructure As Code - Fatal编程技术网

Amazon web services AWS with Terraform-安全组规则中的安全组参数

Amazon web services AWS with Terraform-安全组规则中的安全组参数,amazon-web-services,terraform,infrastructure-as-code,Amazon Web Services,Terraform,Infrastructure As Code,当您查看时,可以看到在入口/出口安全规则中有一个定义security\u groups参数的选项 这对我来说似乎很奇怪,但也许我遗漏了什么 但是没有提到真实世界的用例 我的问题是:在什么情况下我们需要使用这种配置?您可以使用这种语法将这些入口/出口规则应用于属于特定安全组的任何基础结构 此地形代码,例如: ingress { from_port = "80" to_port = "80" protocol = "tcp" security_groups =

当您查看时,可以看到在入口/出口安全规则中有一个定义
security\u groups
参数的选项

这对我来说似乎很奇怪,但也许我遗漏了什么

但是没有提到真实世界的用例


我的问题是:在什么情况下我们需要使用这种配置?

您可以使用这种语法将这些入口/出口规则应用于属于特定安全组的任何基础结构

此地形代码,例如:

ingress {
    from_port = "80"
    to_port   = "80"
    protocol  = "tcp"

    security_groups = [
      "${aws_security_group.elb_sg.id}",
    ]
}
将允许HTTP访问属于
elb_sg
安全组的任何基础结构。如果您有大量的基础设施需要进行入口/出口访问,并且不想单独命名所有部件,那么这将非常有用


另一个示例:您可以为弹性搜索群集创建一个安全组,然后使用此语法声明EC2 app server安全组的所有元素都应该具有该群集的入口/出口访问权限。

谢谢@Adil B,在您的示例中,如果所有EC2实例共享同一个安全组,这意味着它们共享相同的入站规则。所以我不明白我们在这里保存了什么?这个语法可以让你定义一个出口规则,而不知道基础设施本身的实际CIDR块或IP——比方说我没有EC2实例的静态IP,但仍然希望允许所有实例都访问我的弹性搜索集群。你有没有另一个例子——比如说在一些后端的前端?这是否有用?是的-您可以为您的ALB创建一个安全组,并允许该组中的任何基础设施进入/离开您后端的某些端口,例如,如果我有一个包含许多基础设施部件的SG,并且希望允许SG中的所有项目进入另一个SG中的项目,那么我通常会使用这种语法,但ALB示例的SG中可能只有一个项目。