ALIYUN::ALB::Rule タイプは転送ルールを作成します。
構文
{
"Type": "ALIYUN::ALB::Rule", // タイプ
"Properties": { // プロパティ
"RuleActions": List, // ルールアクション
"Priority": Integer, // 優先度
"RuleConditions": List, // ルール条件
"Direction": String, // 方向
"RuleName": String, // ルール名
"ListenerId": String // リスナー ID
}
}プロパティ
プロパティ | タイプ | 必須 | 更新の許可 | 説明 | 制約 |
ListenerId | String | はい | いいえ | Application Load Balancer (ALB) インスタンスのリスナーの ID。 | なし |
Priority | Integer | はい | はい | 転送ルールの優先順位です。 | 有効値:1~10,000。値が小さいほど、優先度が高くなります。 説明 同じリスナー内の各転送ルールの優先度は一意である必要があります。 |
RuleActions | List | はい | はい | 転送ルールのアクション。 | 詳細については、「RuleActions プロパティ」をご参照ください。 |
RuleConditions | List | はい | はい | 転送ルールの条件。 | 詳細については、「RuleConditions プロパティ」をご参照ください。 |
RuleName | String | はい | はい | 転送ルール名です。 | 名前は 2~128 文字である必要があります。先頭は英字または中国語文字にする必要があり、英字、中国語文字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を使用できます。 |
Direction | String | いいえ | いいえ | 転送ルールの方向。 | 有効な値:
|
RuleActions 構文
"RuleActions": [
{
"Order": Integer, // 順序
"FixedResponseConfig": Map, // 固定レスポンス設定
"Type": String, // タイプ
"RedirectConfig": Map, // リダイレクト設定
"ForwardGroupConfig": Map, // 転送グループ設定
"InsertHeaderConfig": Map, // ヘッダー挿入設定
"RewriteConfig": Map, // リライト設定
"TrafficMirrorConfig": Map, // トラフィックミラーリング設定
"TrafficLimitConfig": Map, // トラフィック制限設定
"RemoveHeaderConfig": Map, // ヘッダー削除設定
"CorsConfig": Map // CORS 設定
}
]RuleActions プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Order | Integer | はい | はい | 転送ルールのアクションが実行される順序。 | 有効値:1~50,000。アクションは値の昇順で実行されます。 説明 値は一意である必要があります。 |
Type | String | はい | はい | アクションタイプ。 | 有効な値:
|
CorsConfig | Map | いいえ | はい | クロスドメイン設定。 | 詳細については、「CorsConfig のプロパティ」をご参照ください。 |
FixedResponseConfig | Map | いいえ | はい | 固定レスポンス設定。 | 詳細については、「FixedResponseConfig プロパティ」をご参照ください。 |
ForwardGroupConfig | Map | いいえ | はい | 転送グループ設定。 | 詳細については、「ForwardGroupConfig プロパティ」をご参照ください。 |
InsertHeaderConfig | Map | いいえ | はい | ヘッダーフィールドを挿入するための設定。 | 詳細については、「InsertHeaderConfig プロパティ」をご参照ください。 |
RedirectConfig | Map | いいえ | はい | リダイレクト設定。 | 詳細については、「RedirectConfig プロパティ」をご参照ください。 |
RemoveHeaderConfig | Map | いいえ | はい | ヘッダーフィールドを削除するための設定。 | 詳細については、「RemoveHeaderConfig のプロパティ」をご参照ください。 |
RewriteConfig | Map | いいえ | はい | 再書き込み設定。 | 詳細については、「RewriteConfig プロパティ」をご参照ください。 |
TrafficLimitConfig | Map | いいえ | はい | トラフィックスロットリング設定。 | 詳細については、「TrafficLimitConfig プロパティ」をご参照ください。 |
TrafficMirrorConfig | Map | いいえ | はい | トラフィックミラーリング設定。 | 詳細については、「TrafficMirrorConfig プロパティ」をご参照ください。 |
FixedResponseConfig 構文
"FixedResponseConfig": {
"HttpCode": String,
"ContentType": String,
"Content": String
}FixedResponseConfig のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Content | String | いいえ | はい | 固定レスポンスのコンテンツ。 | コンテンツのサイズは最大 1 KB で、ASCII 文字で構成されている必要があります。 |
ContentType | String | いいえ | はい | 固定レスポンスの形式。 | 有効な値:
|
HttpCode | String | いいえ | はい | HTTP レスポンスコード。 | 有効値は、HTTP_2xx、HTTP_4xx、HTTP_5xx の形式の文字列です。x は任意の数字です。 |
RedirectConfig 構文
"RedirectConfig": {
"Path": String, // パス
"HttpCode": Integer, // HTTP コード
"Query": String, // クエリ
"Port": String, // ポート
"Host": String, // ホスト
"Protocol": String // プロトコル
}RedirectConfig プロパティ
プロパティ | 種類 | 必須 | 更新可能 | 説明 | 制約 |
ホスト | 文字列 | いいえ | はい | リクエストがリダイレクトされるホスト。 | 有効な値:
|
HttpCode | Integer | いいえ | はい | リダイレクトメソッド。 | 有効な値:
|
パス | 文字列 | いいえ | はい | リクエストがリダイレクトされるパス。 | 有効な値:
|
ポート | 文字列 | いいえ | はい | リクエストがリダイレクトされるポートです。 | 有効な値:
|
プロトコル | 文字列 | いいえ | はい | リクエストがリダイレクトされるプロトコル。 | 有効な値:
|
クエリ | 文字列 | いいえ | はい | リクエストがリダイレクトされるクエリ文字列。 | 有効な値:
|
ForwardGroupConfig 構文
"ForwardGroupConfig": {
"ServerGroupTuples": List, // サーバーグループタプルのリスト
"ServerGroupStickySession": Map // サーバーグループスティッキーセッションのマップ
}ForwardGroupConfig のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
ServerGroupStickySession | Map | いいえ | はい | セッション維持設定。 | 詳細については、「ServerGroupStickySession プロパティ」をご参照ください。 |
ServerGroupTuples | List | いいえ | はい | 宛先 vServer グループのリスト。 | 詳細については、「ServerGroupTuples のプロパティ」をご参照ください。 |
ServerGroupStickySession 構文
"ServerGroupStickySession": {
// 有効かどうか
"Enabled": Boolean,
// タイムアウト時間(整数)
"Timeout": Integer
}ServerGroupStickySession プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Enabled | ブール値 | いいえ | はい | セッション維持を有効にするかどうかを指定します。 | 有効な値:
|
Timeout | 整数 | いいえ | はい | タイムアウト期間。 | 単位:秒。有効な値:1 ~ 86400。 |
ServerGroupTuples 構文
"ServerGroupTuples": [
{
"ServerGroupId": String
}
]ServerGroupTuples のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
ServerGroupId | String | はい | はい | 宛先 vServer グループの ID。 | なし |
InsertHeaderConfig 構文
"InsertHeaderConfig": {
// 値の型
"ValueType": String,
// 値
"Value": String,
// キー
"Key": String
}InsertHeaderConfig プロパティ
プロパティ | 種類 | 必須 | 更新可能 | 説明 | 制約 |
キー | 文字列 | いいえ | はい | 挿入するヘッダーフィールドの名前。 | 名前は 1~40 文字で、英字、数字、アンダースコア (_)、ハイフン (-) を使用できます。InsertHeaderConfig のヘッダー名は一意である必要があります。 説明 ヘッダー名には、次のいずれかの値 (大文字と小文字を区別しない) を設定することはできません:slb-id、slb-ip、x-forwarded-for、x-forwarded-proto、x-forwarded-eip、x-forwarded-port、x-forwarded-client-srcport、connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie、remoteip、authority。 |
値 | 文字列 | いいえ | はい | 挿入するヘッダーフィールドのコンテンツ。 | 有効な値:
|
値の型 | 文字列 | いいえ | はい | ヘッダーフィールドのコンテンツのタイプ。 | 有効な値:
|
RewriteConfig 構文
"RewriteConfig": {
"Path": String, // パス
"Query": String, // クエリ
"Host": String // ホスト
}RewriteConfig プロパティ
プロパティ | タイプ | 必須 | 更新の許可 | 説明 | 制約 |
Host | String | いいえ | はい | 内部再書き込みの宛先ホスト。 | 有効な値:
|
Path | String | いいえ | はい | 再書き込みするパス。 | 有効な値:
|
Query | String | いいえ | はい | 内部再書き込みのクエリ文字列。 | 有効な値:
|
RuleConditions 構文
"RuleConditions": [
{
"MethodConfig": Map, // メソッド設定
"PathConfig": Map, // パス設定
"Type": String, // タイプ
"QueryStringConfig": Map, // クエリ文字列設定
"HostConfig": Map, // ホスト設定
"CookieConfig": Map, // Cookie 設定
"HeaderConfig": Map, // ヘッダー設定
"SourceIpConfig": Map, // ソース IP 設定
"ResponseStatusCodeConfig": Map, // レスポンスステータスコード設定
"ResponseHeaderConfig": Map // レスポンスヘッダー設定
}
]RuleConditions プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Type | String | はい | はい | 転送ルール条件のタイプ。 | 有効な値:
|
CookieConfig | Map | いいえ | はい | Cookie 設定。 | 詳細については、「CookieConfig のプロパティ」をご参照ください。 |
HeaderConfig | Map | いいえ | はい | ヘッダーフィールド設定。 | 詳細については、「HeaderConfig プロパティ」をご参照ください。 |
HostConfig | Map | いいえ | はい | ホスト設定。 | 詳細については、「HostConfig のプロパティ」をご参照ください。 |
MethodConfig | Map | いいえ | はい | リクエストメソッド設定。 | 詳細については、「MethodConfig のプロパティ」をご参照ください。 |
PathConfig | Map | いいえ | はい | 転送パス設定。 | 詳細については、「PathConfig のプロパティ」をご参照ください。 |
QueryStringConfig | Map | いいえ | はい | クエリ文字列設定。 | 詳細については、「QueryStringConfig のプロパティ」をご参照ください。 |
SourceIpConfig | Map | いいえ | はい | 転送ルールの設定。 | 詳細については、「SourceIpConfig のプロパティ」をご参照ください。 |
ResponseStatusCodeConfig | Map | いいえ | はい | レスポンスステータスコード設定。 | 詳細については、「ResponseStatusCodeConfig のプロパティ」をご参照ください。 |
ResponseHeaderConfig | Map | いいえ | はい | レスポンスヘッダー条件設定。 | 詳細については、「ResponseHeaderConfig プロパティ」をご参照ください。 |
ResponseStatusCodeConfig の構文
"ResponseStatusCodeConfig": {
"Values": List
}ResponseStatusCodeConfig のプロパティ
プロパティ | 種類 | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | レスポンスステータスコードのリスト。 | なし。 |
ResponseHeaderConfig の構文
"ResponseHeaderConfig": {
// キー
"Key": String,
// 値のリスト
"Values": List
}ResponseHeaderConfig プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Key | String | いいえ | はい | ヘッダーフィールドのキー。 |
|
Values | List | いいえ | はい | ヘッダーフィールドの値。 |
|
SourceIpConfig 構文
"SourceIpConfig": {
"Values": List
}SourceIpConfig のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | 1 つ以上の IP アドレスまたは CIDR ブロック。 | 転送ルールには最大 5 つの IP アドレスを含めることができます。 |
MethodConfig 構文
"MethodConfig": {
"Values": List // 値のリスト
}MethodConfig のプロパティ
プロパティ | 型 | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | リクエストメソッド。 | 有効な値:
|
PathConfig 構文
"PathConfig": {
"Values": List
}PathConfig のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | 転送パス。 | パスは 1~128 文字である必要があります。パスはスラッシュ (/) で始まり、英字、数字、アスタリスク (*)、疑問符 (?)、および次の特殊文字を含めることができます: |
QueryStringConfig 構文
"QueryStringConfig": {
"Values": List
}QueryStringConfig のプロパティ
プロパティ | 型 | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | クエリ文字列。 | なし |
HostConfig 構文
"HostConfig": {
"Values": List
}HostConfig のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | ホスト名。 | 値は次の要件を満たす必要があります:
|
CookieConfig 構文
"CookieConfig": {
"Values": List
}CookieConfig のプロパティ
プロパティ | 型 | 必須 | 更新可能 | 説明 | 制約 |
Values | リスト | いいえ | はい | Cookie 値のリスト。 | なし |
HeaderConfig 構文
"HeaderConfig": {
"Values": List, // 値のリスト
"Key": String // キーの文字列
}HeaderConfig プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
Key | String | いいえ | はい | ヘッダーフィールドのキー。 | キーは 1~40 文字である必要があります。小文字、数字、ハイフン (-)、アンダースコア (_) を使用できます。Cookie と Host はサポートされていません。 |
Values | List | いいえ | はい | ヘッダーフィールドの値。 | ヘッダーフィールドの値は、同じ転送ルール条件内で一意である必要があります。値は 1~128 文字で、ASCII 値が |
TrafficMirrorConfig 構文
"TrafficMirrorConfig": {
"MirrorGroupConfig": Map, // ミラーグループ設定
"TargetType": String // ターゲットタイプ
}TrafficMirrorConfig プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
MirrorGroupConfig | マップ | いいえ | はい | vServer グループ設定。 | 詳細については、「MirrorGroupConfig のプロパティ」をご参照ください。 |
TargetType | 文字列 | いいえ | はい | ミラーリング先のタイプ。 | 有効な値:
|
MirrorGroupConfig 構文
"MirrorGroupConfig": {
// ミラーグループ設定
"ServerGroupTuples": List // サーバーグループタプル
}MirrorGroupConfig のプロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
ServerGroupTuples | リスト | はい | はい | vServer グループのリスト。 | なし |
TrafficLimitConfig 構文
"TrafficLimitConfig": {
"PerIpQps": Integer, // 1 IP あたりの QPS
"QPS": Integer // QPS
}TrafficLimitConfig プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
PerIpQps | Integer | いいえ | はい | 単一 IP アドレスの 1 秒あたりのクエリ数 (QPS)。 | 有効な値: 1 ~ 100000。 |
QPS | Integer | いいえ | はい | 1 秒あたりの合計クエリ数 (QPS)。 | 有効な値: 1 ~ 100000。 説明 QPS と PerIpQps の両方を設定する場合、PerIpQps の値は QPS の値より小さくする必要があります。 |
RemoveHeaderConfig 構文
"RemoveHeaderConfig": {
"Key": String // 削除するヘッダーのキー
}RemoveHeaderConfig のプロパティ
プロパティ | 型 | 必須 | 更新可能 | 説明 | 制約 |
Key | String | いいえ | はい | ヘッダーフィールドのキー。 | なし |
CorsConfig 構文
"CorsConfig": {
"AllowMethods": List, // 許可されるメソッド
"AllowHeaders": List, // 許可されるヘッダー
"AllowOrigin": List, // 許可されるオリジン
"MaxAge": Integer, // 最大経過時間
"AllowCredentials": String, // 資格情報の許可
"ExposeHeaders": List // 公開されるヘッダー
}CorsConfig プロパティ
プロパティ | タイプ | 必須 | 更新可能 | 説明 | 制約 |
AllowMethods | リスト | いいえ | はい | クロスドメインリクエストで許可される HTTP メソッド。 | クロスドメインアクセスで許可される HTTP メソッド。有効値:
|
AllowHeaders | リスト | いいえ | はい | クロスドメインリクエストで許可されるヘッダーのリスト。 |
|
AllowOrigin | リスト | いいえ | はい | 許可されたオリジンのリスト。 | 1 つ以上の値、または
|
AllowCredentials | 文字列 | いいえ | はい | クレデンシャルを携帯するかどうかを指定します。 | 有効値:
|
ExposeHeaders | リスト | いいえ | はい | 公開できるヘッダーのリスト。 |
|
MaxAge | 整数 | いいえ | はい | ブラウザでのプリフライトリクエストの最大キャッシュ期間。 | 単位:秒。有効値:-1~172800。 |
戻り値
Fn::GetAtt
RuleId:転送ルールの ID。
ListenerId:リスナーの ID。
例
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ListenerId:
Type: String
Description: |-
Application Load Balancer (ALB)
インスタンスに設定されているリスナーの ID。
Default: lsn-5tl4x9oav95yeb****
Resources:
Rule:
Type: ALIYUN::ALB::Rule
Properties:
RuleActions:
- FixedResponseConfig:
Content: dssacav
ContentType: text/plain
HttpCode: '200'
ForwardGroupConfig:
ServerGroupTuples:
- ServerGroupId: sgp-46ndzg2wz4v5mp****
InsertHeaderConfig:
Key: key
Value: ClientSrcPort
ValueType: SystemDefined
Order: 1
RedirectConfig:
Host: ${host}
HttpCode: '301'
Path: /test
Port: '10'
Protocol: HTTP
Query: quert
RewriteConfig:
Host: example.com
Path: /tsdf
Query: quedsa
Type: ForwardGroup
Priority: 10
RuleConditions:
- CookieConfig:
Values:
- Key: test
Value: test
HeaderConfig:
Key: port
Values:
- '5006'
HostConfig:
Values:
- www.example.com
MethodConfig:
Values:
- PUT
PathConfig:
Values:
- /test
QueryStringConfig:
Values:
- Key: test
Value: test
Type: Host
RuleName: MyTestRule
ListenerId:
Ref: ListenerId
Outputs:
RuleId:
Description: 転送ルールの ID。
Value:
Fn::GetAtt:
- Rule
- RuleId {
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ListenerId": {
"Type": "String",
"Description": "Application Load Balancer (ALB)\nインスタンスに設定されているリスナーの ID。",
"Default": "lsn-5tl4x9oav95yeb****"
}
},
"Resources": {
"Rule": {
"Type": "ALIYUN::ALB::Rule",
"Properties": {
"RuleActions": [
{
"FixedResponseConfig": {
"Content": "dssacav",
"ContentType": "text/plain",
"HttpCode": "200"
},
"ForwardGroupConfig": {
"ServerGroupTuples": [
{
"ServerGroupId": "sgp-46ndzg2wz4v5mp****"
}
]
},
"InsertHeaderConfig": {
"Key": "key",
"Value": "ClientSrcPort",
"ValueType": "SystemDefined"
},
"Order": 1,
"RedirectConfig": {
"Host": "${host}",
"HttpCode": "301",
"Path": "/test",
"Port": "10",
"Protocol": "HTTP",
"Query": "quert"
},
"RewriteConfig": {
"Host": "example.com",
"Path": "/tsdf",
"Query": "quedsa"
},
"Type": "ForwardGroup"
}
],
"Priority": 10,
"RuleConditions": [
{
"CookieConfig": {
"Values": [
{
"Key": "test",
"Value": "test"
}
]
},
"HeaderConfig": {
"Key": "port",
"Values": [
"5006"
]
},
"HostConfig": {
"Values": [
"www.example.com"
]
},
"MethodConfig": {
"Values": [
"PUT"
]
},
"PathConfig": {
"Values": [
"/test"
]
},
"QueryStringConfig": {
"Values": [
{
"Key": "test",
"Value": "test"
}
]
},
"Type": "Host"
}
],
"RuleName": "MyTestRule",
"ListenerId": {
"Ref": "ListenerId"
}
}
}
},
"Outputs": {
"RuleId": {
"Description": "転送ルールの ID。",
"Value": {
"Fn::GetAtt": [
"Rule",
"RuleId"
]
}
}
}
}