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 | 否 | 否 | Server Load Balancer執行個體的IP版本。 | 取值:
|
BandwidthPackageId | String | 否 | 是 | 綁定的共用頻寬包ID。 | 當AddressType取值為Internet時,該參數有效。 |
DeletionProtectionEnabled | Boolean | 否 | 是 | 是否啟用刪除保護。 | 取值:
|
ModificationProtectionConfig | Map | 否 | 是 | 修改保護的配置。 | 更多資訊,請參見ModificationProtectionConfig屬性。 |
ResourceGroupId | String | 否 | 是 | 資源群組ID。 | 無 |
Tags | List | 否 | 是 | ALB執行個體的標籤。 | 最多支援添加20個標籤。 更多資訊,請參見Tags屬性。 |
SecurityGroupIds | List | 否 | 是 | 應用型Server Load Balancer執行個體需要綁定的安全性群組 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,
"IntranetAddress": String,
"EipType": String
}
]
ZoneMappings屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
VSwitchId | String | 是 | 否 | 交換器ID。 | 每個可用性區域只能包含一個交換器。 |
ZoneId | String | 是 | 否 | 可用性區域ID。 | 無 |
AllocationId | String | 否 | 否 | 與ALB執行個體關聯的EIP (elastic IP address) ID。 | 無 |
LoadBalancerAddresses | List | 否 | 否 | 執行個體地址。 | 更多資訊,請參見LoadBalancerAddresses屬性。 |
IntranetAddress | String | 否 | 否 | IPv4 私網地址。 | 無 |
EipType | String | 否 | 否 | 公網 EIP 的類型。 | 取值:
說明 ALB 支援綁定 Anycast EIP 的地區,請參見ALB綁定Anycast EIP實現多地區業務就近接入。 |
LoadBalancerAddresses文法
"ModificationProtectionConfig": {
"AllocationId": String,
"IntranetAddress": String,
"EipType": String
}
LoadBalancerAddresses屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
AllocationId | String | 是 | 否 | 與ALB執行個體關聯的EIP (elastic IP address) ID。 | 無 |
IntranetAddress | String | 否 | 否 | IPv4 私網地址。 | 無 |
EipType | String | 否 | 否 | 公網 EIP 的類型。 | 取值:
說明 ALB 支援綁定 Anycast EIP 的地區,請參見ALB綁定Anycast EIP實現多地區業務就近接入。 |
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"
]
}
}
}
}