【问题标题】:How to configure ElasticBeanstalk to store access logs for classic ELB如何配置 ElasticBeanstalk 以存储经典 ELB 的访问日志
【发布时间】:2018-05-25 08:13:32
【问题描述】:

我正在使用 Terraform 来配置 ElasticBeanstalk 应用程序。 EC2 实例被放入 Auto Scaling 组,并通过(经典)弹性负载均衡器访问。

现在我需要在 S3 中存储对该负载均衡器的访问日志。 我看到可以从 Web 控制台(EC2/负载均衡器/描述/属性/访问日志)手动执行。 Terraform 还允许为 aws_elb 配置访问日志(如果它不是由 ElasticBeanstalk 创建的)。 但是,ElasticBeanstalk 不允许仅为应用程序负载均衡器配置经典负载均衡器 (see docs) 的访问日志。

所以问题是:如何配置 ElasticBeanstalk 来存储经典负载均衡器的访问日志?

我知道我可以更改平衡器类型,但我想避免这种情况。

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk terraform elastic-load-balancer


    【解决方案1】:

    您可以通过在部署包的根目录中创建.ebextensions 目录并在其中保存配置文件来实现此目的。这是我们使用的文件,它将 ELB 配置为每 5 分钟保存一次日志:

    Resources:
      AWSEBLoadBalancer:
        Type: AWS::ElasticLoadBalancing::LoadBalancer
        Properties:
          AccessLoggingPolicy:
            EmitInterval: 5
            Enabled: true
            S3BucketName: "example-elb-logs"
            S3BucketPrefix: { "Fn::Sub" : "example/${AWSEBEnvironmentName}" }
    

    如果您认为“这看起来很像 CloudFormation 模板”,那么您是对的:Beanstalk 将此目录中的片段添加到其基本模板中。

    更多信息.ebextensionshttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-02
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多