amazon.aws.elb_classic_lb 模块 – 创建、更新或销毁 Amazon ELB

注意

此模块是 amazon.aws 集合(版本 9.0.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install amazon.aws。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:amazon.aws.elb_classic_lb

amazon.aws 1.0.0 中的新增功能

概要

别名:ec2_elb_lb

要求

执行此模块的主机需要满足以下要求。

  • python >= 3.6

  • boto3 >= 1.28.0

  • botocore >= 1.31.0

参数

参数

说明

access_key

别名:aws_access_key_id、aws_access_key、ec2_access_key

字符串

AWS 访问密钥 ID。

有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

也可以使用 AWS_ACCESS_KEY_IDAWS_ACCESS_KEYEC2_ACCESS_KEY 环境变量,优先级依次降低。

aws_access_keyprofile 选项是互斥的。

为了与 AWS botocore SDK 保持一致,在 5.1.0 版本中添加了 aws_access_key_id 别名。

ec2_access_key 别名已弃用,将在 2024-12-01 之后的版本中删除。

EC2_ACCESS_KEY 环境变量的支持已弃用,将在 2024-12-01 之后的版本中删除。

access_logs

字典

访问日志配置设置的字典(请参阅示例)。

enabled

布尔值

设置为 true 时,将配置将访问日志传递到 S3 存储桶。

设置为 false 时,将禁用访问日志的传递。

选项

  • false

  • true ←(默认)

interval

整数

将访问日志发布到 S3 的间隔。

选项

  • 5

  • 60 ←(默认)

s3_location

字符串

用于传递访问日志的 S3 存储桶。

有关必要的 S3 存储桶策略的更多信息,请参阅 https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html

access_logs.enabled=true 时为必需。

s3_prefix

字符串

在 S3 存储桶中传递日志的位置。

如果未提供前缀或将其设置为 "",则日志将放置在存储桶的根级别。

默认值: ""

aws_ca_bundle

路径

用于验证 SSL 证书的 CA 捆绑包的位置。

也可以使用 AWS_CA_BUNDLE 环境变量。

aws_config

字典

用于修改 botocore 配置的字典。

参数可以在 AWS 文档中找到 https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config

connection_draining_timeout

整数

等待指定的超时时间,以便在终止实例之前允许连接耗尽。

设置为 0 以禁用连接耗尽。

cross_az_load_balancing

布尔值

在所有配置的可用区之间分配负载。

默认为 false

选项

  • false

  • true

debug_botocore_endpoint_logs

布尔值

使用 botocore.endpoint 记录器来解析任务期间进行的唯一(而不是总数)"resource:action" API 调用,并将该集合输出到任务结果中的 resource_actions 键。使用 aws_resource_action 回调输出 playbook 期间生成的总列表。

也可以使用 ANSIBLE_DEBUG_BOTOCORE_LOGS 环境变量。

选项

  • false ←(默认)

  • true

endpoint_url

别名:ec2_url、aws_endpoint_url、s3_url

字符串

连接的 URL,用于替代默认的 AWS 端点。虽然它可以用于连接其他兼容 AWS 的服务,但 amazon.aws 和 community.aws 集合仅针对 AWS 进行了测试。

也可以使用 AWS_URLEC2_URL 环境变量,优先级依次降低。

ec2_urls3_url 别名已被弃用,将在 2024-12-01 之后的版本中删除。

EC2_URL 环境变量的支持已被弃用,将在 2024-12-01 之后的版本中删除。

health_check

字典

健康检查配置设置的字典(请参阅示例)。

healthy_threshold

整数 / 必需

将实例移动到“健康”状态所需的连续健康检查成功的次数。

interval

整数 / 必需

单个实例健康检查之间的大概间隔(以秒为单位)。

ping_path

字符串

执行健康检查时,ELB 健康检查将查询的 URI 路径。

health_check.ping_protocol=HTTPhealth_check.ping_protocol=HTTPS 时为必需项。

ping_port

整数 / 必需

执行健康检查时,ELB 将连接到的 TCP 端口。

ping_protocol

字符串 / 必需

执行健康检查时,ELB 健康检查将使用的协议。

有效值为 'HTTP''HTTPS''TCP''SSL'

timeout

别名:response_timeout

整数 / 必需

在此时间(以秒为单位)之后,没有响应表示健康检查失败。

unhealthy_threshold

整数 / 必需

将实例移动到“不健康”状态所需的连续健康检查失败的次数。

idle_timeout

整数

在此时间之后,来自客户端和到服务器的 ELB 连接将超时。

instance_ids

列表 / 元素=字符串

要附加到此 ELB 的实例 ID 列表。

listeners

列表 / 元素=字典

此 ELB 要侦听的端口/协议列表(请参阅示例)。

state=present 且 ELB 不存在时为必需项。

instance_port

整数 / 必需

实例正在侦听的端口。

instance_protocol

字符串

用于将流量路由到实例的协议。

有效值为 HTTPHTTPSTCPSSL

load_balancer_port

整数 / 必需

负载均衡器将侦听的端口。

protocol

字符串 / 必需

用于路由的传输协议。

有效值为 HTTPHTTPSTCPSSL

proxy_protocol

布尔值

为侦听器启用代理协议。

注意,代理协议的 ELB 控制基于 listeners.instance_port。如果你有多个侦听器与同一个 listeners.instance_port 通信,这将影响所有这些侦听器。

选项

  • false

  • true

ssl_certificate_id

字符串

SSL 证书的 Amazon 资源名称 (ARN)。

name

字符串 / 必需

ELB 的名称。

ELB 的名称必须少于 32 个字符,并且在每个账户的每个区域中都是唯一的。

profile

别名:aws_profile

字符串

用于身份验证的命名 AWS 配置文件。

有关命名配置文件的详细信息,请参阅 AWS 文档 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

也可以使用 AWS_PROFILE 环境变量。

profile 选项与 aws_access_keyaws_secret_keysecurity_token 选项互斥。

purge_instance_ids

布尔值

清除 ELB 上存在但在 instance_ids 中未找到的现有实例 ID。

选项

  • false ←(默认)

  • true

purge_listeners

布尔值

清除 ELB 上存在但在 listeners 中未找到的现有侦听器。

选项

  • false

  • true ←(默认)

purge_subnets

布尔值

清除 ELB 上存在但在 subnets 中未找到的现有子网。

由于不允许从同一可用区添加多个子网,因此在添加新子网之前,将删除要清除的子网。如果你尝试一次替换所有子网,这可能会导致短暂的中断。

选项

  • false ←(默认)

  • true

purge_tags

布尔值

如果 purge_tags=true 并且设置了 tags,则将从资源中清除现有标签,以完全匹配 tags 参数定义的标签。

如果未设置 tags 参数,则即使 purge_tags=True,也不会修改标签。

aws: 开头的标签键由 Amazon 保留,无法修改。因此,为了 purge_tags 参数的目的,将忽略这些标签。有关详细信息,请参阅 Amazon 文档 https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions

选项

  • false

  • true ←(默认)

purge_zones

布尔值

清除 ELB 上存在但在 zones 中未找到的现有可用区。

选项

  • false ←(默认)

  • true

region

别名:aws_region, ec2_region

字符串

要使用的 AWS 区域。

对于 IAM、Route53 和 CloudFront 等全局服务,将忽略 region

也可以使用 AWS_REGIONEC2_REGION 环境变量。

有关详细信息,请参阅 Amazon AWS 文档 http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

ec2_region 别名已被弃用,将在 2024-12-01 之后的版本中删除

EC2_REGION 环境变量的支持已被弃用,将在 2024-12-01 之后的版本中删除。

scheme

字符串

创建 ELB 时要使用的方案。

对于私有 VPC 可见的 ELB,请使用 internal

如果你选择使用不同的值更新方案,则将销毁 ELB 并创建一个新的 ELB。

默认为 scheme=internet-facing

选项

  • "internal"

  • "internet-facing"

secret_key

别名:aws_secret_access_key, aws_secret_key, ec2_secret_key

字符串

AWS secret access key。

有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

也可以按优先级递减的顺序使用 AWS_SECRET_ACCESS_KEYAWS_SECRET_KEYEC2_SECRET_KEY 环境变量。

secret_keyprofile 选项互斥。

aws_secret_access_key 别名在 5.1.0 版本中添加,以便与 AWS botocore SDK 保持一致。

ec2_secret_key 别名已被弃用,将在 2024-12-01 之后的版本中删除。

EC2_SECRET_KEY 环境变量的支持已被弃用,将在 2024-12-01 之后的版本中删除。

security_group_ids

列表 / 元素=字符串

要应用于 ELB 的安全组列表。

security_group_names

列表 / 元素=字符串

要应用于 ELB 的安全组名称列表。

session_token

别名:aws_session_token, security_token, aws_security_token, access_token

字符串

用于临时凭证的 AWS STS 会话令牌。

有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

也可以按优先级降序使用 AWS_SESSION_TOKENAWS_SECURITY_TOKENEC2_SECURITY_TOKEN 环境变量。

security_tokenprofile 选项是互斥的。

别名 aws_session_tokensession_token 在 3.2.0 版本中添加,参数在 6.0.0 版本中从 security_token 重命名为 session_token

别名 security_tokenaws_security_tokenaccess_token 已弃用,将在 2024-12-01 之后的版本中删除。

EC2_SECRET_KEYAWS_SECURITY_TOKEN 环境变量的支持已弃用,将在 2024-12-01 之后的版本中删除。

状态

字符串 / 必需

创建或销毁 ELB。

选项

  • "absent"(不存在)

  • "present"(存在)

粘性

字典

粘性策略设置的字典。

策略将应用于所有监听器(请参见示例)。

字符串

用于粘性的应用程序 cookie 的名称。

如果 stickiness.enabled=truestickiness.type=application,则此项为必需项。

如果 stickiness.enabled=false,则忽略此项。

enabled

布尔值

stickiness.enabled=false 时,所有监听器都将禁用会话粘性。

选项

  • false

  • true ←(默认)

expiration(过期时间)

整数

cookie 应被视为过期的时长(以秒为单位)。

如果未指定此参数,则粘性会话将持续到浏览器会话结束。

如果 stickiness.enabled=false,则忽略此项。

type(类型)

字符串

要应用的粘性策略的类型。

如果 stickiness.enabled=true,则此项为必需项。

如果 stickiness.enabled=false,则忽略此项。

选项

  • "application"(应用程序)

  • "loadbalancer"(负载均衡器)

subnets(子网)

列表 / 元素=字符串

创建 ELB 时要使用的 VPC 子网列表。

zones 互斥。

tags(标签)

别名:resource_tags

字典

表示要应用于资源的标签的字典。

如果未设置 tags 参数,则不会修改标签。

validate_certs(验证证书)

布尔值

如果设置为 false,则在与 AWS API 通信时不会验证 SSL 证书。

强烈建议不要设置 *validate_certs=false*,作为替代方案,请考虑设置 *aws_ca_bundle*。

选项

  • false

  • true ←(默认)

wait(等待)

布尔值

在创建、删除或向 ELB 添加实例时,如果 *wait=true*,Ansible 将等待负载均衡器和相关网络接口完成创建/删除。

在 2.1.0 版本中添加了添加实例时等待的支持。

选项

  • false ←(默认)

  • true

wait_timeout(等待超时)

整数

与 wait 结合使用。等待 ELB 终止的秒数。

最多允许 600 秒(10 分钟)。

默认值: 180

zones(可用区)

列表 / 元素=字符串

要在此 ELB 上启用的可用区列表。

subnets 互斥。

说明

注意

  • 此模块之前设置的 *ec2_elb* 事实在 2.1.0 版本中已弃用,并且自 4.0.0 版本起不再设置。

  • 在 2.1.0 版本中添加了对 purge_tags 的支持。

  • 注意:对于模块,环境变量和配置文件是从 Ansible “主机” 上下文而不是“控制器”上下文读取的。因此,可能需要将文件显式复制到“主机”。对于查找和连接插件,环境变量和配置文件是从 Ansible “控制器” 上下文而不是“主机”上下文读取的。

  • Ansible 使用的 AWS SDK (boto3) 也可能从 Ansible “主机” 上下文(通常是 ~/.aws/credentials)中的配置文件中读取凭据和其他设置(例如区域)的默认值。有关更多信息,请参见 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html

示例

# Note: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.

# Basic provisioning example (non-VPC)

- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http # options are http, https, ssl, tcp
        load_balancer_port: 80
        instance_port: 80
        proxy_protocol: true
      - protocol: https
        load_balancer_port: 443
        instance_protocol: http # optional, defaults to value of protocol setting
        instance_port: 80
        # ssl certificate required for https or ssl
        ssl_certificate_id: "arn:aws:iam::123456789012:server-certificate/company/servercerts/ProdServerCert"

# Internal ELB example

- amazon.aws.elb_classic_lb:
    name: "test-vpc"
    scheme: internal
    state: present
    instance_ids:
      - i-abcd1234
    purge_instance_ids: true
    subnets:
      - subnet-abcd1234
      - subnet-1a2b3c4d
    listeners:
      - protocol: http # options are http, https, ssl, tcp
        load_balancer_port: 80
        instance_port: 80

# Configure a health check and the access logs
- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: present
    zones:
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    health_check:
      ping_protocol: http # options are http, https, ssl, tcp
      ping_port: 80
      ping_path: "/index.html" # not required for tcp or ssl
      response_timeout: 5 # seconds
      interval: 30 # seconds
      unhealthy_threshold: 2
      healthy_threshold: 10
    access_logs:
      interval: 5 # minutes (defaults to 60)
      s3_location: "my-bucket" # This value is required if access_logs is set
      s3_prefix: "logs"

# Ensure ELB is gone
- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: absent

# Ensure ELB is gone and wait for check (for default timeout)
- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: absent
    wait: true

# Ensure ELB is gone and wait for check with timeout value
- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: absent
    wait: true
    wait_timeout: 600

# Normally, this module will purge any listeners that exist on the ELB
# but aren't specified in the listeners parameter. If purge_listeners is
# false it leaves them alone
- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    purge_listeners: false

# Normally, this module will leave availability zones that are enabled
# on the ELB alone. If purge_zones is true, then any extraneous zones
# will be removed
- amazon.aws.elb_classic_lb:
    name: "test-please-delete"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    purge_zones: true

# Creates a ELB and assigns a list of subnets to it.
- amazon.aws.elb_classic_lb:
    state: present
    name: 'New ELB'
    security_group_ids: 'sg-123456, sg-67890'
    subnets: 'subnet-123456,subnet-67890'
    purge_subnets: true
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80

# Create an ELB with connection draining, increased idle timeout and cross availability
# zone load balancing
- amazon.aws.elb_classic_lb:
    name: "New ELB"
    state: present
    connection_draining_timeout: 60
    idle_timeout: 300
    cross_az_load_balancing: "yes"
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80

# Create an ELB with load balancer stickiness enabled
- amazon.aws.elb_classic_lb:
    name: "New ELB"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    stickiness:
      type: loadbalancer
      enabled: true
      expiration: 300

# Create an ELB with application stickiness enabled
- amazon.aws.elb_classic_lb:
    name: "New ELB"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    stickiness:
      type: application
      enabled: true
      cookie: SESSIONID

# Create an ELB and add tags
- amazon.aws.elb_classic_lb:
    name: "New ELB"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    tags:
      Name: "New ELB"
      stack: "production"
      client: "Bob"

# Delete all tags from an ELB
- amazon.aws.elb_classic_lb:
    name: "New ELB"
    state: present
    zones:
      - us-east-1a
      - us-east-1d
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 80
    tags: {}

返回值

常见返回值记录在此处,以下是此模块特有的字段

描述

elb

字典

原始的 boto 样式负载均衡器属性。

返回:始终

字符串

用于控制 ELB 是否使用应用程序 cookie 粘性策略的策略名称。

返回:state=present

示例: "ec2-elb-lb-AppCookieStickinessPolicyType"

backends(后端)

字符串

应用于 ELB 的后端策略的描述(实例端口:策略名称)。

返回:state=present

示例: "8181:ProxyProtocol-policy"

connection_draining_timeout

整数

在取消注册实例之前保持现有连接打开的最大时间(以秒为单位)。

返回:state=present

示例: 25

cross_az_load_balancing

字符串

如果启用了跨 AZ 负载均衡,则为 "yes",如果禁用了跨 AZ 负载均衡,则为 "no"

返回:state=present

示例: "yes"

dns_name(DNS 名称)

字符串

ELB 的 DNS 名称。

返回:state=present

示例: "internal-ansible-test-935c585850ac-1516306744.us-east-1.elb.amazonaws.com"

health_check

字典

描述用于 ELB 的运行状况检查的字典。

返回:state=present

healthy_threshold

整数

在将实例标记为正常之前,连续成功的运行状况检查次数。

返回:成功

示例: 2

interval

整数

每次运行状况检查之间的间隔时间(以秒为单位)。

返回:成功

示例: 10

target(目标)

字符串

协议、端口,对于 HTTP(S) 运行状况检查,则是运行状况检查测试的路径。

返回:成功

示例: "TCP:22"

timeout(超时)

整数

由于超时,将正在进行的运行状况检查视为失败的时间(以秒为单位)。

返回:成功

示例: 5

unhealthy_threshold

整数

在将实例标记为不正常之前,连续失败的运行状况检查次数。

返回:成功

示例: 2

hosted_zone_id(托管区域 ID)

字符串

负载均衡器的 Amazon Route 53 托管区域的 ID。

返回:state=present

示例: "Z35SXDOTRQ7X7K"

hosted_zone_name(托管区域名称)

字符串

使用自定义主机名时,负载均衡器的 DNS 名称。

返回:state=present

示例: "ansible-module.example"

idle_timeout

整数

ELB 断开空闲连接之前的时长。

返回:state=present

示例: 50

in_service_count(服务中计数)

整数

处于服务中状态的 ELB 上附加的实例数。

返回:state=present

示例: 1

instance_health(实例运行状况)

列表 / 元素=字典

描述附加到 ELB 的每个实例的运行状况的字典列表。

返回:state=present

description(描述)

字符串

关于实例为何未处于服务中的人类可读描述。

返回:state=present

示例: "N/A"

instance_id(实例 ID)

字符串

实例的 ID。

返回:state=present

示例: "i-03dcc8953a03d6435"

reason_code(原因代码)

字符串

描述实例为何未处于服务中的代码。

返回:state=present

示例: "N/A"

状态

字符串

实例的当前服务状态。

返回:state=present

示例: "InService"

instances(实例)

列表 / 元素=字符串

附加到 ELB 的实例的 ID 列表。

返回:state=present

示例: ["i-03dcc8953a03d6435"]

字符串

用于控制 ELB 是否使用 cookie 粘性策略的策略名称。

返回:state=present

示例: "ec2-elb-lb-LBCookieStickinessPolicyType"

listeners

列表 / 元素=列表

描述附加到 ELB 的监听器的列表的列表。

嵌套列表包含监听器端口、实例端口、监听器协议、实例端口,以及在适当情况下包含端口的 SSL 证书 ID。

返回:state=present

示例: [[22, 22, "TCP", "TCP"], [80, 8181, "HTTP", "HTTP"]]

name

字符串

ELB 的名称。此名称在每个区域、每个账户中都是唯一的。

返回:state=present

示例: "ansible-test-935c585850ac"

out_of_service_count(服务外计数)

整数

处于服务外状态的 ELB 上附加的实例数。

返回:state=present

示例: 0

proxy_policy(代理策略)

字符串

用于控制 ELB 是否使用代理协议运行的策略名称。

返回:当代理协议策略存在时。

示例: "ProxyProtocol-policy"

region(区域)

字符串

ELB 运行所在的 AWS 区域。

返回:始终

示例: "us-east-1"

scheme

字符串

ELB 是 'internal' 还是 'internet-facing' 的负载均衡器。

返回:state=present

示例: "internal"

security_group_ids

列表 / 元素=字符串

附加到 ELB 的安全组 ID 列表。

返回:state=present

示例: ["sg-0c12ebd82f2fb97dc", "sg-01ec7378d0c7342e6"]

状态

字符串

ELB 当前状态的简要描述。有效值为 'exists''gone''deleted''created'

返回:始终

示例: "exists"

subnets(子网)

列表 / 元素=字符串

附加到 ELB 的子网 ID 列表。

返回:state=present

示例: ["subnet-00d9d0f70c7e5f63c", "subnet-03fa5253586b2d2d5"]

标签

字典

描述附加到 ELB 的标签的字典。

返回:state=present

示例: {"ExampleTag": "Example Value", "Name": "ansible-test-935c585850ac"}

unknown_instance_state_count

整数

附加到 ELB 的处于未知状态的实例数量。

返回:state=present

示例: 0

zones(可用区)

列表 / 元素=字符串

ELB 正在运行的 AWS 区域列表。

返回:state=present

示例: ["us-east-1b", "us-east-1a"]

load_balancer

字典

Boto3 风格的负载均衡器属性。

返回:始终

availability_zone

列表 / 元素=字符串

ELB 正在运行的 AWS 区域列表。

返回:state=present

示例: ["us-east-1b", "us-east-1a"]

backend_server_descriptions

列表 / 元素=字典

有关您的 EC2 实例的信息。

返回:state=present

示例: []

instance_port

整数

EC2 实例正在监听的端口。

返回:state=present

policy_names

列表 / 元素=字符串

为 EC2 实例启用的策略名称。

返回:state=present

canonical_hosted_zone_id

字符串

负载均衡器的 Amazon Route 53 托管区域的 ID。

返回:state=present

示例: "Z35SXDOTRQ7X7K"

created_time

字符串

负载均衡器创建的日期和时间。

返回:state=present

示例: "2024-06-27T10:18:48.390000+00:00"

dns_name(DNS 名称)

字符串

ELB 的 DNS 名称。

返回:state=present

示例: "internal-ansible-test-935c585850ac-1516306744.us-east-1.elb.amazonaws.com"

health_check

字典

有关在负载均衡器上执行的运行状况检查的信息。

返回:state=present

healthy_threshold

整数

在将实例标记为正常之前,连续成功的运行状况检查次数。

返回:成功

示例: 2

interval

整数

每次运行状况检查之间的间隔时间(以秒为单位)。

返回:成功

示例: 10

target(目标)

字符串

协议、端口,对于 HTTP(S) 运行状况检查,则是运行状况检查测试的路径。

返回:成功

示例: "TCP:22"

timeout(超时)

整数

由于超时,将正在进行的运行状况检查视为失败的时间(以秒为单位)。

返回:成功

示例: 5

unhealthy_threshold

整数

在将实例标记为不正常之前,连续失败的运行状况检查次数。

返回:成功

示例: 2

instances(实例)

列表 / 元素=字典

负载均衡器的实例 ID。

返回:state=present

示例: []

instance_id(实例 ID)

字符串

实例 ID。

返回:成功

listener_descriptions

列表 / 元素=字典

负载均衡器的侦听器。

返回:state=present

示例: [{"listener": {"instance_port": 8080, "instance_protocol": "HTTP", "load_balancer_port": 8080, "protocol": "HTTP"}, "policy_names": []}]

listener

字典

侦听器。

返回:state=present

instance_port

整数

实例正在侦听的端口。

返回:state=present

instance_protocol

字符串

用于将流量路由到实例的协议。

返回:state=present

load_balancer_port

整数

负载均衡器正在监听的端口。

返回:state=present

protocol

字符串

用于路由的负载均衡器传输协议:HTTP、HTTPS、TCP 或 SSL。

返回:state=present

policy_names

列表 / 元素=字符串

策略。如果未启用任何策略,则列表为空。

返回:state=present

load_balancer_attributes

列表 / 元素=字典

负载均衡器的侦听器。

返回:state=present

access_log

字典

如果启用,负载均衡器会捕获所有请求的详细信息,并将信息传送到您指定的 Amazon S3 存储桶。

返回:state=present

emit_interval

整数

发布访问日志的间隔。

返回:成功

示例: 60

enabled

布尔值

指定是否为负载均衡器启用访问日志。

返回:成功

示例: false

s3_bucket_name

字符串

存储访问日志的 Amazon S3 存储桶的名称。

返回:成功

示例: ""

s3_bucket_prefix

字符串

为您的 Amazon S3 存储桶创建的逻辑层次结构。

返回:成功

示例: ""

addtional_attributes

列表 / 元素=字典

任何其他属性。

返回:state=present

示例: [{"key": "elb.http.desyncmitigationmode", "value": "defensive"}]

connection_draining

字典

如果启用,负载均衡器允许现有请求完成,然后再将流量从已注销或不健康的实例转移开。

返回:state=present

示例: {"enabled": false, "timeout": 300}

enabled

布尔值

指定是否为负载均衡器启用连接耗尽。

返回:成功

timeout(超时)

整数

在取消注册实例之前保持现有连接打开的最大时间(以秒为单位)。

返回:成功

connection_settings

字典

如果启用,负载均衡器允许连接保持空闲(没有数据通过连接发送)指定的时间

返回:state=present

示例: {"idle_timeout": 60}

idle_timeout

整数

连接在被负载均衡器关闭之前允许空闲(没有数据通过连接发送)的时间,以秒为单位。

返回:成功

cross_zone_load_balancing

字典

如果启用,负载均衡器会将请求流量均匀地路由到所有实例,而不管可用区如何。

返回:state=present

示例: {"enabled": false}

enabled

布尔值

指定是否为负载均衡器启用跨区域负载均衡。

返回:state=present

load_balancer_name

字符串

ELB 的名称。

返回:state=present

示例: "ansible-test-935c585850ac"

load_balancer_policies

列表 / 元素=字典

有关策略的信息。

返回:state=present

示例: []

policy_attributes_description

字典

有关策略属性的信息。

返回:state=present

attribute_name

字符串

属性的名称。

返回:state=present

attribute_value

字符串

属性的值。

返回:state=present

policy_name

字符串

策略的名称。

返回:state=present

policy_type_name

字符串

策略类型的名称。

返回:state=present

policies

字典

为负载均衡器定义的策略。

返回:state=present

列表 / 元素=字典

使用 CreateAppCookieStickinessPolicy 创建的粘性策略。

返回:state=present

字符串

用于粘性的应用程序 cookie 的名称。

返回:state=present

示例: ""

字符串

正在创建的策略的助记名称。

返回:state=present

示例: ""

列表 / 元素=字典

使用 CreateLBCookieStickinessPolicy 创建的粘性策略。

返回:state=present

字符串

cookie 应被视为过期的时长(以秒为单位)。

返回:state=present

示例: ""

字符串

正在创建的策略的助记名称。

返回:state=present

示例: ""

other_policies

列表 / 元素=字符串

粘性策略之外的策略。

返回:state=present

示例: []

scheme

字符串

负载均衡器的类型。

返回:state=present

示例: "internal"

security_groups

列表 / 元素=字符串

负载均衡器的安全组。

返回:state=present

示例: ["sg-0c12ebd82f2fb97dc", "sg-01ec7378d0c7342e6"]

source_security_groups

字典

负载均衡器的安全组,您可以使用该安全组作为已注册实例的入站规则的一部分。

返回:state=present

示例: {"group_name": "default", "owner_alias": "721066863947"}

group_name

字符串

安全组的名称。

返回:成功

owner_alias

字符串

安全组的所有者。

返回:成功

subnets(子网)

列表 / 元素=字符串

附加到 ELB 的子网 ID 列表。

返回:state=present

示例: ["subnet-00d9d0f70c7e5f63c", "subnet-03fa5253586b2d2d5"]

标签

字典

描述附加到 ELB 的标签的字典。

返回:state=present

示例: {"ExampleTag": "Example Value", "Name": "ansible-test-935c585850ac"}

vpc_id

字符串

负载均衡器的 VPC ID。

返回:state=present

示例: "vpc-0c112c24b41d89c34"

作者

  • Jim Dalton (@jsdalton)

  • Mark Chappell (@tremble)