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:
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:
|
ServerGroupType | String | Tidak | Tidak | Tipe grup server. | Nilai valid:
|
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. |
|
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
|
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:
Catatan
|
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:
|
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:
|
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:
Catatan Properti ini harus ditentukan ketika ServerGroupType diatur ke |
StickySessionType | String | Tidak | Ya | Metode penanganan cookie. | Nilai valid:
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:
|
HealthCheckCodes | List | Tidak | Ya | Kode status untuk pemeriksaan kesehatan. | Nilai valid:
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: Catatan Properti ini berlaku ketika HealthCheckProtocol diatur ke HTTP. |
HealthCheckHttpVersion | String | Tidak | Ya | Versi HTTP yang ingin Anda gunakan untuk pemeriksaan kesehatan. | Nilai valid:
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:
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:
|
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 |
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 |
Nilai Pengembalian
Fn::GetAtt
ServerGroupId: ID grup server.
Arn: Nama Sumber Daya Alibaba Cloud (ARN).
Contoh
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"
]
}
}
}
}