全部產品
Search
文件中心

:ALIYUN::ALB::HealthCheckTemplate

更新時間:Jun 14, 2024

ALIYUN::ALB::HealthCheckTemplate類型用於建立健全狀態檢查模板。

文法

{
  "Type": "ALIYUN::ALB::HealthCheckTemplate",
  "Properties": {
    "HealthCheckInterval": Integer,
    "HealthCheckConnectPort": Integer,
    "HealthCheckCodes": List,
    "UnhealthyThreshold": Integer,
    "HealthCheckMethod": String,
    "HealthCheckPath": String,
    "HealthCheckTemplateName": String,
    "HealthCheckHost": String,
    "HealthyThreshold": Integer,
    "HealthCheckProtocol": String,
    "HealthCheckTimeout": Integer
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

HealthCheckTemplateName

String

健全狀態檢查模板名稱。

長度為2~128個英文或中文字元,必須以大小字母或中文開頭,可包含數字、半形句號(.)、底線(_)和短劃線(-)。

HealthCheckCodes

List

健全狀態檢查正常的HTTP狀態代碼。

取值:

  • 當HealthCheckProtocol取值為HTTP時,HealthCheckCodes可以選擇http_2xx(預設值)、 http_3xx、http_4xx和http_5xx,多個狀態代碼用半形逗號(,)分隔。

  • 當HealthCheckProtocol取值為gRPC時,HealthCheckCodes狀態代碼範圍:0~99,預設值:0。支援範圍輸入,最多支援20個範圍值,多個範圍值使用半形逗號(,)分隔。

說明

當HealthCheckProtocol取值為HTTP或gRPC時,該參數才生效。

HealthCheckConnectPort

Integer

健全狀態檢查使用的連接埠。

取值範圍:0~65535。預設值:0,表示使用後端伺服器的連接埠進行健全狀態檢查。

HealthCheckHost

String

用於健全狀態檢查的網域名稱。

預設值:$SERVER_IP。

長度限制為1~80個字元。需滿足以下要求:

  • 可用字元為小寫字母、數字、短劃線(-)和半形句號(.)。

  • 至少包含一個半形句號(.),半形句號(.)不能出現在開頭或結尾。

  • 最右側的域標籤只能包含字母,不能包含數字或短劃線(-)。

  • 對於其它域標籤,短劃線(-)不能出現在開頭或結尾。

說明

當HealthCheckProtocol取值為HTTP時,該參數才生效。

HealthCheckInterval

Integer

健全狀態檢查的時間間隔。

取值範圍:1~50。

預設值:2。

單位:秒。

HealthCheckMethod

String

健全狀態檢查方法。

取值:

  • HEAD(預設值):HTTP監聽健全狀態檢查預設採用HEAD方法。

  • POST:gRPC監聽健全狀態檢查預設採用POST方法。

  • GET:如果響應報文長度超過8 KB會被截斷,但不會影響健全狀態檢查結果的判定。

說明

當HealthCheckProtocol取值為HTTP或gRPC時,該參數才生效。

HealthCheckPath

String

用於健全狀態檢查的URL。

長度限制為1~80,支援使用字母、數字和短劃線(-)、正斜線(/)、半形句號(.)、百分比符號(%)、半形問號(?)、井號(#)和and(&)以及擴充字元集_;~!()*[]@$^:',+。URL必須以正斜線(/)開頭。

說明

當HealthCheckProtocol取值為HTTP時,該參數才生效。

HealthCheckProtocol

String

健全狀態檢查採用的協議。

取值:

  • HTTP(預設值):通過發送HEAD或GET請求類比瀏覽器的訪問行為來檢查伺服器應用是否健康。

  • TCP:通過發送SYN握手報文來檢測伺服器連接埠是否存活。

  • gRPC:通過發送POST或GET請求來檢查伺服器應用是否健康。

HealthCheckTimeout

Integer

接收來自健全狀態檢查響應需要等待的時間。

如果後端伺服器在指定的時間內沒有正確響應,則判定為健全狀態檢查失敗。

取值範圍:1~300。

預設值:5。

單位:秒。

說明

如果HealthCHeckTimeout的值小於HealthCheckInterval的值,則HealthCHeckTimeout無效,逾時時間為HealthCheckInterval的值。

HealthyThreshold

Integer

健全狀態檢查連續成功多少次後,將後端伺服器的健全狀態檢查狀態由失敗判定為成功。

取值範圍:2~10。

預設值:3。

UnhealthyThreshold

Integer

健全狀態檢查連續失敗多少次後,將後端伺服器的健全狀態檢查狀態由成功判定為失敗。

取值範圍:2~10。

預設值:3。

傳回值

Fn::GetAtt

HealthCheckTemplateId:健全狀態檢查模板ID。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  HealthCheckTemplateName:
    Type: String
    Description: |-
      The name of the health check template.
      The name must be 2 to 128 characters in length, and can contain letters, digits, periods
      (.), underscores (_), and hyphens (-). The name must start with a letter.
Resources:
  HealthCheckTemplate:
    Type: ALIYUN::ALB::HealthCheckTemplate
    Properties:
      HealthCheckTemplateName:
        Ref: HealthCheckTemplateName
Outputs:
  HealthCheckTemplateId:
    Description: The ID of the health check template.
    Value:
      Fn::GetAtt:
        - HealthCheckTemplate
        - HealthCheckTemplateId

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "HealthCheckTemplateName": {
      "Type": "String",
      "Description": "The name of the health check template.\nThe name must be 2 to 128 characters in length, and can contain letters, digits, periods\n(.), underscores (_), and hyphens (-). The name must start with a letter."
    }
  },
  "Resources": {
    "HealthCheckTemplate": {
      "Type": "ALIYUN::ALB::HealthCheckTemplate",
      "Properties": {
        "HealthCheckTemplateName": {
          "Ref": "HealthCheckTemplateName"
        }
      }
    }
  },
  "Outputs": {
    "HealthCheckTemplateId": {
      "Description": "The ID of the health check template.",
      "Value": {
        "Fn::GetAtt": [
          "HealthCheckTemplate",
          "HealthCheckTemplateId"
        ]
      }
    }
  }
}