文法
{
"Type": "ALIYUN::NLB::LoadBalancer",
"Properties": {
"LoadBalancerName": String,
"AddressIpVersion": String,
"ResourceGroupId": String,
"VpcId": String,
"LoadBalancerBillingConfig": Map,
"TrafficAffinityEnabled": Boolean,
"BandwidthPackageId": String,
"AddressType": String,
"ZoneMappings": List,
"CrossZoneEnabled": Boolean,
"LoadBalancerType": String,
"DeletionProtectionConfig": Map,
"ModificationProtectionConfig": Map,
"Tags": List
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
LoadBalancerName | String | 否 | 是 | Server Load Balancer執行個體的名稱。 | 無 |
AddressIpVersion | String | 否 | 否 | Server Load Balancer執行個體的IP版本。 | 取值: |
ResourceGroupId | String | 否 | 否 | 資源群組ID。 | 無 |
VpcId | String | 是 | 否 | Server Load Balancer執行個體的所屬VPC ID。 | 無 |
LoadBalancerBillingConfig | Map | 否 | 否 | Server Load Balancer執行個體的計費配置。 | 更多資訊,請參見LoadBalancerBillingConfig屬性。 |
TrafficAffinityEnabled | Boolean | 否 | 是 | 是否啟用流量相關性。 | 取值: true:啟用流量相關性。 false:未啟用流量相關性。
|
BandwidthPackageId | String | 否 | 是 | 公網類型執行個體關聯的共用頻寬包ID。 | 無 |
AddressType | String | 是 | 是 | 負載平衡IPv4的網路地址類型。 | 取值: |
ZoneMappings | List | 是 | 否 | 可用性區域及交換器映射列表。 | 更多資訊,請參見ZoneMappings屬性。 |
CrossZoneEnabled | Boolean | 否 | 是 | 是否啟用跨地區負載平衡。 | 取值: |
LoadBalancerType | String | 否 | 否 | Server Load Balancer執行個體類型。 | 無 |
DeletionProtectionConfig | Map | 否 | 是 | 刪除保護配置。 | 更多資訊,請參見DeletionProtectionConfig屬性。 |
ModificationProtectionConfig | Map | 否 | 是 | 修改保護配置。 | 更多資訊,請參見ModificationProtectionConfig屬性。 |
Tags | List | 否 | 是 | 標籤列表。 | 更多資訊,請參見Tags屬性。 |
LoadBalancerBillingConfig文法
"LoadBalancerBillingConfig": {
"PayType": String
}
LoadBalancerBillingConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
PayType | String | 否 | 否 | 執行個體的計費類型。 | 取值: PayAsYouGo PostPaid PayOnDemand Postpaid PostPay
|
ZoneMappings文法
"ZoneMappings": [
{
"ZoneId": String,
"VSwitchId": String,
"AllocationId": String,
"PrivateIPv4Address": String,
"LoadBalancerAddresses": List
}
]
ZoneMappings屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ZoneId | String | 是 | 否 | Server Load Balancer執行個體的可用性區域ID。 | 您可以通過調用DescribeZones介面擷取可用性區域ID對應的可用性區域的資訊。 |
VSwitchId | String | 是 | 否 | 可用性區域對應的交換器。 | 每個可用性區域只能使用一台交換器。 |
AllocationId | String | 否 | 否 | Elastic IP Address的執行個體ID。 | 無 |
PrivateIPv4Address | String | 否 | 否 | IPv4地址。 | 無 |
LoadBalancerAddresses | List | 否 | 否 | 負載平衡器地址。 | 此屬性的優先順序高於ZoneMappings中的AllocationId和EipType。更多資訊,請參見LoadBalancerAddresses屬性。 |
EipType | String | 否 | 否 | 公網EIP的類型。 | 取值: |
LoadBalancerAddresses文法
"LoadBalancerAddresses": {
"AllocationId": String,
"PrivateIPv4Address": String
}
LoadBalancerAddresses屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
AllocationId | String | 是 | 否 | Elastic IP Address的執行個體ID。 | 無 |
PrivateIPv4Address | String | 否 | 否 | IPv4地址。 | 無 |
DeletionProtectionConfig文法
"DeletionProtectionConfig": {
"Enabled": String,
"Reason": String
}
DeletionProtectionConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Enabled | String | 是 | 是 | 刪除保護狀態。 | 取值: true:開啟狀態。 false(預設值):關閉狀態。
|
Reason | String | 否 | 是 | 更改刪除保護狀態的原因。 | 長度為2~128個英文或中文字元,必須以大小寫英文字母或中文開頭,可包含數字、半形句號(.)、底線(_)和短劃線(-)。 |
ModificationProtectionConfig文法
"ModificationProtectionConfig": {
"Reason": String,
"Status": String
}
ModificationProtectionConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Reason | String | 否 | 是 | 輸入開啟修改保護的原因。 | 長度為2~128個英文或中文字元,必須以大小寫英文字母或中文開頭,可包含數字、半形句號(.)、底線(_)和短劃線(-)。
說明 僅在Status為ConsoleProtection時有效且合法。 |
Status | String | 是 | 是 | 網路型負載平衡修改保護狀態。 | 取值:
說明 當取值為ConsoleProtection,即開啟修改保護後,使用者不能通過負載平衡控制台修改執行個體配置,但可以通過調用API修改執行個體配置。 |
Tags文法
"Tags": {
"Key": String,
"Value": String
}
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Key | String | 是 | 否 | 標籤鍵。 | 最多支援128個字元,不能以aliyun 或acs: 開頭,不能包含http:// 或https:// 。 一次調用最多支援添加20個標籤。 |
Value | String | 否 | 否 | 標籤值。 | 最多支援128個字元,不能以aliyun 或acs: 開頭,不能包含http:// 或https:// 。 一次調用最多支援添加20個標籤。 |
傳回值
Fn::GetAtt
AddressIpVersion:Server Load Balancer執行個體的IP版本。
VpcId:Server Load Balancer執行個體的所屬的VPC ID。
LoadBalancerId:Server Load Balancer執行個體的ID。
AddressType:負載平衡IPv4的網路地址類型。
DNSName:DNS網域名稱。
ZoneMappings:可用性區域及交換器映射列表。
LoadBalancerType:Server Load Balancer執行個體類型。
樣本
YAML格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcId:
Type: String
Description: The ID of the virtual private cloud (VPC) where the NLB instance is deployed.
AddressType:
Type: String
Description: |-
The type of IP address that the NLB instance uses to provide services. Valid values:
Internet: The NLB instance uses a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
Intranet: The NLB instance uses a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the VPC where the NLB instance is deployed.
AllowedValues:
- Internet
- Intranet
ZoneMappings:
Type: Json
Description: The zones and the vSwitches in the zones. You must specify at least two zones.
MinLength: 2
MaxLength: 3
Resources:
LoadBalancer:
Type: ALIYUN::NLB::LoadBalancer
Properties:
VpcId:
Ref: VpcId
AddressType:
Ref: AddressType
ZoneMappings:
Ref: ZoneMappings
Outputs:
AddressIpVersion:
Description: The version of IP address that the NLB instance uses to provide services.
Value:
Fn::GetAtt:
- LoadBalancer
- AddressIpVersion
VpcId:
Description: The ID of the virtual private cloud (VPC) where the NLB instance is deployed.
Value:
Fn::GetAtt:
- LoadBalancer
- VpcId
LoadBalancerId:
Description: The ID of the NLB instance.
Value:
Fn::GetAtt:
- LoadBalancer
- LoadBalancerId
AddressType:
Description: The type of IP address that the NLB instance uses to provide services.
Value:
Fn::GetAtt:
- LoadBalancer
- AddressType
DNSName:
Description: The domain name of the NLB instance.
Value:
Fn::GetAtt:
- LoadBalancer
- DNSName
ZoneMappings:
Description: The zones, vSwitches and addresses which are mapped to the zones.
Value:
Fn::GetAtt:
- LoadBalancer
- ZoneMappings
LoadBalancerType:
Description: The type of the NLB instance.
Value:
Fn::GetAtt:
- LoadBalancer
- LoadBalancerType
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"Description": "The ID of the virtual private cloud (VPC) where the NLB instance is deployed."
},
"AddressType": {
"Type": "String",
"Description": "The type of IP address that the NLB instance uses to provide services. Valid values:\nInternet: The NLB instance uses a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.\nIntranet: The NLB instance uses a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the VPC where the NLB instance is deployed.",
"AllowedValues": [
"Internet",
"Intranet"
]
},
"ZoneMappings": {
"Type": "Json",
"Description": "The zones and the vSwitches in the zones. You must specify at least two zones.",
"MinLength": 2,
"MaxLength": 3
}
},
"Resources": {
"LoadBalancer": {
"Type": "ALIYUN::NLB::LoadBalancer",
"Properties": {
"VpcId": {
"Ref": "VpcId"
},
"AddressType": {
"Ref": "AddressType"
},
"ZoneMappings": {
"Ref": "ZoneMappings"
}
}
}
},
"Outputs": {
"AddressIpVersion": {
"Description": "The version of IP address that the NLB instance uses to provide services.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"AddressIpVersion"
]
}
},
"VpcId": {
"Description": "The ID of the virtual private cloud (VPC) where the NLB instance is deployed.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"VpcId"
]
}
},
"LoadBalancerId": {
"Description": "The ID of the NLB instance.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"LoadBalancerId"
]
}
},
"AddressType": {
"Description": "The type of IP address that the NLB instance uses to provide services.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"AddressType"
]
}
},
"DNSName": {
"Description": "The domain name of the NLB instance.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"DNSName"
]
}
},
"ZoneMappings": {
"Description": "The zones, vSwitches and addresses which are mapped to the zones.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"ZoneMappings"
]
}
},
"LoadBalancerType": {
"Description": "The type of the NLB instance.",
"Value": {
"Fn::GetAtt": [
"LoadBalancer",
"LoadBalancerType"
]
}
}
}
}