You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ansible配置AWS Application Load Balancer并开启访问日志?

前置准备

首先完成开启日志前的必要准备:

  • 提前创建与ALB同区域的S3存储桶
  • 配置S3桶策略,允许ALB服务主体写入日志,核心权限配置需包含对s3:PutObject操作的授权

配置修改方案

你当前使用的elb_application_lb模块原生支持ALB访问日志配置,仅需要在原有模块参数中新增access_logs相关配置项即可,无需新增额外任务。修改后的完整配置如下:

- name: Add HTTP listener rules and enable ALB access log
  elb_application_lb:
    state: present
    name: "{{ albinfo.load_balancer_name }}"
    subnets:
      - "{{ albinfo.availability_zones[0].subnet_id }}"
      - "{{ albinfo.availability_zones[1].subnet_id }}"
      - "{{ albinfo.availability_zones[2].subnet_id }}"
    security_groups:
      - "{{ albinfo.security_groups[0] }}"
    # 新增访问日志配置开始
    access_logs:
      enabled: yes
      s3_bucket_name: "替换为你的S3桶名称"
      s3_prefix: "alb-logs" # 可选配置,指定日志在桶内的存储前缀,不需要可删除
    # 新增访问日志配置结束
    listeners:
      - Protocol: HTTP
        Port: 80
        DefaultActions:
          - Type: forward
            TargetGroupName: default
        Rules:
          - Conditions:
              - Field: host-header
                Values: "{{ item.url }}"
            Priority: "{{ item.priority }}"
            Actions:
              - TargetGroupName: "{{ item.name }}"
                Type: forward
    purge_listeners: no
  with_items: "{{ regions }}"

注意事项

  • S3桶必须与ALB处于同一AWS区域,否则日志无法正常投递
  • 若执行时出现权限报错,优先检查S3桶策略是否配置正确
  • 确保所用Ansible的amazon.aws集合版本≥1.0.0,可正常识别access_logs参数

内容的提问来源于stack exchange,提问作者Pankaj Ambilduke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:45:06