ALIYUN::SLB::Listener は、Server Load Balancer (SLB) リスナーを作成するために使用されます。
構文
{
"Type": "ALIYUN::SLB::Listener",
"Properties": {
"MasterSlaveServerGroupId": String, // プライマリ/セカンダリサーバーグループの ID
"AclStatus": String, // アクセス制御を有効にするかどうかを指定します
"Protocol": String, // ネットワークプロトコル
"AclId": String, // リスナーに関連付けるアクセス制御リスト (ACL) の ID
"ServerCertificateId": String, // サーバー証明書の ID
"HealthCheck": Map, // ヘルスチェック構成
"RequestTimeout": Integer, // リクエストのタイムアウト期間
"IdleTimeout": Integer, // アイドル接続のタイムアウト期間
"ListenerPort": Integer, // SLB インスタンスのフロントエンドポート
"HttpConfig": Map, // HTTP 構成
"Bandwidth": Integer, // リスナーの最大帯域幅
"AclType": String, // ACL タイプ
"BackendServerPort": Integer, // SLB インスタンスのバックエンドポート
"Scheduler": String, // ルーティングアルゴリズム
"LoadBalancerId": String, // SLB インスタンスの ID
"CACertificateId": String, // 認証局 (CA) 証明書の ID
"Persistence": Map, // 永続化の構成
"VServerGroupId": String, // サーバーグループの ID
"Description": String, // リスナーの説明
"PortRange": List, // リスナーのポート範囲
"StartListener": Boolean, // リスナーを起動するかどうかを指定します
"EnableHttp2": String, // HTTP/2 を有効にするかどうかを指定します
"Gzip": String, // 特定の種類のファイルを圧縮するために Gzip 圧縮を有効にするかどうかを指定します
"TLSCipherPolicy": String, // トランスポート層セキュリティ (TLS) ポリシー
"AclIds": List, // リスナーに関連付ける ACL の ID
"ProxyProtocolV2Enabled": Boolean, // ソースクライアント IP アドレスをバックエンドサーバーに渡すために Proxy プロトコルを使用するかどうかを指定します
"ConnectionDrainTimeout": Integer, // 接続ドレインのタイムアウト期間
"Tags": List, // タグ
"FullNatEnabled": Boolean, // フル NAT モードを有効にして、バックエンドサーバーをアクセス用のクライアントとして使用するかどう かを指定します。
"ConnectionDrain": String // 接続ドレインを有効にするかどうかを指定します
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
MasterSlaveServerGroupId | String | いいえ | いいえ | プライマリ/セカンダリサーバーグループの ID。 | なし。 |
AclStatus | String | いいえ | はい | アクセス制御を有効にするかどうかを指定します。 | 有効な値:
|
EnableHttp2 | String | いいえ | はい | HTTP/2 を有効にするかどうかを指定します。 | 有効な値:
|
AclId | String | いいえ | はい | リスナーに関連付けるアクセス制御リスト (ACL) の ID。 | AclStatus が on に設定されている場合は、このプロパティを指定する必要があります。 |
AclType | String | いいえ | はい | ACL タイプ。 | 有効な値:
|
Protocol | String | はい | いいえ | ネットワークプロトコル。 | 有効な値:
|
ListenerPort | Integer | はい | いいえ | SLB インスタンスのフロントエンドポート。 | 有効な値: 1 ~ 65535。 |
Bandwidth | Integer | はい | はい | リスナーの最大帯域幅。 | 有効な値: 1 ~ 1000 および -1。 単位: Mbit/s。 このプロパティの値は、次の要件を満たしている必要があります。
|
BackendServerPort | Integer | いいえ | いいえ | SLB インスタンスのバックエンドポート。 | 有効な値: 1 ~ 65535。 |
FullNatEnabled | Boolean | いいえ | はい | フル NAT モードを有効にして、バックエンドサーバーをアクセス用のクライアントとして使用するかどう かを指定します。 | デフォルト値: false。 このプロパティは、TCP または UDP リスナーに対してのみ有効です。 |
LoadBalancerId | String | はい | いいえ | SLB インスタンスの ID。 | なし。 |
HealthCheck | Map | いいえ | はい | ヘルスチェック構成。 | 詳細については、「HealthCheck プロパティ」をご参照ください。 |
Persistence | Map | いいえ | はい | 永続化の構成。 | 詳細については、「Persistence プロパティ」をご参照ください。 |
Scheduler | String | いいえ | いいえ | ルーティングアルゴリズム。 | 有効な値:
|
CACertificateId | String | いいえ | いいえ | 認証局 (CA) 証明書の ID。 | このプロパティは、Protocol が https に設定されている場合にのみ有効です。 |
ServerCertificateId | String | いいえ | はい | サーバー証明書の ID。 | このプロパティは、Protocol が https に設定されている場合にのみ指定する必要があります。 |
VServerGroupId | String | いいえ | はい | サーバーグループの ID。 | なし。 |
RequestTimeout | Integer | いいえ | いいえ | リクエストのタイムアウト期間。 | 有効な値: 1 ~ 180。 単位: 秒。 |
IdleTimeout | Integer | いいえ | いいえ | アイドル接続のタイムアウト期間。 | 有効な値: 1 ~ 60。 単位: 秒。 |
HttpConfig | Map | いいえ | いいえ | HTTP 構成。 | 詳細については、「HttpConfig プロパティ」をご参照ください。 |
Description | String | いいえ | いいえ | リスナーの説明。 | 説明は 1 ~ 80 文字で、文字、数字、ハイフン (-)、スラッシュ (/)、ピリオド (.)、アンダースコア (_) を使用できます。 |
PortRange | List | いいえ | いいえ | リスナーのポート範囲。 | すべてのポートを有効にする必要があります。 すべてのポートを有効にするには、StartPort を 1 に、EndPort を 65535 に設定します。 詳細については、「PortRange プロパティ」をご参照ください。 |
StartListener | Boolean | いいえ | いいえ | リスナーを起動するかどうかを指定します。 | 有効な値:
|
Gzip | String | いいえ | はい | 特定の種類のファイルを圧縮するために Gzip 圧縮を有効にするかどうかを指定します。 | 有効な値:
|
TLSCipherPolicy | String | いいえ | はい | トランスポート層セキュリティ (TLS) ポリシー。 | TLS ポリシーには、HTTPS で使用できる TLS プロトコルバージョンと暗号スイートが含まれています。 説明 このプロパティは、Protocol が |
AclIds | List | いいえ | はい | リスナーに関連付ける ACL の ID。 | AclStatus が on に設定されている場合は、このプロパティを指定する必要があります。 |
ProxyProtocolV2Enabled | Boolean | いいえ | はい | ソースクライアント IP アドレスをバックエンドサーバーに渡すために Proxy プロトコルを使用するかどうかを指定します。 | 有効な値:
|
ConnectionDrainTimeout | Integer | いいえ | はい | 接続ドレインのタイムアウト期間。 | 単位: 秒。 有効な値: 10 ~ 900。 |
Tags | List | いいえ | はい | タグ。 | 詳細については、「Tags プロパティ」をご参照ください。 |
ConnectionDrain | String | いいえ | はい | 接続ドレインを有効にするかどうかを指定します。 | 有効な値:
|
HealthCheck 構文
"HealthCheck": {
"Domain": String, // ヘルスチェックに使用するドメイン名
"Interval": Integer, // 2 回の連続したヘルスチェックの間隔
"URI": String, // ヘルスチェックに使用する Uniform Resource Identifier (URI)
"HttpCode": String, // HTTP ステータスコード
"HealthyThreshold": Integer, // バックエンドサーバーが正常であるかどうかを判断するために使用されるしきい値。異常なバックエンドサーバーが正常と宣言されるまでに連続してヘルスチェックに合格する必要がある回数。
"HealthCheckType": String, // ヘルスチェックタイプ
"Timeout": Integer, // ヘルスチェック応答の最大タイムアウト期間
"UnhealthyThreshold": Integer, // バックエンドサーバーが異常であるかどうかを判断するために使用されるしきい値。正常なバックエンドサーバーが異常と宣言されるまでに連続してヘルスチェックに失敗する必要がある回数。
"Port": Integer, // ヘルスチェックに使用するポート
"Switch": String, // ヘルスチェック機能を有効にするかどうかを指定します
"HealthCheckMethod": String, // ヘルスチェックを実行するために使用するメソッド
"Req": String, // UDP リスナーヘルスチェックのリクエスト文字列
"Exp": String // UDP リスナーヘルスチェックのレスポンス文字列
}HealthCheck プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Domain | String | いいえ | いいえ | ヘルスチェックに使用するドメイン名。 | 有効な値:
説明 このプロパティを $_ip または Null に設定すると、SLB は各バックエンドサーバーのプライベート IP アドレスをドメイン名として使用してヘルスチェックを実行します。 |
Interval | Integer | いいえ | いいえ | 2 回の連続したヘルスチェックの間隔。 | 有効な値: 1 ~ 5。 単位: 秒。 |
URI | String | いいえ | いいえ | ヘルスチェックに使用する Uniform Resource Identifier (URI)。 | URI は 1 ~ 80 文字で、スラッシュ (/) で始まる必要があります。 文字、数字、および次の特殊文字を使用できます: - / . % ? # & |
HttpCode | String | いいえ | いいえ | HTTP ステータスコード。 | 有効な値:
複数の HTTP ステータスコードはコンマ (,) で区切ります。 |
HealthyThreshold | Integer | いいえ | いいえ | バックエンドサーバーが正常であるかどうかを判断するために使用されるしきい値。 異常なバックエンドサーバーが正常と宣言されるまでに連続してヘルスチェックに合格する必要がある回数。 | 有効な値: 1 ~ 10。 |
HealthCheckType | String | いいえ | いいえ | ヘルスチェックタイプ。 | 有効な値:
|
Timeout | Integer | いいえ | いいえ | ヘルスチェック応答の最大タイムアウト期間。 | 有効な値: 1 ~ 50。 単位: 秒。 説明 Timeout の値が Interval の値よりも小さい場合、Timeout は有効になりません。 この場合、Interval の値が最大タイムアウト期間を指定します。 |
UnhealthyThreshold | Integer | いいえ | いいえ | バックエンドサーバーが異常であるかどうかを判断するために使用されるしきい値。 正常なバックエンドサーバーが異常と宣言されるまでに連続してヘルスチェックに失敗する必要がある回数。 | 有効な値: 1 ~ 10。 |
Port | Integer | いいえ | いいえ | ヘルスチェックに使用するポート。 | 有効な値: 0 ~ 65535。 |
Switch | String | いいえ | いいえ | ヘルスチェック機能を有効にするかどうかを指定します。 | 有効な値:
説明 このプロパティは、Protocol が http または https に設定されている場合にのみ有効です。 Switch を空のままにすると、ヘルスチェック項目が既に構成されていない限り、ヘルスチェック機能はデフォルトで無効になります。 |
HealthCheckMethod | String | いいえ | いいえ | ヘルスチェックを実行するために使用するメソッド。 | 有効な値:
説明 このプロパティは、Protocol が |
Req | String | いいえ | いいえ | UDP リスナーヘルスチェックのリクエスト文字列。 | 文字列は最大 64 文字で、文字と数字のみを含めることができます。 |
Exp | String | いいえ | いいえ | UDP リスナーヘルスチェックのレスポンス文字列。 | 文字列は最大 64 文字で、文字と数字のみを含めることができます。 |
Persistence 構文
"Persistence": {
"PersistenceTimeout": Integer, // セッション維持のタイムアウト期間
"CookieTimeout": Integer, // Cookie のタイムアウト期間
"XForwardedFor": String, // クライアントの実際の IP アドレスを照会するために X-Forwarded-Fort ヘッダーを使用するかどうかを指定します
"XForwardedFor_SLBID": String, // SLB インスタンスの ID を照会するために SLB-ID ヘッダーを使用するかどうかを指定します
"XForwardedFor_proto": String, // SLB インスタンスのリスナープロトコルを照会するために X-Forwarded-Proto ヘッダーを使用するかどうかを指定します
"XForwardedFor_SLBIP": String, // クライアントによってリクエストされた実際の IP アドレスを照会するために SLB-IP ヘッダーを使用するかどうかを指定します
"Cookie": String, // サーバーに構成する Cookie
"StickySession": String, // セッション維持を有効にするかどうかを指定します
"StickySessionType": String, // Cookie を処理するために使用するメソッド
"XForwardedFor_ClientSrcPort": String, // クライアントが SLB インスタンスにアクセスするために使用するポートを照会するために X-Forwarded-Client-srcport ヘッダーを使用するかどうかを指定します
"XForwardedFor_SLBPORT": String // SLB インスタンスのリスナーポートを照会するために X-Forwarded-Port ヘッダーを使用するかどうかを指定します
}Persistence プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
StickySession | String | いいえ | はい | セッション維持を有効にするかどうかを指定します。 | 有効な値:
|
PersistenceTimeout | Integer | いいえ | はい | セッション維持のタイムアウト期間。 | 有効な値: 0 ~ 1000。 デフォルト値: 0. 値 0 は、セッション維持が無効になっていることを指定します。 単位: 秒。 |
CookieTimeout | Integer | いいえ | はい | Cookie のタイムアウト期間。 | 有効な値: 1 ~ 86400。 単位: 秒。 説明 StickySession が on に設定され、StickySessionType が insert に設定されている場合は、このプロパティを指定する必要があります。 |
XForwardedFor | String | いいえ | はい | クライアントの実際の IP アドレスを照会するために X-Forwarded-Fort ヘッダーを使用するかどうかを指定します。 | 有効な値:
|
XForwardedFor_proto | String | いいえ | はい | SLB インスタンスのリスナープロトコルを照会するために X-Forwarded-Proto ヘッダーを使用するかどうかを指定します。 | 有効な値:
|
XForwardedFor_SLBID | String | いいえ | はい | SLB インスタンスの ID を照会するために SLB-ID ヘッダーを使用するかどうかを指定します。 | 有効な値:
|
XForwardedFor_SLBIP | String | いいえ | はい | クライアントによってリクエストされた実際の IP アドレスを照会するために SLB-IP ヘッダーを使用するかどうかを指定します。 | 有効な値:
|
Cookie | String | いいえ | はい | サーバーに構成する Cookie。 | Cookie は 1 ~ 200 文字で、ドル記号 ($) で始めることはできません。 文字と数字を含めることができ、コンマ (,)、セミコロン (;)、スペースを含めることはできません。 説明 StickySession が on に設定され、StickySessionType が server に設定されている場合は、このプロパティを指定する必要があります。 |
StickySessionType | String | いいえ | はい | Cookie を処理するために使用するメソッド。 | 有効な値:
説明 StickySession が on に設定されている場合は、このプロパティを指定する必要があります。 |
XForwardedFor_ClientSrcPort | String | いいえ | はい | クライアントが SLB インスタンスにアクセスするために使用するポートを照会するために X-Forwarded-Client-srcport ヘッダーを使用するかどうかを指定します。 | 有効な値:
|
XForwardedFor_SLBPORT | String | いいえ | はい | SLB インスタンスのリスナーポートを照会するために X-Forwarded-Port ヘッダーを使用するかどうかを指定します。 | 有効な値:
|
HttpConfig 構文
"HttpConfig": {
"ForwardPort": Integer, // HTTP リクエストを HTTPS にリダイレクトするために使用するリスナーポート
"ListenerForward": String // HTTP から HTTPS へのリダイレクトを有効にするかどうかを指定します
}HttpConfig プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
ForwardPort | Integer | いいえ | いいえ | HTTP リクエストを HTTPS にリダイレクトするために使用するリスナーポート。 | 有効な値: 1 ~ 65535。 デフォルト値: 443。 |
ListenerForward | String | いいえ | いいえ | HTTP から HTTPS へのリダイレクトを有効にするかどうかを指定します。 | 有効な値:
|
PortRange 構文
"PortRange": [
{
"StartPort": Integer, // 開始ポート
"EndPort": Integer // 終了ポート
}
]PortRange プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
StartPort | Integer | はい | いいえ | 開始ポート。 | 値を 1 に設定します。 |
EndPort | Integer | はい | いいえ | 終了ポート。 | 値を 65535 に設定します。 |
Tags 構文
"Tags": [
{
"Key": String, // タグキー
"Value": String // タグ値
}
]Tags プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Key | String | はい | いいえ | タグキー。 | なし。 |
Value | String | いいえ | いいえ | タグ値。 | なし。 |
戻り値
Fn::GetAtt
LoadBalancerId: SLB インスタンスの ID。
ListenerPortsAndProtocol: SLB インスタンスによって使用されるフロントエンドポートとプロトコル。
Arn: Alibaba Cloud リソースネーム (ARN)。
例
YAML 形式
ROSTemplateFormatVersion: '2015-09-01'
Description: Test SLB Listener
Parameters:
SlbInstanceId:
AssociationProperty: ALIYUN::SLB::Instance::InstanceId
Type: String
Resources:
Listener:
Type: ALIYUN::SLB::Listener
Properties:
BackendServerPort: 8080
Bandwidth: 50
ListenerPort: 80
LoadBalancerId:
Ref: SlbInstanceId
Protocol: https
Scheduler: wrr
Outputs: {}JSON 形式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test SLB Listener",
"Parameters": {
"SlbInstanceId": {
"AssociationProperty": "ALIYUN::SLB::Instance::InstanceId",
"Type": "String"
}
},
"Resources": {
"Listener": {
"Type": "ALIYUN::SLB::Listener",
"Properties": {
"BackendServerPort": 8080,
"Bandwidth": 50,
"ListenerPort": 80,
"LoadBalancerId": {
"Ref": "SlbInstanceId"
},
"Protocol": "https",
"Scheduler": "wrr"
}
}
},
"Outputs": {
}
}