首页 > 解决方案 > 如何将面向 ELB 的公众设为私有?

问题描述

下面是弹性负载均衡器,取自这里

 "ElasticLoadBalancer": {
            "Type": "AWS::ElasticLoadBalancing::LoadBalancer",
            "Properties": {
                "CrossZone": "false",
                "SecurityGroups": [ { "Ref": "ElbSecurityGroup" } ],
                "Listeners": [
                    {
                        "LoadBalancerPort": "80",
                        "InstancePort": "8080",
                        "Protocol": "http"
                    }

                ],
                "Instances": [ { "Ref": "EC2Instance"} ],
                "Subnets": [ { "Ref": "SubnetId"} ]
            }
        }

其中 ELB 充当 Jenkins 的面向公众的资源(在 EC2 中运行)。

运行 Jenkins 的 EC2 实例也位于公共子网中。


目前ELB是面向Internet的。

如何使 ELB 只能在公司网络内私下访问?因为 ELB 通常用作面向公众的资源。

标签: amazon-web-servicesamazon-cloudformationamazon-elb

解决方案


应该有scheme你应该能够将值设置为的属性internal

之后,您应该能够使用安全组限制对公司子网的访问。

参考:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html

架构参数负载均衡器的类型。仅对 VPC 中的负载均衡器有效。

如果 Scheme 面向 Internet,则负载均衡器具有解析为公共 IP 地址的公共 DNS 名称。

如果 Scheme 是内部的,则负载均衡器具有解析为私有 IP 地址的公共 DNS 名称。

希望这个答案对您有所帮助。


推荐阅读