全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::ALB::ServerGroup

更新时间:Jun 26, 2025

ALIYUN::ALB::ServerGroup digunakan untuk membuat grup server.

Sintaks

{
  "Type": "ALIYUN::ALB::ServerGroup",
  "Properties": {
    "VpcId": String,
    "ResourceGroupId": String,
    "Scheduler": String,
    "StickySessionConfig": Map,
    "HealthCheckConfig": Map,
    "Protocol": String,
    "ServerGroupType": String,
    "ServerGroupName": String,
    "Tags": List,
    "ServiceName": String,
    "UpstreamKeepaliveEnabled": Boolean,
    "SlowStartConfig": Map,
    "ConnectionDrainConfig": Map,
    "UchConfig": Map,
    "CrossZoneEnabled": Boolean,
    "Ipv6Enabled": Boolean
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

HealthCheckConfig

Map

Ya

Ya

Konfigurasi pemeriksaan kesehatan.

Untuk informasi lebih lanjut, lihat Properti HealthCheckConfig.

ServerGroupName

String

Ya

Ya

Nama grup server.

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

VpcId

String

Tidak

Tidak

ID virtual private cloud (VPC).

Anda hanya dapat menambahkan server yang ditempatkan di VPC ke grup server.

Protocol

String

Tidak

Tidak

Protokol backend.

Nilai valid:

  • HTTP (default): memungkinkan Anda mengaitkan listener HTTPS, HTTP, atau Quick UDP Internet Connections (QUIC) dengan grup server.

  • HTTPS: memungkinkan Anda mengaitkan listener HTTPS dengan grup server.

  • gRPC: memungkinkan Anda mengaitkan listener HTTPS atau QUIC dengan grup server.

Catatan

Anda harus mengatur Protocol ke HTTP ketika ServerGroupType diatur ke Fc.

ResourceGroupId

String

Tidak

Ya

ID grup sumber daya.

Tidak ada.

Scheduler

String

Tidak

Ya

Algoritma penjadwalan.

Nilai valid:

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

  • Wlc: least connections berbobot. Permintaan didistribusikan berdasarkan bobot dan jumlah koneksi ke server backend. Jika beberapa server backend memiliki bobot yang sama, server backend dengan koneksi paling sedikit menerima lebih banyak permintaan.

  • Sch: hashing konsisten berdasarkan alamat IP sumber.

ServerGroupType

String

Tidak

Tidak

Tipe grup server.

Nilai valid:

  • Instance (default): server.

  • Ip: alamat IP.

  • Fc: fungsi Function Compute.

ServiceName

String

Tidak

Ya

Nama layanan Kubernetes yang sesuai dengan grup server.

Catatan

Properti ini hanya berlaku untuk skenario di mana Application Load Balancer (ALB) Ingresses digunakan.

StickySessionConfig

Map

Tidak

Ya

Konfigurasi persistensi sesi.

Untuk informasi lebih lanjut, lihat Properti StickySessionConfig.

Tags

List

Tidak

Ya

Tag.

Anda dapat menambahkan hingga 20 tag.

Untuk informasi lebih lanjut, lihat Properti Tags.

UpstreamKeepaliveEnabled

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan koneksi TCP persisten.

  • true

  • false (default)

SlowStartConfig

Map

Tidak

Ya

Konfigurasi mulai lambat.

Setelah mulai lambat diaktifkan, ALB melakukan pra-pengambilan data ke server backend baru. Permintaan yang didistribusikan ke server backend secara bertahap meningkat.

Untuk informasi lebih lanjut, lihat bagian "Properti SlowStartConfig" dari topik ini.

Catatan
  • Anda dapat mengaktifkan mulai lambat untuk instance ALB Standar dan Web Application Firewall (WAF)-enabled tetapi tidak untuk instance ALB Dasar.

  • Mulai lambat didukung oleh grup server tipe Instance dan Ip tetapi tidak oleh grup server tipe Fc.

  • Anda hanya dapat mengaktifkan mulai lambat ketika algoritma penjadwalan round-robin berbobot digunakan untuk server backend.

ConnectionDrainConfig

Map

Tidak

Ya

Konfigurasi pengurasan koneksi.

Setelah pengurasan koneksi diaktifkan, ALB mempertahankan transmisi data selama periode waktu tertentu setelah server backend dihapus atau dinyatakan tidak sehat.

Catatan

Anda dapat mengaktifkan pengurasan koneksi untuk instance ALB Standar dan WAF-enabled tetapi tidak untuk instance ALB Dasar.

Pengurasan koneksi didukung oleh grup server tipe Instance dan Ip tetapi tidak oleh grup server tipe Fc.

UchConfig

Map

Tidak

Ya

Konfigurasi parameter hashing konsisten berdasarkan URL.

Untuk informasi lebih lanjut, lihat bagian "Properti UchConfig" dari topik ini.

CrossZoneEnabled

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan load balancing lintas zona untuk grup server.

Nilai valid:

  • true (default)

  • false

Catatan
  • Grup server yang memiliki load balancing lintas zona dinonaktifkan didukung oleh instance ALB Standar dan WAF-enabled tetapi tidak oleh instance ALB Dasar.

  • Anda dapat menonaktifkan load balancing lintas zona untuk grup server tipe Instance dan Ip tetapi tidak untuk grup server tipe Fc.

  • Anda tidak dapat mengaktifkan persistensi sesi ketika load balancing lintas zona dinonaktifkan.

Ipv6Enabled

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan Ipv6.

Tidak ada.

Sintaks UchConfig

"UchConfig": {
  "Type": String,
  "Value": String
}

Properti UchConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Type

String

Ya

Tidak

Tipe parameter.

Atur nilainya menjadi QueryString.

Value

String

Ya

Tidak

Nilai parameter yang digunakan untuk hashing konsisten.

Tidak ada.

Sintaks ConnectionDrainConfig

"ConnectionDrainConfig": {
  "ConnectionDrainTimeout": Integer,
  "ConnectionDrainEnabled": Boolean
}

Properti ConnectionDrainConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ConnectionDrainTimeout

Integer

Ya

Ya

Periode timeout pengurasan koneksi.

Nilai valid: 0 hingga 900.

Nilai default: 300.

ConnectionDrainEnabled

Boolean

Ya

Ya

Menentukan apakah akan mengaktifkan pengurasan koneksi.

Nilai valid:

  • true

  • false

Sintaks SlowStartConfig

"SlowStartConfig": {
  "SlowStartDuration": Integer,
  "SlowStartEnabled": Boolean
}

Properti SlowStartConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

SlowStartDuration

Integer

Ya

Ya

Durasi mulai lambat.

Nilai valid: 30 hingga 900.

Nilai default: 30.

SlowStartEnabled

Boolean

Ya

Ya

Menentukan apakah akan mengaktifkan mulai lambat.

Nilai valid:

  • true

  • Salah

Sintaks StickySessionConfig

"StickySessionConfig": {
  "Cookie": String,
  "CookieTimeout": Integer,
  "StickySessionType": String,
  "StickySessionEnabled": Boolean
}

Properti StickySessionConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Cookie

String

Tidak

Ya

Cookie yang ingin Anda konfigurasikan untuk server.

Cookie harus memiliki panjang 1 hingga 200 karakter, dan tidak dapat dimulai dengan tanda dolar ($). Cookie dapat berisi huruf dan angka dan tidak boleh mengandung koma (,), titik koma (;), atau spasi.

Catatan

Properti ini harus ditentukan ketika StickySessionEnabled diatur ke true dan StickySessionType diatur ke Server.

CookieTimeout

Integer

Tidak

Ya

Periode timeout cookie.

Nilai valid: 1 hingga 86400.

Nilai default: 1000.

Unit: detik.

Catatan

Properti ini harus ditentukan ketika StickySessionEnabled diatur ke true dan StickySessionType diatur ke Insert.

StickySessionEnabled

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan persistensi sesi.

Nilai valid:

  • true

  • false

Catatan

Properti ini harus ditentukan ketika ServerGroupType diatur ke Instance atau Ip.

StickySessionType

String

Tidak

Ya

Metode penanganan cookie.

Nilai valid:

  • Insert (default): menyisipkan cookie. ALB menyisipkan cookie SERVERID ke dalam paket respons HTTP atau HTTPS pertama yang dikirim ke klien. Permintaan berikutnya dari klien membawa cookie tersebut, dan ALB meneruskan permintaan ini ke server backend yang terkait dengan ALB.

  • Server: menulis ulang cookie. Ketika ALB mendeteksi cookie yang ditentukan pengguna, ALB menggunakan cookie tersebut untuk menimpa cookie asli. Permintaan berikutnya dari klien membawa cookie yang ditentukan pengguna, dan ALB meneruskan permintaan ini ke server backend yang terkait dengan ALB.

Catatan

Properti ini harus ditentukan ketika StickySessionEnabled diatur ke true.

Sintaks HealthCheckConfig

"HealthCheckConfig": {
  "HealthCheckInterval": Integer,
  "HealthCheckConnectPort": Integer,
  "HealthCheckCodes": List,
  "UnhealthyThreshold": Integer,
  "HealthCheckMethod": String,
  "HealthCheckPath": String,
  "HealthCheckHost": String,
  "HealthyThreshold": Integer,
  "HealthCheckProtocol": String,
  "HealthCheckHttpVersion": String,
  "HealthCheckEnabled": Boolean,
  "HealthCheckTimeout": Integer
}

Properti HealthCheckConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

HealthCheckEnabled

Boolean

Ya

Ya

Menentukan apakah akan mengaktifkan pemeriksaan kesehatan.

Nilai valid:

  • true

  • false

HealthCheckCodes

List

Tidak

Ya

Kode status untuk pemeriksaan kesehatan.

Nilai valid:

  • http_2xx. Ini adalah nilai default HealthCheckCodes ketika HealthCheckProtocol tidak diatur ke gRPC.

  • http_3xx.

  • http_4xx.

  • http_5xx.

  • 0 hingga 99: Ketika HealthCheckProtocol diatur ke gRPC, nilai valid HealthCheckCodes adalah 0 hingga 99, dan nilai defaultnya adalah 0. Rentang nilai didukung. Anda dapat menentukan hingga 20 rentang nilai. Pisahkan beberapa rentang nilai dengan koma (,).

Catatan

HealthCheckCodes berlaku ketika HealthCheckProtocol diatur ke HTTP, HTTPS, atau gRPC.

HealthCheckConnectPort

Integer

Tidak

Ya

Port yang ingin Anda gunakan untuk pemeriksaan kesehatan pada server backend.

Nilai valid: 0 hingga 65535.

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

HealthCheckHost

String

Tidak

Ya

Nama domain yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nama domain harus memiliki panjang 1 hingga 80 karakter, dan dapat berisi huruf kecil, angka, tanda hubung (-), dan titik (.).

Contoh: www.example.com.

Catatan

Properti ini berlaku ketika HealthCheckProtocol diatur ke HTTP.

HealthCheckHttpVersion

String

Tidak

Ya

Versi HTTP yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nilai valid:

  • HTTP1.0

  • HTTP1.1 (default)

Catatan

Properti ini berlaku ketika HealthCheckProtocol diatur ke HTTP.

HealthCheckInterval

Integer

Tidak

Ya

Interval antara dua pemeriksaan kesehatan berturut-turut.

Nilai valid: 1 hingga 50.

Nilai default: 2.

Unit: detik.

HealthCheckMethod

String

Tidak

Ya

Metode pemeriksaan kesehatan.

Nilai valid:

  • GET.

  • HEAD (default).

  • POST: Secara default, pemeriksaan kesehatan gRPC menggunakan metode POST.

Catatan

HealthCheckMethod hanya berlaku ketika HealthCheckProtocol diatur ke HTTP, HTTPS, atau gRPC.

HealthCheckPath

String

Tidak

Ya

Path yang ingin Anda gunakan untuk pemeriksaan kesehatan.

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

Catatan

Properti ini berlaku ketika HealthCheckProtocol diatur ke HTTP.

HealthCheckProtocol

String

Tidak

Ya

Protokol yang ingin Anda gunakan untuk pemeriksaan kesehatan.

Nilai valid:

  • HTTP: Pemeriksaan kesehatan HTTP mensimulasikan perilaku browser dengan mengirimkan permintaan HEAD atau GET untuk memeriksa ketersediaan server backend.

  • HTTPS: Pemeriksaan kesehatan HTTPS mensimulasikan perilaku browser dengan mengirimkan permintaan HEAD atau GET untuk memeriksa ketersediaan server backend. HTTPS memberikan keamanan lebih tinggi daripada HTTP karena HTTPS mendukung enkripsi data.

  • TCP: Pemeriksaan kesehatan TCP mengirimkan paket TCP SYN untuk memeriksa apakah port server backend dapat dijangkau.

  • gRPC: Pemeriksaan kesehatan gRPC mengirimkan permintaan POST atau GET untuk memeriksa ketersediaan server backend.

HealthCheckTimeout

Integer

Tidak

Ya

Periode timeout untuk respons pemeriksaan kesehatan.

Jika instance Elastic Compute Service (ECS) backend tidak mengembalikan respons pemeriksaan kesehatan dalam periode timeout yang ditentukan, instance tersebut gagal dalam pemeriksaan kesehatan.

Nilai valid: 1 hingga 300.

Nilai default: 5.

Unit: detik.

Catatan

Jika nilai HealthCheckTimeout lebih kecil dari nilai HealthCheckInterval, nilai HealthCheckTimeout diabaikan, dan nilai HealthCheckInterval digunakan sebagai periode timeout.

HealthyThreshold

Integer

Tidak

Ya

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

Nilai valid: 2 hingga 10.

Nilai default: 3.

UnhealthyThreshold

Integer

Tidak

Ya

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

Nilai valid: 2 hingga 10.

Nilai default: 3.

Sintaks Tags

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

Properti Tags

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Key

String

Ya

Tidak

Kunci tag.

Kunci harus memiliki panjang 1 hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Kunci tidak dapat dimulai dengan aliyun atau acs:.

Value

String

Tidak

Tidak

Nilai tag.

Nilai dapat memiliki panjang hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Nilai tidak dapat dimulai dengan aliyun atau acs:.

Nilai Pengembalian

Fn::GetAtt

  • ServerGroupId: ID grup server.

  • Arn: Nama Sumber Daya Alibaba Cloud (ARN).

Contoh

Catatan

Ubah nilai parameter yang disamarkan sesuai kebutuhan bisnis Anda.

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Label:
       
      en: Existing VPC Instance ID
Resources:
  ServerGroup:
    Type: ALIYUN::ALB::ServerGroup
    Properties:
      VpcId:
        Ref: VpcId
      StickySessionConfig:
        Cookie: B490B5EBF6F3CD402E515D22****
        CookieTimeout: 1000
        StickySessionEnabled: true
        StickySessionType: Insert
      HealthCheckConfig:
        HealthCheckConnectPort: 80
        HealthCheckEnabled: true
        HealthCheckHost: www.example.com
        HealthCheckCodes:
          - http_2xx
        HealthCheckHttpVersion: HTTP1.0
        HealthCheckInterval: 5
        HealthCheckMethod: HEAD
        HealthCheckPath: /test/index.html
        HealthCheckProtocol: HTTP
        HealthCheckTimeout: 3
        HealthyThreshold: 4
        UnhealthyThreshold: 4
      ServerGroupName: TestServerGroup
Outputs:
  ServerGroupId:
    Description: The ID of the server group.
    Value:
      Fn::GetAtt:
        - ServerGroup
        - ServerGroupId                  

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Label": {
         
        "en": "Existing VPC Instance ID"
      }
    }
  },
  "Resources": {
    "ServerGroup": {
      "Type": "ALIYUN::ALB::ServerGroup",
      "Properties": {
        "VpcId": {
          "Ref": "VpcId"
        },
        "StickySessionConfig": {
          "Cookie": "B490B5EBF6F3CD402E515D22****",
          "CookieTimeout": 1000,
          "StickySessionEnabled": true,
          "StickySessionType": "Insert"
        },
        "HealthCheckConfig": {
          "HealthCheckConnectPort": 80,
          "HealthCheckEnabled": true,
          "HealthCheckHost": "www.example.com",
          "HealthCheckCodes": [
            "http_2xx"
          ],
          "HealthCheckHttpVersion": "HTTP1.0",
          "HealthCheckInterval": 5,
          "HealthCheckMethod": "HEAD",
          "HealthCheckPath": "/test/index.html",
          "HealthCheckProtocol": "HTTP",
          "HealthCheckTimeout": 3,
          "HealthyThreshold": 4,
          "UnhealthyThreshold": 4
        },
        "ServerGroupName": "TestServerGroup"
      }
    }
  },
  "Outputs": {
    "ServerGroupId": {
      "Description": "The ID of the server group.",
      "Value": {
        "Fn::GetAtt": [
          "ServerGroup",
          "ServerGroupId"
        ]
      }
    }
  }
}