すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::WAF3::TGW

最終更新日:Mar 17, 2025

ALIYUN::WAF3::TGW は、透過プロキシモードで Web Application Firewall(WAF)にリソースを追加するために使用されます。

構文

{
  "Type": "ALIYUN::WAF3::TGW",
  "Properties": {
    "InstanceId": String,
    "Listen": Map,
    "ResourceGroupId": String,
    "Redirect": Map
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

InstanceId

String

はい

いいえ

WAF インスタンスの ID。

なし。

Listen

Map

はい

はい

リスナー構成。

詳細については、このトピックの「Listen プロパティ」セクションをご参照ください。

ResourceGroupId

String

いいえ

はい

リソースグループの ID。

なし。

Redirect

Map

いいえ

はい

転送構成。

なし。

Listen 構文

"Listen": {
  "CustomCiphers": リスト,
  "TLSVersion": 文字列,
  "Http2Enabled": ブール値,
  "CipherSuite": 整数,
  "EnableTLSv3": ブール値,
  "Port": 整数,
  "ResourceProduct": 文字列,
  "Certificates": リスト,
  "Protocol": 文字列,
  "ResourceInstanceId": 文字列
}

リスンプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ポート

整数

はい

いいえ

リスニング ポート。

なし。

プロトコル

文字列

はい

いいえ

プロトコルの種類。

なし。

ResourceProduct

文字列

はい

いいえ

リソースが属するクラウド サービス。

なし。

ResourceInstanceId

文字列

はい

いいえ

WAF に追加するリソースの ID。

なし。

CustomCiphers

リスト

いいえ

はい

カスタム暗号スイート。

このプロパティは、CipherSuite が 99 に設定されている場合にのみ使用できます。最大 5 つのカスタム暗号スイートを指定できます。

CipherSuite

整数

いいえ

はい

追加する暗号スイートの種類。

有効な値:

  • 1: すべての暗号スイート

  • 2: 強力な暗号スイート

  • 99: カスタム暗号スイート

Certificates

リスト

いいえ

はい

証明書にバインドするドメイン名。

最大 10 個の証明書をバインドできます。

EnableTLSv3

ブール値

いいえ

はい

TLS 1.3 をサポートするかどうかを指定します。

有効な値:

  • true

  • false

Http2Enabled

ブール値

いいえ

はい

HTTP/2 を有効にするかどうかを指定します。

有効な値:

  • true

  • false

TLSVersion

文字列

いいえ

はい

TLS バージョン。

有効な値:

  • tlsv1

  • tlsv1.1

  • tlsv1.2

証明書の構文

"Certificates": [
  {
    "AppliedType": 文字列,
    "CertificateId": 文字列
  }
]

証明書のプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

AppliedType

String

いいえ

はい

HTTPS 証明書のタイプ。

有効な値:

  • default: デフォルト証明書

  • extension: 追加証明書

CertificateId

String

いいえ

はい

追加された証明書の ID。

なし。

構文

"Redirect": {
  "XffHeaders": リスト,
  "WriteTimeout": 整数,
  "XffHeaderMode": 整数,
  "Keepalive": ブール値,
  "RequestHeaders": リスト,
  "KeepaliveRequests": 整数,
  "KeepaliveTimeout": 整数,
  "ReadTimeout": 整数,
  "XffProto": ブール値
}

プロパティ

プロパティ

種類

必須

編集可能

説明

制約

キープアライブ

ブール値

いいえ

はい

持続的接続機能を有効にするかどうかを指定します。

有効な値:

  • true (デフォルト)

  • false

キープアライブ要求

整数

いいえ

はい

再利用される持続的接続の数。

有効な値:60 ~ 1000。

KeepaliveTimeout

整数

いいえ

はい

アイドル状態の持続的接続のタイムアウト期間。

有効な値:1 ~ 60。デフォルト値:15。単位:秒。

リクエストヘッダー

リスト

いいえ

はい

キーと値の形式のヘッダーフィールド。

このプロパティを使用すると、WAF によって処理されるトラフィックにラベルを付けることができます。

ReadTimeout

整数

いいえ

はい

読み取り接続のタイムアウト期間。

単位:秒。有効な値:1 ~ 3600。

書き込みタイムアウト

整数

いいえ

はい

書き込み接続のタイムアウト期間です。

単位:秒。有効な値:1 ~ 3600。

XffHeaders

リスト

いいえ

はい

クライアントの実際の IP アドレスを取得するために使用されるカスタム ヘッダー フィールド。

値の形式: ["header1", "header2", ... ]。最大 20 個のカスタムヘッダーフィールドを指定できます。

XffHeaderMode

整数

いいえ

はい

WAF がクライアントの実際の IP アドレスを取得するために使用するメソッド。

有効な値:

  • 0: クライアントからのトラフィックは、WAF に到達する前にレイヤー 7 プロキシによって転送されません。

  • 1: WAF は、X-Forwarded-For (XFF) ヘッダーフィールドの最初の値をクライアントの実際の IP アドレスとして読み取ります。

  • 2: WAF は、カスタムヘッダーフィールドの値をクライアントの実際の IP アドレスとして読み取ります。

XffProto

ブール値

いいえ

はい

WAF がオリジンサーバーにリクエストを転送するために使用するプロトコルを識別するために、 X-Forward-For-Proto ヘッダーを使用するかどうかを指定します。

有効な値:

  • true (デフォルト)

  • false

Listen 構文

"RequestHeaders": [
  {
    "Value": 文字列,
    "Key": 文字列
  }
]

RequestHeaders プロパティ

プロパティ

必須

編集可能

説明

制約

Key

String

いいえ

はい

カスタムヘッダーフィールドのキー。

なし。

Value

String

いいえ

はい

カスタムヘッダーフィールドの値。

なし。

戻り値

Fn::GetAtt

  • InstanceId: WAF インスタンスの ID。

  • Port: リソースが属するクラウド サービスのポート。

  • ResourceProduct: リソースが属するクラウド サービス。

  • TgwId: 透明なプロキシモードで WAF に追加されたリソースの ID。

Listen プロパティ

  • YAML 形式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      InstanceId:
        Type: String
        Description:
          ja: WAF インスタンスの ID。
        Required: true
      Listen:
        AssociationPropertyMetadata:
          Parameters:
            CustomCiphers:
              Type: Json
              Description:
                ja: 暗号スイートリストをカスタマイズします。このパラメーターは、CipherSuite が 99 に設定されている場合にのみ使用されます。
              Required: false
              MinLength: 0
              MaxLength: 5
            TLSVersion:
              Type: String
              Description:
                ja: |-
                  追加する TLS バージョン。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:
                  tlsv1
                  tlsv1.1
                  tlsv1.2
              AllowedValues:
                - tlsv1
                - tlsv1.1
                - tlsv1.2
              Required: false
            Http2Enabled:
              Type: Boolean
              Description:
                ja: |-
                  HTTP2 を有効にするかどうか。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:
                  true: HTTP2 を有効にします。
                  false (デフォルト): HTTP2 を無効にします。
              Required: false
            CipherSuite:
              Type: Number
              Description:
                ja: |-
                  追加する暗号スイートのタイプ。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:
                  1: すべての暗号スイートを追加することを示します。
                  2: 強い暗号スイートを追加することを示します。この値は、TLSVersion の値が tlsv1.2 の場合にのみ選択できます。
                  99: カスタム暗号スイートを追加することを示します。
              Required: false
            EnableTLSv3:
              Type: Boolean
              Description:
                ja: |-
                  TSL1.3 バージョンをサポートするかどうか。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:
                  true: TSL1.3 バージョンがサポートされていることを示します。
                  false: TSL1.3 バージョンがサポートされていないことを示します。
              Required: false
            Port:
              Type: Number
              Description:
                ja: WAF のクラウドプロダクトポートにアクセスします。
              Required: true
            ResourceProduct:
              Type: String
              Description:
                ja: WAF クラウドプロダクトへのアクセス。
              Required: true
            Certificates:
              AssociationPropertyMetadata:
                Parameters:
                  AppliedType:
                    Type: String
                    Description:
                      ja: |-
                        HTTPS プロトコルの証明書のタイプ。有効な値:
                        default: デフォルトの証明書を示します。
                        extension: 拡張証明書を示します。
                    AllowedValues:
                      - default
                      - extension
                    Required: false
                  CertificateId:
                    Type: String
                    Description:
                      ja: 追加された証明書の ID。
                    Required: false
              AssociationProperty: List[Parameters]
              Type: Json
              Description:
                ja: 証明書にバインドされているドメイン名。
              Required: false
              MinLength: 0
              MaxLength: 10
            Protocol:
              Type: String
              Description:
                ja: プロトコルタイプ
              Required: true
            ResourceInstanceId:
              Type: String
              Description:
                ja: WAF に接続されているクラウドプロダクトのインスタンス ID。
              Required: true
        Type: Json
        Description:
          ja: リスニング情報。
        Required: true
    Resources:
      ExtensionResource:
        Type: ALIYUN::WAF3::TGW
        Properties:
          InstanceId:
            Ref: InstanceId
          Listen:
            Ref: Listen
    Outputs:
      InstanceId:
        Description: WAF インスタンスの ID。
        Value:
          Fn::GetAtt:
            - ExtensionResource
            - InstanceId
      Port:
        Description: WAF のクラウドプロダクトポートにアクセスします。
        Value:
          Fn::GetAtt:
            - ExtensionResource
            - Port
      ResourceProduct:
        Description: WAF クラウドプロダクトへのアクセス。
        Value:
          Fn::GetAtt:
            - ExtensionResource
            - ResourceProduct
      TgwId:
        Description: 透明なアクセスリソースの保護オブジェクト ID。
        Value:
          Fn::GetAtt:
            - ExtensionResource
            - TgwId
    
  • JSON 形式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "InstanceId": {
          "Type": "String",
          "Description": {
            "ja": "WAF インスタンスの ID。"
          },
          "Required": true
        },
        "Listen": {
          "AssociationPropertyMetadata": {
            "Parameters": {
              "CustomCiphers": {
                "Type": "Json",
                "Description": {
                  "ja": "暗号スイートリストをカスタマイズします。このパラメーターは、CipherSuite が 99 に設定されている場合にのみ使用されます。"
                },
                "Required": false,
                "MinLength": 0,
                "MaxLength": 5
              },
              "TLSVersion": {
                "Type": "String",
                "Description": {
                  "ja": "追加する TLS バージョン。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:\ntlsv1\ntlsv1.1\ntlsv1.2"
                },
                "AllowedValues": [
                  "tlsv1",
                  "tlsv1.1",
                  "tlsv1.2"
                ],
                "Required": false
              },
              "Http2Enabled": {
                "Type": "Boolean",
                "Description": {
                  "ja": "HTTP2 を有効にするかどうか。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:\ntrue: HTTP2 を有効にします。\nfalse (デフォルト): HTTP2 を無効にします。"
                },
                "Required": false
              },
              "CipherSuite": {
                "Type": "Number",
                "Description": {
                  "ja": "追加する暗号スイートのタイプ。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:\n1: すべての暗号スイートを追加することを示します。\n2: 強い暗号スイートを追加することを示します。この値は、TLSVersion の値が tlsv1.2 の場合にのみ選択できます。\n99: カスタム暗号スイートを追加することを示します。"
                },
                "Required": false
              },
              "EnableTLSv3": {
                "Type": "Boolean",
                "Description": {
                  "ja": "TSL1.3 バージョンをサポートするかどうか。このパラメーターは、HttpsPorts の値が空でない場合(ドメイン名が HTTPS プロトコルを使用していることを示す)にのみ使用されます。値:\ntrue: TSL1.3 バージョンがサポートされていることを示します。\nfalse: TSL1.3 バージョンがサポートされていないことを示します。"
                },
                "Required": false
              },
              "Port": {
                "Type": "Number",
                "Description": {
                  "ja": "WAF のクラウドプロダクトポートにアクセスします。"
                },
                "Required": true
              },
              "ResourceProduct": {
                "Type": "String",
                "Description": {
                  "ja": "WAF クラウドプロダクトへのアクセス。"
                },
                "Required": true
              },
              "Certificates": {
                "AssociationPropertyMetadata": {
                  "Parameters": {
                    "AppliedType": {
                      "Type": "String",
                      "Description": {
                        "ja": "HTTPS プロトコルの証明書のタイプ。有効な値:\ndefault: デフォルトの証明書を示します。\nextension: 拡張証明書を示します。"
                      },
                      "AllowedValues": [
                        "default",
                        "extension"
                      ],
                      "Required": false
                    },
                    "CertificateId": {
                      "Type": "String",
                      "Description": {
                        "ja": "追加された証明書の ID。"
                      },
                      "Required": false
                    }
                  }
                },
                "AssociationProperty": "List[Parameters]",
                "Type": "Json",
                "Description": {
                  "ja": "証明書にバインドされているドメイン名。"
                },
                "Required": false,
                "MinLength": 0,
                "MaxLength": 10
              },
              "Protocol": {
                "Type": "String",
                "Description": {
                  "ja": "プロトコルタイプ"
                },
                "Required": true
              },
              "ResourceInstanceId": {
                "Type": "String",
                "Description": {
                  "ja": "WAF に接続されているクラウドプロダクトのインスタンス ID。"
                },
                "Required": true
              }
            }
          },
          "Type": "Json",
          "Description": {
            "ja": "リスニング情報。"
          },
          "Required": true
        }
      },
      "Resources": {
        "ExtensionResource": {
          "Type": "ALIYUN::WAF3::TGW",
          "Properties": {
            "InstanceId": {
              "Ref": "InstanceId"
            },
            "Listen": {
              "Ref": "Listen"
            }
          }
        }
      },
      "Outputs": {
        "InstanceId": {
          "Description": "WAF インスタンスの ID。",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "InstanceId"
            ]
          }
        },
        "Port": {
          "Description": "WAF のクラウドプロダクトポートにアクセスします。",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "Port"
            ]
          }
        },
        "ResourceProduct": {
          "Description": "WAF クラウドプロダクトへのアクセス。",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "ResourceProduct"
            ]
          }
        },
        "TgwId": {
          "Description": "透明なアクセスリソースの保護オブジェクト ID。",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "TgwId"
            ]
          }
        }
      }
    }