0

我有一个带有以下.ebextensions配置文件的 Elastic Beanstalk 实例来设置自定义负载均衡器。

Resources:
  ApiLoadBalancer:
    Type: AWS::ElasticLoadBalancing::LoadBalancer
    Properties:
      ConnectionSettings:
         IdleTimeout: 900
      Listeners:
      - InstancePort: '80'
        InstanceProtocol: 'HTTP'
        LoadBalancerPort: '443'
        Protocol: 'HTTPS'
        SSLCertificateId: 'certificate-id'
      HealthCheck:
         HealthyThreshold: '3'
         Interval: '30'
         Target: 'HTTP:80/api/healthcheck'
         Timeout: '5'
         UnhealthyThreshold: '5'
      AvailabilityZones:
      - "us-east-1a"

但是,每当重建 beanstalk 环境时,我的自定义负载均衡器都会按定义创建,但是 EC2 实例本身并未附加到它。

如何让实例使用我的自定义负载均衡器?

4

1 回答 1

1

您需要通过弹性 beanstalk 命名空间配置弹性 beanstalk 负载均衡器。而不是通过 设置全新的负载均衡器Type: AWS::ElasticLoadBalancing::LoadBalancer,您应该以这种方式指定负载均衡器配置(假设您要使用 Classic Load Balancer,基于发布的配置)。

option_settings:
  aws:elb:listener:443:
    ListenerProtocol: HTTPS
    SSLCertificateId: arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678
    InstancePort: 80
    InstanceProtocol: HTTP
  aws:elb:listener:
    ListenerEnabled: false
于 2019-05-17T18:49:03.710 回答