AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::ElasticLoadBalancingV2::LoadBalancer

AWS::ElasticLoadBalancingV2::LoadBalancer 资源将创建 Elastic Load Balancing 应用程序或网络负载均衡器。有关更多信息,请参阅 Elastic Load Balancing 用户指南 中的入门

注意

AWS CloudFormation 不会自动为 Elastic Load Balancing 负载均衡器创建标签 (键值对)。您必须使用 Tags 属性创建要与负载均衡器关联的标签。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::ElasticLoadBalancingV2::LoadBalancer", "Properties" : { "LoadBalancerAttributes" : [ LoadBalancerAttributes, ... ], "Name" : String, "Scheme" : String, "SecurityGroups" : [ String, ... ], "Subnets" : [ String, ... ], "SubnetMappings" : [ String, ... ], "Tags" : [ Resource Tag, ... ], "Type" : String, "IpAddressType" : String } }

YAML

Type: "AWS::ElasticLoadBalancingV2::LoadBalancer" Properties: LoadBalancerAttributes: - LoadBalancerAttributes Name: String Scheme: String SecurityGroups: - 字符串 Subnets: - 字符串 SubnetMappings: - 字符串 Tags: - Resource Tag Type: String IpAddressType: String

属性

有关更多信息和有效参数值,请参阅 Elastic Load Balancing API 参考版本 2015-12-01 中的 CreateLoadBalancer 操作。

LoadBalancerAttributes

指定负载均衡器配置。

Required: No

Type: Elastic Load Balancing LoadBalancer LoadBalancerAttributes 的列表。

更新要求无需中断

Name

指定负载均衡器的名称。此名称在您的 AWS 账户中必须是唯一的,并且最多可包含 32 个字母数字字符和连字符。名称不能以连字符开头或结尾。

Required: No

Type: String

更新要求替换

Scheme

指定负载均衡器是面向内部使用还是 Internet。有效值为 internet-facinginternal。默认为 internet-facing

面向 Internet 的负载均衡器的节点具有公共 IP 地址。面向 Internet 的负载均衡器的 DNS 名称可公开解析为节点的公共 IP 地址。因此,面向 Internet 的负载均衡器可以通过 Internet 从客户端路由请求。

内部负载均衡器的节点只有私有 IP 地址。内部负载均衡器的 DNS 名称可公开解析为节点的私有 IP 地址。因此,内部负载均衡器可路由的请求只能来自对负载均衡器的 VPC 具有访问权限的客户端。

Required: No

Type: String

更新要求替换

SecurityGroups

[应用程序负载均衡器] 指定要分配到负载均衡器的安全组 ID 的列表。

Required: No

Type: List of String values

更新要求无需中断

Subnets

要附加到负载均衡器的子网的 ID。每个可用区您只能指定一个子网。您必须指定子网或子网映射。

[应用程序负载均衡器] 您必须至少在两个可用区中指定子网。

Required: No

Type: List of String values

更新要求无需中断

SubnetMappings

要附加到负载均衡器的子网的 ID。每个可用区您只能指定一个子网。您必须指定子网或子网映射。

[应用程序负载均衡器] 对于每个子网,为负载均衡器分配一个静态 IP 地址。您不能指定自己的弹性 IP 地址。

[网络负载均衡器] 对于每个子网,您可以指定一个弹性 IP 地址。

Required: No

Type: Elastic Load Balancing LoadBalancer SubnetMapping 的列表。

更新要求替换

Tags

指定要与此负载均衡器关联的任意标签组(键–值对)。使用标签来管理您的资源。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断

Type

指定要创建的负载均衡器的类型。有效值为 applicationnetwork。默认值为 application

Required: No

Type: String

更新要求替换

IpAddressType

[应用程序负载均衡器] 负载均衡器的子网使用的 IP 地址的类型,例如 ipv4 (适用于 IPv4 地址) 或 dualstack (适用于 IPv4 和 IPv6 地址)。有关有效值的信息,请参阅 IpAddressTypeElastic Load Balancing API 参考版本 2015-12-01CreateLoadBalancer 中的 操作的 参数。

Required: No

Type: String

更新要求无需中断

返回值

Ref

当向 Ref 内部函数提供此资源的逻辑 ID 时,Ref 将返回负载均衡器的 ARN,例如:。

arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-internal-load-balancer/50dc6c495c0c9188

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

Fn::GetAtt 返回以下属性的值。

DNSName

负载均衡器的 DNS 名称,例如,my-load-balancer-424835706.us-west-2.elb.amazonaws.com

CanonicalHostedZoneID

与负载均衡器关联的 Amazon Route 53 托管区域的 ID,例如 Z2P70J7EXAMPLE

LoadBalancerFullName

负载均衡器的全名,例如,app/my-load-balancer/50dc6c495c0c9188

LoadBalancerName

负载均衡器的名称,例如,my-load-balancer

SecurityGroups

负载均衡器的安全组的 ID,例如 sg-123456a

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

示例

指定了空闲超时期限的负载均衡器

下面的示例创建一个内部负载均衡器,空闲超时期间为 50 秒。

JSON

"loadBalancer" : { "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer", "Properties": { "Scheme" : "internal", "Subnets" : [ {"Ref": "SubnetAZ1"}, {"Ref" : "SubnetAZ2"}], "LoadBalancerAttributes" : [ { "Key" : "idle_timeout.timeout_seconds", "Value" : "50" } ], "SecurityGroups": [{"Ref": "SecurityGroup1"}, {"Ref" : "SecurityGroup2"}], "Tags" : [ { "Key" : "key", "Value" : "value" }, { "Key" : "key2", "Value" : "value2" } ] } }

YAML

loadBalancer: Type: AWS::ElasticLoadBalancingV2::LoadBalancer Properties: Scheme: internal Subnets: - Ref: SubnetAZ1 - Ref: SubnetAZ2 LoadBalancerAttributes: - Key: idle_timeout.timeout_seconds Value: '50' SecurityGroups: - Ref: SecurityGroup1 - Ref: SecurityGroup2 Tags: - Key: key Value: value - Key: key2 Value: value2

具有子网的负载均衡器

以下示例将创建具有两个映射子网的负载均衡器。

JSON

{ "Parameters": { "FirstSubnet": { "Type": "String" }, "SecondSubnet": { "Type": "String" }, "ELBType": { "Type": "String" }, "ELBIpAddressType": { "Type": "String" } }, "Resources": { "loadBalancer": { "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer", "Properties": { "SubnetMappings": [ { "AllocationId": { "Fn::GetAtt": [ "FirstEIP", "AllocationId" ] }, "SubnetId": { "Ref": "FirstSubnet" } }, { "AllocationId": { "Fn::GetAtt": [ "SecondEIP", "AllocationId" ] }, "SubnetId": { "Ref": "SecondSubnet" } } ], "Type": { "Ref": "ELBType" }, "IpAddressType": { "Ref": "ELBIpAddressType" } } }, "FirstEIP": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "SecondEIP": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } } } }

YAML

Parameters: FirstSubnet: Type: String SecondSubnet: Type: String ELBType: Type: String ELBIpAddressType: Type: String Resources: loadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: SubnetMappings: - AllocationId: !GetAtt - FirstEIP - AllocationId SubnetId: !Ref FirstSubnet - AllocationId: !GetAtt - SecondEIP - AllocationId SubnetId: !Ref SecondSubnet Type: !Ref ELBType IpAddressType: !Ref ELBIpAddressType FirstEIP: Type: 'AWS::EC2::EIP' Properties: Domain: vpc SecondEIP: Type: 'AWS::EC2::EIP' Properties: Domain: vpc

本页内容: