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_access_key_id 别名在 5.1.0 版本中添加,以与 AWS botocore SDK 保持一致。

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

字符串

连接到非默认 AWS 端点的 URL。虽然这可以用于连接到其他与 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 密钥。

有关访问令牌的更多信息,请参阅 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。

选项

  • “不存在”

  • “存在”

粘性会话

字典

粘性会话策略设置的字典。

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

字符串

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

如果stickiness.enabled=true并且stickiness.type=application,则需要此参数。

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

enabled

布尔值

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

选项

  • false

  • true ← (默认)

过期时间

整数

cookie被认为失效的时间段(秒)。

如果未指定此参数,则粘性会话持续浏览器的会话期间。

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

类型

字符串

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

如果stickiness.enabled=true,则需要此参数。

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

选项

  • “应用程序”

  • “负载均衡器”

子网

列表 / 元素=字符串

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

zones互斥。

标签

别名:resource_tags

字典

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

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

验证证书

布尔值

设置为false时,将不会验证与AWS API通信的SSL证书。

强烈建议不要设置validate_certs=false,可以考虑改用aws_ca_bundle

选项

  • false

  • true ← (默认)

等待

布尔值

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

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

选项

  • false ← (默认)

  • true

等待超时

整数

与wait一起使用。等待ELB终止的秒数。

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

默认值: 180

区域

列表 / 元素=字符串

在此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"

后端

字符串

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

返回:state=present

示例: "8181:ProxyProtocol-policy"

connection_draining_timeout

整数

在注销实例之前保持现有连接打开的最大时间(秒)。

返回:state=present

示例: 25

cross_az_load_balancing

字符串

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

返回:state=present

示例: "yes"

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

目标

字符串

协议、端口以及HTTP(S)健康检查测试的路径。

返回:成功

示例: "TCP:22"

超时

整数

正在进行的健康检查由于超时而被认为失败的时间(秒)。

返回:成功

示例: 5

unhealthy_threshold

整数

在将实例标记为不健康之前,连续失败的健康检查次数。

返回:成功

示例: 2

托管区域ID

字符串

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

返回:state=present

示例: "Z35SXDOTRQ7X7K"

托管区域名称

字符串

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

返回:state=present

示例: "ansible-module.example"

idle_timeout

整数

ELB丢弃空闲连接之前的时间长度。

返回:state=present

示例: 50

运行中实例数

整数

连接到ELB且处于运行状态的实例数。

返回:state=present

示例: 1

实例运行状况

列表 / 元素=字典

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

返回:state=present

描述

字符串

关于实例为何未运行状态的人类可读描述。

返回:state=present

示例: "N/A"

实例ID

字符串

实例的ID。

返回:state=present

示例: "i-03dcc8953a03d6435"

原因代码

字符串

描述实例为何未运行状态的代码。

返回:state=present

示例: "N/A"

状态

字符串

实例当前的服务状态。

返回:state=present

示例: "InService"

实例

列表 / 元素=字符串

连接到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 是否使用 Proxy 协议的策略名称。

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

示例: "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"]

status

字符串

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

返回:始终

示例: "exists"

子网

列表 / 元素=字符串

附加到 ELB 的子网 ID 列表。

返回:state=present

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

tags

字典

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

返回:state=present

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

unknown_instance_state_count

整数

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

返回:state=present

示例: 0

区域

列表 / 元素=字符串

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名称

字符串

ELB的DNS名称。

返回:state=present

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

health_check

字典

关于对负载均衡器进行的运行状况检查的信息。

返回:state=present

healthy_threshold

整数

在将实例标记为健康之前,连续成功的健康检查次数。

返回:成功

示例: 2

interval

整数

每次健康检查之间的时间(秒)。

返回:成功

示例: 10

目标

字符串

协议、端口以及HTTP(S)健康检查测试的路径。

返回:成功

示例: "TCP:22"

超时

整数

正在进行的健康检查由于超时而被认为失败的时间(秒)。

返回:成功

示例: 5

unhealthy_threshold

整数

在将实例标记为不健康之前,连续失败的健康检查次数。

返回:成功

示例: 2

实例

列表 / 元素=字典

负载均衡器的实例 ID。

返回:state=present

示例: []

实例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

布尔值

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

返回:成功

超时

整数

在注销实例之前保持现有连接打开的最大时间(秒)。

返回:成功

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

字符串

安全组的所有者。

返回:成功

子网

列表 / 元素=字符串

附加到 ELB 的子网 ID 列表。

返回:state=present

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

tags

字典

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

返回:state=present

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

vpc_id

字符串

负载均衡器的 VPC ID。

返回:state=present

示例: "vpc-0c112c24b41d89c34"

作者

  • Jim Dalton (@jsdalton)

  • Mark Chappell (@tremble)