ALIYUN::PrivateLink::VpcEndpointService类型用于创建终端节点服务。

语法

{
  "Type": "ALIYUN::PrivateLink::VpcEndpointService",
  "Properties": {
    "User": List,
    "ServiceDescription": String,
    "Resource": List,
    "ConnectBandwidth": Integer,
    "AutoAcceptEnabled": Boolean,
    "Payer": String,
    "ZoneAffinityEnabled": Boolean,
    "ServiceResourceType": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
User List 终端节点服务的白名单。 白名单中最多支持添加20个阿里云账号。
ServiceDescription String 终端节点服务的描述信息。 长度为2~256个字符,以英文字母或汉字开头,可包含英文字母、汉字、数字、下划线(_)和短划线(-)。
Resource List 添加到终端节点服务中的服务资源。 最多支持添加20个服务资源。

更多信息,请参见Resource属性

ConnectBandwidth Integer 默认连接带宽峰值。 取值范围:100~1024。

单位:Mbps。

AutoAcceptEnabled Boolean 是否自动接受终端节点连接。 取值:
  • true:自动接受终端节点连接。
  • false(默认值):不自动接受终端节点连接。
Payer String 付费方。 取值:
  • Endpoint:服务使用方。
  • EndpointService:服务提供方。
ZoneAffinityEnabled Boolean 是否支持可用区就近解析。 取值:
  • true:支持。
  • false(默认值):不支持。
ServiceResourceType String 服务资源类型。 取值:slb ,表示服务资源类型为SLB(传统型负载均衡CLB)。

Resource语法

"Resource": [
  {
    "ZoneId": String,
    "ResourceId": String,
    "ResourceType": String
  }
]

Resource属性

属性名称 类型 必须 允许更新 描述 约束
ZoneId String 服务资源所属的可用区。
ResourceId String 添加到终端节点服务中的服务资源。
ResourceType String 添加到终端节点服务中的服务资源的类型。 取值:slb,表示专有网络类型且具备PrivateLink功能的负载均衡实例。
说明 目前仅支持专有网络类型且具备PrivateLink功能的负载均衡实例作为终端节点服务的服务资源。

返回值

Fn::GetAtt

  • ServiceName:终端节点服务的名称。
  • ServiceDomain:终端节点服务的服务域名。
  • ServiceId:终端节点服务的ID。
  • ServiceDescription:终端节点服务的描述信息。
  • MinBandwidth:端点连接的最小带宽。
  • MaxBandwidth:端点连接的最大带宽。

示例

  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "MasterZoneId": {
          "Type": "String",
          "Description": "The master zone id to create load balancer instance.",
          "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
        },
        "SlaveZoneId": {
          "Type": "String",
          "Description": "The slave zone id to create load balancer instance.",
          "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
        },
        "VpcId": {
          "Type": "String",
          "Description": "The VPC id to create load balancer instance. For VPC network only.",
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
        },
        "VSwitchId": {
          "Type": "String",
          "Description": "The VSwitch id to create load balancer instance. For VPC network only.",
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "VpcId": "VpcId",
            "ZoneId": "MasterZoneId"
          }
        },
        "SecurityGroupId": {
          "Type": "CommaDelimitedList",
          "Description": "The security group associated with the endpoint network interface. The security group can control the data communication from the VPC to the endpoint network interface.",
          "MinLength": 1,
          "MaxLength": 10
        },
        "LoadBalancerSpec": {
          "Type": "String",
          "Description": "The specification of the Server Load Balancer instance. Allowed value: slb.s1.small|slb.s2.small|slb.s2.medium|slb.s3.small|slb.s3.medium|slb.s3.large|slb.s3.xlarge|slb.s3.xxlarge. Default value: slb.s1.small. The supported performance specification in each region is different, two specifications are supported in the US East 1 region. If the region does not support the performance-guaranteed instances, the value will not take effect.",
          "Default": "slb.s1.small"
        },
        "LoadBalancerName": {
          "Type": "String",
          "Description": "Name of created load balancer. Length is limited to 1-80 characters, allowed to contain letters, numbers, '-, /, _,.' When not specified, a default name will be assigned.",
          "Default": "mytest"
        },
        "User": {
          "Type": "Json",
          "Description": "Account IDs to the whitelist of an endpoint service.",
          "MinLength": 1,
          "MaxLength": 20,
          "Default": null
        },
        "ServiceDescription": {
          "Type": "String",
          "Description": "The description for the endpoint service.",
          "MinLength": 2,
          "MaxLength": 256,
          "Default": "test service endpoint"
        },
        "ConnectBandwidth": {
          "Type": "Number",
          "Description": "The default maximum bandwidth of the endpoint connection. Valid values: 100 to 1024. Unit: Mbit/s.",
          "MinValue": 100,
          "MaxValue": 1024,
          "Default": 100
        },
        "AutoAcceptEnabled": {
          "Type": "Boolean",
          "Description": "Specifies whether to automatically accept endpoint connection requests. Valid values:\ntrue: automatically accepts endpoint connection requests.\nfalse: does not automatically accept endpoint connection requests.",
          "AllowedValues": [
            true,
            false
          ],
          "Default": true
        },
        "EndpointName": {
          "Type": "String",
          "Description": "The name of the endpoint.\nThe name must be 2 to 128 characters in length and can contain digits, underscores\n(_), and hyphens (-). The name must start with a letter.",
          "MinLength": 2,
          "MaxLength": 128,
          "Default": "mytest"
        }
      },
      "Resources": {
        "LoadBalancer": {
          "Type": "ALIYUN::SLB::LoadBalancer",
          "Properties": {
            "SupportPrivateLink": true,
            "PayType": "PayOnDemand",
            "VpcId": {
              "Ref": "VpcId"
            },
            "VSwitchId": {
              "Ref": "VSwitchId"
            },
            "LoadBalancerSpec": {
              "Ref": "LoadBalancerSpec"
            },
            "LoadBalancerName": {
              "Ref": "LoadBalancerName"
            },
            "AddressType": "intranet",
            "MasterZoneId": {
              "Ref": "MasterZoneId"
            },
            "SlaveZoneId": {
              "Ref": "SlaveZoneId"
            }
          }
        },
        "VpcEndpointService": {
          "DependsOn": "LoadBalancer",
          "Type": "ALIYUN::PrivateLink::VpcEndpointService",
          "Properties": {
            "User": {
              "Ref": "User"
            },
            "ServiceDescription": {
              "Ref": "ServiceDescription"
            },
            "Resource": [
              {
                "ZoneId": {
                  "Ref": "MasterZoneId"
                },
                "ResourceId": {
                  "Ref": "LoadBalancer"
                },
                "ResourceType": "slb"
              }
            ],
            "ConnectBandwidth": {
              "Ref": "ConnectBandwidth"
            },
            "AutoAcceptEnabled": {
              "Ref": "AutoAcceptEnabled"
            }
          }
        }
      },
      "Outputs": {
        "ServiceName": {
          "Description": "The name of the endpoint service.",
          "Value": {
            "Fn::GetAtt": [
              "VpcEndpointService",
              "ServiceName"
            ]
          }
        },
        "ServiceDomain": {
          "Description": "The domain name of the endpoint service.",
          "Value": {
            "Fn::GetAtt": [
              "VpcEndpointService",
              "ServiceDomain"
            ]
          }
        },
        "ServiceId": {
          "Description": "The ID of the endpoint service.",
          "Value": {
            "Fn::GetAtt": [
              "VpcEndpointService",
              "ServiceId"
            ]
          }
        }
      }
    }
  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      MasterZoneId:
        Type: String
        Description: The master zone id to create load balancer instance.
        AssociationProperty: ALIYUN::ECS::Instance::ZoneId
      SlaveZoneId:
        Type: String
        Description: The slave zone id to create load balancer instance.
        AssociationProperty: ALIYUN::ECS::Instance::ZoneId
      VpcId:
        Type: String
        Description: The VPC id to create load balancer instance. For VPC network only.
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      VSwitchId:
        Type: String
        Description: The VSwitch id to create load balancer instance. For VPC network only.
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          VpcId: VpcId
          ZoneId: MasterZoneId
      SecurityGroupId:
        Type: CommaDelimitedList
        Description: The security group associated with the endpoint network interface. The security group can control the data communication from the VPC to the endpoint network interface.
        MinLength: 1
        MaxLength: 10
      LoadBalancerSpec:
        Type: String
        Description: 'The specification of the Server Load Balancer instance. Allowed value: slb.s1.small|slb.s2.small|slb.s2.medium|slb.s3.small|slb.s3.medium|slb.s3.large|slb.s3.xlarge|slb.s3.xxlarge. Default value: slb.s1.small. The supported performance specification in each region is different, two specifications are supported in the US East 1 region. If the region does not support the performance-guaranteed instances, the value will not take effect.'
        Default: slb.s1.small
      LoadBalancerName:
        Type: String
        Description: Name of created load balancer. Length is limited to 1-80 characters, allowed to contain letters, numbers, '-, /, _,.' When not specified, a default name will be assigned.
        Default: mytest
      User:
        Type: Json
        Description: Account IDs to the whitelist of an endpoint service.
        MinLength: 1
        MaxLength: 20
        Default: Null
      ServiceDescription:
        Type: String
        Description: The description for the endpoint service.
        MinLength: 2
        MaxLength: 256
        Default: test service endpoint
      ConnectBandwidth:
        Type: Number
        Description: 'The default maximum bandwidth of the endpoint connection. Valid values: 100 to 1024. Unit: Mbit/s.'
        MinValue: 100
        MaxValue: 1024
        Default: 100
      AutoAcceptEnabled:
        Type: Boolean
        Description: |-
          Specifies whether to automatically accept endpoint connection requests. Valid values:
          true: automatically accepts endpoint connection requests.
          false: does not automatically accept endpoint connection requests.
        AllowedValues:
          - true
          - false
        Default: true
      EndpointName:
        Type: String
        Description: |-
          The name of the endpoint.
          The name must be 2 to 128 characters in length and can contain digits, underscores
          (_), and hyphens (-). The name must start with a letter.
        MinLength: 2
        MaxLength: 128
        Default: mytest
    Resources:
      LoadBalancer:
        Type: ALIYUN::SLB::LoadBalancer
        Properties:
          SupportPrivateLink: true
          PayType: PayOnDemand
          VpcId:
            Ref: VpcId
          VSwitchId:
            Ref: VSwitchId
          LoadBalancerSpec:
            Ref: LoadBalancerSpec
          LoadBalancerName:
            Ref: LoadBalancerName
          AddressType: intranet
          MasterZoneId:
            Ref: MasterZoneId
          SlaveZoneId:
            Ref: SlaveZoneId
      VpcEndpointService:
        DependsOn: LoadBalancer
        Type: ALIYUN::PrivateLink::VpcEndpointService
        Properties:
          User:
            Ref: User
          ServiceDescription:
            Ref: ServiceDescription
          Resource:
            - ZoneId:
                Ref: MasterZoneId
              ResourceId:
                Ref: LoadBalancer
              ResourceType: slb
          ConnectBandwidth:
            Ref: ConnectBandwidth
          AutoAcceptEnabled:
            Ref: AutoAcceptEnabled
    Outputs:
      ServiceName:
        Description: The name of the endpoint service.
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceName
      ServiceDomain:
        Description: The domain name of the endpoint service.
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceDomain
      ServiceId:
        Description: The ID of the endpoint service.
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceId