全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::NLB::ServerGroup

更新时间:Oct 01, 2025

ALIYUN::NLB::ServerGroup digunakan untuk membuat grup server untuk instance Network Load Balancer (NLB).

Sintaksis

{
  "Type": "ALIYUN::NLB::ServerGroup",
  "Properties": {
    "ResourceGroupId": String,
    "Scheduler": String,
    "AddressIPVersion": String,
    "Servers": List,
    "PreserveClientIpEnabled": Boolean,
    "ServerGroupType": String,
    "PersistenceEnabled": Boolean,
    "ConnectionDrainEnabled": Boolean,
    "ConnectionDrainTimeout": Integer,
    "PersistenceTimeout": Integer,
    "VpcId": String,
    "HealthCheckConfig": Map,
    "Protocol": String,
    "ServerGroupName": String,
    "Tags": List,
    "AnyPortEnabled": Boolean
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

ResourceGroupId

String

Tidak

Tidak

ID grup sumber daya.

Tidak ada.

Scheduler

String

Tidak

Tidak

Algoritma penjadwalan.

Nilai yang valid:

  • Wrr (default): weighted round-robin (WRR). Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan daripada server backend dengan bobot lebih rendah.

  • rr: round-robin (RR). Permintaan diteruskan ke server backend secara berurutan.

  • sch: hashing alamat IP sumber. Permintaan dari alamat IP sumber yang sama diteruskan ke server backend yang sama.

  • tch: hashing konsisten berdasarkan empat faktor. Permintaan yang mengandung informasi yang sama berdasarkan faktor berikut diteruskan ke server backend yang sama: alamat IP sumber, alamat IP tujuan, port sumber, dan port tujuan.

  • qch: Quick UDP Internet Connection (QUIC) ID hashing. Permintaan yang mengandung QUIC ID yang sama diteruskan ke server backend yang sama.

AddressIPVersion

String

Tidak

Tidak

Versi IP.

Nilai yang valid:

  • ipv4 (default): IPv4

  • DualStack: dual stack

Servers

List

Tidak

Tidak

Server.

Untuk informasi lebih lanjut, lihat Properti Servers.

PreserveClientIpEnabled

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan pelestarian IP klien.

Nilai yang valid:

  • true

  • false (default)

ServerGroupType

String

Tidak

Tidak

Tipe grup server.

Nilai yang valid:

  • Instance (default): memungkinkan Anda menambahkan Instance ECS, Instance Edge Node Service (ENS), dan instance kontainer elastis sebagai server backend.

  • Ip: memungkinkan Anda menambahkan server dengan menentukan alamat IP.

PersistenceEnabled

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan persistensi sesi.

Nilai yang valid:

  • true

  • false

ConnectionDrainEnabled

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan pengurasan koneksi.

Nilai yang valid:

  • true

  • false (default)

ConnectionDrainTimeout

Integer

Tidak

Tidak

Periode timeout pengurasan koneksi.

Unit: detik.

Nilai yang valid: 10 hingga 900.

PersistenceTimeout

Integer

Tidak

Tidak

Periode timeout persistensi sesi.

Unit: detik.

Nilai yang valid: 0 hingga 3600.

VpcId

String

Ya

Tidak

ID virtual private cloud (VPC) tempat grup server berada.

Catatan

Ketika Anda mengatur ServerGroupType ke Instance, Anda hanya dapat menambahkan server ke grup server jika server dan grup server berada dalam VPC yang sama.

HealthCheckConfig

Map

Tidak

Tidak

Konfigurasi fitur pemeriksaan kesehatan.

Untuk informasi lebih lanjut, lihat Properti HealthCheckConfig.

Protocol

String

Tidak

Tidak

Protokol backend.

Nilai yang valid:

  • TCP (default)

  • UDP

  • TCPSSL

ServerGroupName

String

Ya

Tidak

Nama grup server.

Nama harus memiliki panjang 2 hingga 128 karakter, dan dapat berisi huruf, angka, titik (.), garis bawah (_), dan tanda hubung (-). Harus dimulai dengan huruf.

AnyPortEnabled

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan penerusan multi-port.

Nilai yang valid:

  • true

  • false

Tags

List

Tidak

Ya

Tag.

Untuk informasi lebih lanjut, lihat Properti Tags.

Sintaksis Servers

"Servers": [
  {
    "ServerType": String,
    "Description": String,
    "ServerId": String,
    "ServerIp": String,
    "Port": Integer,
    "Weight": Integer
  }
]

Properti Servers

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

ServerType

String

Ya

Tidak

Tipe server backend.

Nilai yang valid:

  • Ecs (default): Instance ECS

  • Eni: elastic network interface (ENI)

  • Eci: elastic container instance

  • Ip: alamat IP

Description

String

Tidak

Tidak

Deskripsi server backend.

Tidak ada.

ServerId

String

Ya

Tidak

ID instance yang ingin Anda gunakan sebagai server backend.

Nilai yang valid:

  • ID Instance ECS

  • ID ENI

  • ID instance kontainer elastis

Catatan

Anda harus menentukan ServerType ketika ServerId diatur ke ID ENI atau instance kontainer elastis.

ServerIp

String

Tidak

Tidak

Alamat IP Instance ECS, ENI, atau instance kontainer elastis.

Tidak ada.

Port

Integer

Tidak

Tidak

Port yang ingin Anda gunakan untuk menerima permintaan.

Tidak ada.

Weight

Integer

Tidak

Tidak

Bobot server backend.

Nilai yang valid: 0 hingga 100.

Nilai default: 100.

Sintaksis HealthCheckConfig

"HealthCheckConfig": {
  "HealthCheckInterval": Integer,
  "HealthCheckUrl": String,
  "HealthCheckConnectPort": Integer,
  "UnhealthyThreshold": Integer,
  "HttpCheckMethod": String,
  "HealthyThreshold": Integer,
  "HealthCheckConnectTimeout": Integer,
  "HealthCheckDomain": String,
  "HealthCheckEnabled": Boolean,
  "HealthCheckHttpCode": List,
  "HealthCheckType": String
}

Properti HealthCheckConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

HealthCheckInterval

Integer

Tidak

Tidak

Interval antara dua pemeriksaan kesehatan berturut-turut.

Unit: detik.

Nilai yang valid: 5 hingga 50.

Nilai default: 10.

HealthCheckUrl

String

Tidak

Tidak

Path berdasarkan mana sistem melakukan pemeriksaan kesehatan.

Path harus memiliki panjang 1 hingga 80 karakter, dan hanya dapat berisi huruf, angka, karakter khusus - / . % ? # & =, serta karakter tambahan _ ; ~ ! ( ) * [ ] @ $ ^ : ' , +. Harus dimulai dengan garis miring (/).

Catatan

Properti ini berlaku ketika HealthCheckType diatur ke Http.

HealthCheckConnectPort

Integer

Tidak

Tidak

Port backend yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nilai yang valid: 0 hingga 65535.

Nilai default: 0. Nilai 0 menunjukkan bahwa port server backend digunakan untuk pemeriksaan kesehatan.

UnhealthyThreshold

Integer

Tidak

Tidak

Jumlah kali server backend sehat harus gagal pemeriksaan kesehatan berturut-turut sebelum dinyatakan tidak sehat.

Nilai yang valid: 2 hingga 10.

Nilai default: 2.

HttpCheckMethod

String

Tidak

Tidak

Metode yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nilai yang valid:

  • GET (default)

  • HEAD

Catatan

Properti ini berlaku ketika HealthCheckType diatur ke Http.

HealthyThreshold

Integer

Tidak

Tidak

Jumlah kali server backend tidak sehat harus lulus pemeriksaan kesehatan berturut-turut sebelum dinyatakan sehat.

Nilai yang valid: 2 hingga 10.

Nilai default: 2.

HealthCheckConnectTimeout

Integer

Tidak

Tidak

Periode timeout maksimum untuk respons pemeriksaan kesehatan.

Unit: detik.

Nilai yang valid: 1 hingga 300.

Nilai default: 5.

HealthCheckDomain

String

Tidak

Tidak

Nama domain yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nilai yang valid:

  • $SERVER_IP: alamat IP privat server backend.

  • domain: nama domain yang Anda tentukan. Nama domain harus memiliki panjang 1 hingga 80 karakter, dan hanya dapat berisi huruf kecil, angka, tanda hubung (-), dan titik (.).

Catatan

Properti ini berlaku ketika HealthCheckType diatur ke Http.

HealthCheckEnabled

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan fitur pemeriksaan kesehatan.

Nilai yang valid:

  • true (default)

  • false

HealthCheckHttpCode

List

Tidak

Tidak

Kode status HTTP yang dikembalikan sistem untuk pemeriksaan kesehatan.

Pisahkan beberapa kode status HTTP dengan koma (,).

Nilai yang valid:

  • http_2xx (default)

  • http_3xx

  • http_4xx

  • http_5xx

Catatan

Properti ini berlaku ketika HealthCheckType diatur ke Http.

HealthCheckType

String

Tidak

Tidak

Protokol yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nilai yang valid:

  • Tcp (default)

  • Http

Sintaksis Tags

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

Properti Tags

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

Key

String

Ya

Tidak

Kunci tag.

Tidak ada.

Value

String

Tidak

Tidak

Nilai tag.

Tidak ada.

Nilai Kembali

Fn::GetAtt

ServerGroupId: ID grup server.

Contoh

Berikut adalah contoh pembuatan grup server yang terkait dengan alamat IP tertentu.

ROSTemplateFormatVersion: '2015-09-01'
Description: ''
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
Resources:
  NlbServerGroup:
    Type: ALIYUN::NLB::ServerGroup
    Properties:
      Servers:
        - ServerId: 10.1.1.102
          ServerIp: 10.1.1.102
          Port: 80
          Weight: 100
          ServerType: Ip
      ServerGroupType: Ip
      ServerGroupName: Test
      VpcId:
        Ref: VpcId
      HealthCheckConfig:
        HttpCheckMethod: Get
        HealthCheckEnabled: true
        HealthCheckConnectTimeout: Null
      Protocol: TCP
Outputs: {}

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "",
  "Parameters": {
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    }
  },
  "Resources": {
    "NlbServerGroup": {
      "Type": "ALIYUN::NLB::ServerGroup",
      "Properties": {
        "Servers": [
          {
            "ServerId": "10.1.1.102",
            "ServerIp": "10.1.1.102",
            "Port": 80,
            "Weight": 100,
            "ServerType": "Ip"
          }
        ],
        "ServerGroupType": "Ip",
        "ServerGroupName": "Test",
        "VpcId": {
          "Ref": "VpcId"
        },
        "HealthCheckConfig": {
          "HttpCheckMethod": "Get",
          "HealthCheckEnabled": true,
          "HealthCheckConnectTimeout": null
        },
        "Protocol": "TCP"
      }
    }
  },
  "Outputs": {
  }
}