标签: amazon-elb

如何从CloudFormation将创建的SecurityGroup分配给ELB?

我有一个生成SecurityGroup和ELB的CloudFormation脚本; 我正在尝试在ELB创建中引用SecurityGroup; 这是资源位:

    "ELBSecurityGroup" : {
        "Type" : "AWS::EC2::SecurityGroup",
        "Properties" : {
            "GroupDescription" : "Security group for the Arena dev stack",
            "SecurityGroupIngress" : [
                {"IpProtocol" : "tcp", "FromPort" : 80, "ToPort" : 80, "CidrIp" : { "Ref" : "OfficeIp" }}
            ]
        }
    },

    "ProjectLoadBalancerTest" : {
        "Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
        "Properties" : {
            "AvailabilityZones" : { "Fn::GetAZs" : "" },
            "Instances" : [  ],
            "Listeners" : [ {
                "LoadBalancerPort" : "80",
                "InstancePort" : "12345",
                "Protocol" : "HTTP"
            } ],
            "HealthCheck" : …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elb aws-cloudformation

14
推荐指数
2
解决办法
1万
查看次数

亚马逊EC2 ELB警报 - 哪个实例不健康?

我们在Amazon EC2上托管了一些应用程序,并使用Elastic Load Balancer(ELB)来管理一个应用程序的多个实例.此外,我们已设置ELB警报以获得有关不健康主机的通知,即实例已关闭时.

到目前为止,除了AWS控制台中的ELB状态页面之外,我无法确定在警报响起时检查哪个实例确实已关闭的位置.但是,如果实例再次返回In Service状态,这对我也没有帮助.ELB发出的电子邮件通知不包含此信息; 我也无法在控制台的警报历史中找到它.

是否有办法告诉哪个实例已触发ELB警报,即使实例在此期间已恢复为OK状态?

干杯,亚历克斯

amazon-ec2 amazon-web-services amazon-elb

14
推荐指数
1
解决办法
6017
查看次数

为什么我的ECS服务无法使用我的ELB注册EC2实例?

我有一个EC2启动配置,可以构建ECS优化的AMI.我有一个自动缩放组,确保我始终至少有两个可用的实例.最后,我有一个负载均衡器.

我正在尝试创建一个ECS服务,在负载均衡器中的实例之间分配我的任务.

在阅读了ECS负载平衡的文档之后,我的理解是我的ASG不应该自动向ELB注册我的EC2实例,因为ECS负责这一点.所以,我的ASG没有指定ELB.同样,我的ELB没有任何已注册的EC2实例.

当我创建我的ECS服务时,我选择ELB并选择ecsServiceRole.创建服务后,我从未在ECS实例选项卡中看到任何可用实例.该服务也无法启动任何任务,其中包含非常一般的错误...

服务无法放置任务,因为无法找到资源.

我已经在这里工作了大约两天,似乎无法弄清楚哪些配置设置没有正确配置.有没有人对可能导致这种情况不起作用的想法有任何想法?

更新@ 06/25/2015:

我认为这可能与ECS_CLUSTER用户数据设置有关.

在我的EC2自动缩放启动配置中,如果我将用户数据输入完全清空,则会创建ECS_CLUSTER值为"default" 的实例.发生这种情况时,我会看到一个自动创建的集群,名为"default".在这个默认集群中,我看到了实例,并且可以像预期的那样向ELB注册任务.一旦任务在ELB中注册,我的ELB运行状况检查(HTTP)就会通过,并且一切都在世界上很好.

但是,如果我将该ECS_CLUSTER设置更改为自定义设置,我永远不会看到使用该名称创建的集群.如果我手动创建具有该名称的集群,则实例永远不会在集群中可见.在这种情况下,我无法在ELB中注册任务.

有任何想法吗?

amazon-ec2 amazon-web-services amazon-ecs amazon-elb

14
推荐指数
2
解决办法
1万
查看次数

我可以使用单个AWS ELB为2个不同的域托管2个SSL证书吗?

在AWS上,我在EC2上托管多个(完全不同的)域名,由ELB覆盖.我已经为1个域及其子域提供了1个通配符SSL证书.(xxxx.site1.com)

那么现在我可以为另一个不同的域添加一个单一SSL证书(在同一个ELB上),比如(www.site2.com)吗?

我问这个是因为有些文章说,它不会起作用而只是粉碎.

请提出建议.

dns ssl certificate amazon-elb

13
推荐指数
3
解决办法
1万
查看次数

AWS AutoScalingGroup HealthCheckType'ELB'过早地考虑实例"InService"

我试图AutoScalingRollingUpdate通过引入在线新实例来开始我的自动扩展组,然后只有在新实例接受流量时才终止旧实例.似乎AutoScalingRollingUpdate就是为此目的而设计的.

我将AutoScalingGroup的HealthCheckType设置为'ELB'.我还在ELB上设置了HealthCheck,要求:

  • 3个成功请求/"健康"
  • 10个不成功的请求/"不健康"
  • 没有宽限期(零,0)

现在,从ELB的角度来看,当新实例联机时,它们不是InService几分钟,这就是我的期望.但是,从AutoScalingGroup的角度来看,它们几乎立即被视为InService,因此,我的AutoScalingGroup在新实例准备好接收流量之前将健康实例停止服务.我很困惑为什么ASG认为实例在ELB之前是健康的,当HealthCheckType明确地设置为'ELB'时.

我已经尝试过设置宽限期,但这根本不会改变任何东西.事实上,我删除了300秒的宽限期,因为我认为在宽限期或某些事情中,可能实例是隐含的"InService".

我知道我可以在滚动更新策略上设置PauseTime,但这很脆弱,因为有时在实例联机时会发生故障,并且在完成配置之前它们会被修复和替换,因此有时可能会超出PauseTime窗口.此外,我想尽量减少我的应用程序同时运行两个不同版本的时间.

    ... ELB stuff ...

    "HealthCheck": {
      "HealthyThreshold": "3",
      "UnhealthyThreshold": "10",
      "Interval": "30",
      "Timeout": "15",
      "Target": {
        "Fn::Join": [
          "",
          [
            {"Fn::Join": [":", ["HTTP", {"Ref": "hostPort"}]]},
            {"Ref": "healthCheckPath"}
          ]
        ]
      }
    },

   ... ASG Stuff ...

  {
    ... snip ...

    "HealthCheckType": "ELB",
    "HealthCheckGracePeriod": "0",
    "Cooldown": "300"
  },
  "UpdatePolicy" : {
    "AutoScalingRollingUpdate" : {
      "MinInstancesInService" : "1",
      "MaxBatchSize" : "1"
    }
  }
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elb aws-cloudformation autoscaling

13
推荐指数
1
解决办法
3406
查看次数

仅允许通过ELB对AWS实例进行HTTP访问

我已经看到了一堆像类似的问题这一个,但没有给出一个笼统的回答.我是AWS的新手.我现在在我的VPC中运行了2个实例.我在他们面前有一个ELB设置,可以很好地将流量路由到两者.问题是,这两个实例目前也可以通过整个网络的HTTP来实现.我想改变一些事情,所以我的实例只能通过我的ELB点击HTTP.我怎样才能做到这一点?

amazon-ec2 amazon-web-services amazon-elb

13
推荐指数
1
解决办法
6587
查看次数

Elastic Beanstalk更改ELB类型

有谁知道是否可以将现有的AWS Elastic Beanstalk环境更改为应用程序负载均衡器(而不是经典的).

据我所知,只有应用程序ELB可以使用AWS WAF和DDOS"Shield"进行保护,因此任何现有的EB应用程序都无法利用这些功能,因为它们具有经典的ELB.

amazon-web-services amazon-elb amazon-elastic-beanstalk amazon-waf

13
推荐指数
3
解决办法
5418
查看次数

如何在 ELB 应用程序负载均衡器上将 HTTPS 重定向到 HTTP

在 Amazon 的“经典负载均衡器”上,您可以创建一条规则将 HTTPS 连接转发到 HTTP,通过将证书上传到负载均衡器并让服务器仅处理 http 来简化 SSL 和服务器配置。

我现在尝试使用亚马逊的新一代“应用程​​序负载均衡器”复制相同的设置,但新的规则系统似乎不允许这样做。

我可以创建一个规则来侦听 HTTPS/443 并重定向,但它只允许我重定向到 HTTPS 或#{protocol}://#{host}:80/#{path}?#{query},这仍然意味着我的服务器必须支持 HTTPS,我想避免这种情况,因为这意味着每个服务器仍然必须包含SSL 证书并具有端口 443 的站点配置。

新一代 ELB 是否不支持此功能,或者是否有其他方法可以配置它?

amazon-elb

13
推荐指数
1
解决办法
1万
查看次数

ELB健康检查历史/日志

我有一个 ELB(以几个 Auto Scaling 组作为目标组的网络负载均衡器),其定期运行状况检查失败(即某些实例将被标记为不运行状况,然后在几分钟后恢复)。健康检查是一个简单的静态页面(即/health_check)。

时间似乎是在主机网络负载较重(从 S3 下载大文件)的同时,但我想了解更多信息(例如,它们未通过 https 中提到的主动健康检查或被动健康检查: //docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html)。

但是,我无法从 ELB 找到健康检查历史记录或日志。我的所有搜索发现都是关于 ELB 的访问日志 ( https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html ),它与实际的用户请求有关。

此健康检查历史记录/日志可以在任何地方访问吗?

amazon-web-services amazon-elb aws-elb

13
推荐指数
1
解决办法
3993
查看次数

为什么ELB和Route 53 Alias Target的Hosted Zone ID值不同?

这是我的负载均衡器Sid-LB - 托管区域ID突出显示:

在此输入图像描述

当我从Alias Target中选择负载均衡器时,这就是Route 53(托管区域ID突出显示).

在此输入图像描述

我不明白为什么这两个ID必须不同.我尝试使用有效负载(包含ELB托管区域ID)发送API调用来创建记录集,它创建但不起作用.如何生成Route 53的Alias Hosted Zone ID,它是否与ELB Hosted Zone ID有任何关联?

amazon-ec2 amazon-web-services amazon-elb amazon-route53

12
推荐指数
2
解决办法
7948
查看次数