全部產品
Search
文件中心

:ALIYUN::NLB::LoadBalancer

更新時間:Jun 19, 2024

ALIYUN::NLB::LoadBalancer類型用於建立網路型Server Load Balancer執行個體。

文法

{
  "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版本。

取值:

  • Ipv4

  • DualStack

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的網路地址類型。

取值:

  • Internet:公網。負載平衡具有公網IP地址,DNS網域名稱被解析到公網IP,因此可以在公網環境訪問。

  • Intranet:私網。負載平衡只有私網IP地址,DNS網域名稱被解析到私網IP,因此只能被負載平衡所在VPC的內網環境訪問。

ZoneMappings

List

可用性區域及交換器映射列表。

更多資訊,請參見ZoneMappings屬性

CrossZoneEnabled

Boolean

是否啟用跨地區負載平衡。

取值:

  • true:啟用跨地區。

  • false:未啟用跨地區。

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的類型。

取值:

  • Common:Elastic IP Address,簡稱EIP。

  • Anycast:任播Elastic IP Address,簡稱Anycast EIP。

說明

ALB支援綁定Anycast EIP的地區,請參見ALB綁定Anycast 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個英文或中文字元,必須以大小寫英文字母或中文開頭,可包含數字、半形句號(.)、底線(_)和短劃線(-)。

說明

僅在StatusConsoleProtection時有效且合法。

Status

String

網路型負載平衡修改保護狀態。

取值:

  • NonProtection:不保護,表示不允許傳入保護配置的Reason。如果配置了保護配置的Reason,則清空其配置資訊。

  • ConsoleProtection:控制台修改保護,此時允許傳入保護配置的Reason。

說明

當取值為ConsoleProtection,即開啟修改保護後,使用者不能通過負載平衡控制台修改執行個體配置,但可以通過調用API修改執行個體配置。

Tags文法

"Tags": {
  "Key": String,
  "Value": String
}

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

最多支援128個字元,不能以aliyunacs:開頭,不能包含http://https://

一次調用最多支援添加20個標籤。

Value

String

標籤值。

最多支援128個字元,不能以aliyunacs:開頭,不能包含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"
        ]
      }
    }
  }
}