ALIYUN::ALB::LoadBalancer类型用于创建应用型负载均衡ALB实例。
语法
{
"Type": "ALIYUN::ALB::LoadBalancer",
"Properties": {
"BandwidthPackageId": String,
"LoadBalancerName": String,
"LoadBalancerEdition": String,
"VpcId": String,
"ResourceGroupId": String,
"LoadBalancerBillingConfig": Map,
"AddressType": String,
"AddressAllocatedMode": String,
"ZoneMappings": List,
"DeletionProtectionEnabled": Boolean,
"AddressIpVersion": String,
"ModificationProtectionConfig": Map,
"Tags": List,
"AccessLogConfig": Map,
"SecurityGroupIds": List
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
AddressType | String | 是 | 否 | ALB实例的地址类型。 | 取值:
|
LoadBalancerBillingConfig | Map | 是 | 否 | 计费配置。 | 更多信息,请参见LoadBalancerBillingConfig属性。 |
LoadBalancerEdition | String | 是 | 否 | ALB实例的版本。 | 取值:
|
LoadBalancerName | String | 是 | 是 | ALB实例的名称。 | 长度为1~80个字符。可包含英文字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。 不指定该参数时,默认由系统分配一个实例名称。 |
VpcId | String | 是 | 否 | 专有网络ID。 | 无 |
ZoneMappings | List | 是 | 否 | 可用区及交换机映射列表。 | 您必须至少指定两个可用区。更多信息,请参见ZoneMappings属性。 |
AccessLogConfig | Map | 否 | 是 | 访问日志配置。 | 更多信息,请参见AccessLogConfig属性。 |
AddressAllocatedMode | String | 否 | 否 | 地址模式。 | 取值:
|
AddressIpVersion | String | 否 | 否 | 负载均衡实例的IP版本。 | 取值:
|
BandwidthPackageId | String | 否 | 是 | 绑定的共享带宽包ID。 | 当AddressType取值为Internet时,该参数有效。 |
DeletionProtectionEnabled | Boolean | 否 | 是 | 是否启用删除保护。 | 取值:
|
ModificationProtectionConfig | Map | 否 | 是 | 修改保护的配置。 | 更多信息,请参见ModificationProtectionConfig属性。 |
ResourceGroupId | String | 否 | 是 | 资源组ID。 | 无 |
Tags | List | 否 | 是 | ALB实例的标签。 | 最多支持添加20个标签。 更多信息,请参见Tags属性。 |
SecurityGroupIds | List | 否 | 是 | 应用型负载均衡实例需要绑定的安全组 ID 集合。 | 无 |
AccessLogConfig语法
"AccessLogConfig": {
"Enable": Boolean,
"LogStore": String,
"LogProject": String
}
AccessLogConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
LogProject | String | 是 | 否 | 日志项目。 | 无 |
LogStore | String | 是 | 否 | 日志存储。 | 无 |
Enable | Boolean | 否 | 是 | 是否启用访问日志配置。 | 取值:
|
LoadBalancerBillingConfig语法
"LoadBalancerBillingConfig": {
"PayType": String
}
LoadBalancerBillingConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
PayType | String | 是 | 否 | ALB实例的计费方式。 | 取值:PostPay,表示按量付费。 |
ZoneMappings语法
"ZoneMappings": [
{
"ZoneId": String,
"VSwitchId": String,
"AllocationId": String,
"LoadBalancerAddresses": List
}
]
ZoneMappings属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
VSwitchId | String | 是 | 否 | 交换机ID。 | 每个可用区只能包含一个交换机。 |
ZoneId | String | 是 | 否 | 可用区ID。 | 无 |
AllocationId | String | 否 | 否 | 与ALB实例关联的EIP (elastic IP address) ID。 | 无 |
LoadBalancerAddresses | List | 否 | 否 | 实例地址。 | 更多信息,请参见LoadBalancerAddresses属性。 |
LoadBalancerAddresses语法
"ModificationProtectionConfig": {
"AllocationId": String
}
LoadBalancerAddresses属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
AllocationId | String | 是 | 否 | 与ALB实例关联的EIP (elastic IP address) ID。 | 无 |
ModificationProtectionConfig语法
"ModificationProtectionConfig": {
"Status": String,
"Reason": String
}
ModificationProtectionConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Status | String | 是 | 是 | 修改保护的状态。 | 取值:
|
Reason | String | 否 | 是 | 修改保护的原因。 | 长度为2~128个字符,必须以英文字母或汉字开头,可包含英文字母、汉字、数字、半角句号(.)、下划线(_)和短划线(-)。 说明 当Status取值为ConsoleProtection时,该参数有效。 |
Tags语法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以 |
返回值
Fn::GetAtt
LoadBalancerEdition:ALB实例的版本。
VpcId:专有网络ID。
LoadBalancerId:ALB实例ID。
AddressType:ALB实例的地址类型。
DNSName:ALB实例的域名。
ZoneMappings:可用区及交换机映射列表。
示例
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
ZoneMappings:
Type: Json
Description: The zones and the vSwitches in the zones. You must specify at least two zones.
Default:
- ZoneId: cn-hangzhou-h
VSwitchId: vsw-bp1jhj254nwc7i0ge****
- ZoneId: cn-hangzhou-i
VSwitchId: vsw-bp1llps83qqb30znp****
Resources:
LoadBalancer:
Type: ALIYUN::ALB::LoadBalancer
Properties:
LoadBalancerName: TestLoadBalancer
LoadBalancerEdition: Basic
VpcId:
Ref: VpcId
LoadBalancerBillingConfig:
PayType: PostPay
ZoneMappings:
Ref: ZoneMappings
AddressType: Internet
Outputs:
LoadBalancerEdition:
Description: The edition of the ALB instance.
Value:
Fn::GetAtt:
- LoadBalancer
- LoadBalancerEdition
VpcId:
Description: The ID of the virtual private cloud (VPC) where the ALB instance is deployed.
Value:
Fn::GetAtt:
- LoadBalancer
- VpcId
LoadBalancerId:
Description: The ID of the ALB instance.
Value:
Fn::GetAtt:
- LoadBalancer
- LoadBalancerId
AddressType:
Description: The type of IP address that the ALB instance uses to provide services.
Value:
Fn::GetAtt:
- LoadBalancer
- AddressType
DNSName:
Description: The domain name of the ALB instance.
Value:
Fn::GetAtt:
- LoadBalancer
- DNSName
ZoneMappings:
Description: The zones, vSwitches and addresses which are mapped to the zones.
Value:
Fn::GetAtt:
- LoadBalancer
- ZoneMappings
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"ZoneMappings": {
"Type": "Json",
"Description": "The zones and the vSwitches in the zones. You must specify at least two zones.",
"Default": [
{
"ZoneId": "cn-hangzhou-h",
"VSwitchId": "vsw-bp1jhj254nwc7i0ge****"
},
{
"ZoneId": "cn-hangzhou-i",
"VSwitchId": "vsw-bp1llps83qqb30znp****"
}
]
}
},
"Resources": {
"LoadBalancer": {
"Type": "ALIYUN::ALB::LoadBalancer",
"Properties": {
"LoadBalancerName": "TestLoadBalancer",
"LoadBalancerEdition": "Basic",
"VpcId": {
"Ref": "VpcId"
},
"LoadBalancerBillingConfig": {
"PayType": "PostPay"
},
"ZoneMappings": {
"Ref": "ZoneMappings"
},
"AddressType": "Internet"
}
}
},
"Outputs": {
"LoadBalancerEdition": {
"Description": "The edition of the ALB instance.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"LoadBalancerEdition"
]
}
},
"VpcId": {
"Description": "The ID of the virtual private cloud (VPC) where the ALB instance is deployed.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"VpcId"
]
}
},
"LoadBalancerId": {
"Description": "The ID of the ALB instance.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"LoadBalancerId"
]
}
},
"AddressType": {
"Description": "The type of IP address that the ALB instance uses to provide services.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"AddressType"
]
}
},
"DNSName": {
"Description": "The domain name of the ALB instance.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"DNSName"
]
}
},
"ZoneMappings": {
"Description": "The zones, vSwitches and addresses which are mapped to the zones.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"ZoneMappings"
]
}
}
}
}