ALIYUN::GA::Listener はリスナーを作成します。
構文
{
"Type": "ALIYUN::GA::Listener",
"Properties": {
"Description": String,
"PortRanges": List,
"Protocol": String,
"AcceleratorId": String,
"Name": String,
"ClientAffinity": String,
"Certificates": List,
"SecurityPolicyId": String,
"ProxyProtocol": Boolean,
"XForwardedForConfig": Map,
"RequestTimeout": Integer,
"IdleTimeout": Integer,
"HttpVersion": String,
"Type": String
}
}
プロパティ
|
プロパティ |
タイプ |
必須 |
編集可能 |
説明 |
制約 |
|
AcceleratorId |
String |
はい |
いいえ |
Global Accelerator インスタンスの ID。 |
なし |
|
PortRanges |
List |
はい |
はい |
リッスンポート。 |
最大 10 個のリッスンポートがサポートされています。 詳細については、「PortRanges プロパティ」をご参照ください。 |
|
Protocol |
String |
はい |
はい |
リスナーのネットワークトランスポートプロトコル。 |
有効値:
|
|
Certificates |
List |
いいえ |
はい |
SSL 証明書。 |
詳細については、「Certificates プロパティ」をご参照ください。 |
|
ClientAffinity |
String |
いいえ |
はい |
クライアントアフィニティの設定。 |
有効値:
|
|
Description |
String |
いいえ |
はい |
リスナーの説明。 |
なし |
|
HttpVersion |
String |
いいえ |
はい |
最大 HTTP バージョン。 |
有効値:
説明
このパラメーターは HTTPS リスナーでのみサポートされます。 |
|
IdleTimeout |
Integer |
いいえ |
はい |
アイドル接続タイムアウト期間。 |
単位:秒。プロトコルごとの有効値とデフォルト値:
|
|
Name |
String |
いいえ |
はい |
リスナーの名前。 |
名前は 2~128 文字である必要があります。文字または漢字で始まる必要があります。文字、漢字、数字、アンダースコア (_)、ハイフン (-) を使用できます。 |
|
ProxyProtocol |
Boolean |
いいえ |
はい |
クライアントの送信元 IP アドレスを保持するかどうか。 |
有効値:
説明
このパラメーターは、リスナー API を使用して設定されなくなります。このパラメーターは、エンドポイントグループの API を使用して設定します。 ProxyProtocol の詳細については、「CreateEndpointGroup」および「UpdateEndpointGroup」をご参照ください。 |
|
RequestTimeout |
Integer |
いいえ |
はい |
リクエストタイムアウト期間。 |
単位:秒。有効値:1~180。デフォルト値:60。 説明
このパラメーターは、HTTP または HTTPS リスナーに対してのみ有効です。バックエンドサーバーがタイムアウト期間内に応答しない場合、Global Accelerator は待機を停止し、クライアントに HTTP 504 を返します。 |
|
SecurityPolicyId |
String |
いいえ |
はい |
セキュリティポリシーの ID。 |
有効値:
説明
このパラメーターは HTTPS リスナーでのみサポートされます。 |
|
Type |
String |
いいえ |
いいえ |
リスナーのルーティングタイプ。 |
有効値:
説明
カスタムルーティングリスナー機能はプレビュー段階です。この機能を使用するには、Alibaba Cloud アカウントマネージャーにご連絡ください。 標準の Global Accelerator インスタンスは、2 つのルーティングタイプのリスナーを同時にサポートしません。リスナーの設定後にルーティングタイプを変更することはできません。 |
|
XForwardedForConfig |
Map |
いいえ |
はい |
XForward フィールド設定。 |
詳細については、「XForwardedForConfig プロパティ」をご参照ください。 |
Certificates の構文
"Certificates": [
{
"Id": String
}
]
Certificates のプロパティ
|
プロパティ |
タイプ |
必須 |
編集可能 |
説明 |
制約 |
|
Id |
String |
はい |
はい |
SSL 証明書の ID。 |
説明
このパラメーターは HTTPS リスナーでのみ必須です。 |
XForwardedForConfig の構文
"XForwardedForConfig": {
"XRealIpEnabled": Boolean,
"XForwardedForGaIdEnabled": Boolean,
"XForwardedForGaApEnabled": Boolean,
"XForwardedForPortEnabled": Boolean,
"XForwardedForProtoEnabled": Boolean
}
XForwardedForConfig のプロパティ
|
プロパティ |
タイプ |
必須 |
編集可能 |
説明 |
制約 |
|
XForwardedForGaApEnabled |
Boolean |
いいえ |
はい |
GA-AP ヘッダーを使用して加速リージョン情報を取得するかどうか。 |
有効値:
説明
このパラメーターは、HTTP および HTTPS リスナーでのみサポートされます。 |
|
XForwardedForGaIdEnabled |
Boolean |
いいえ |
はい |
GA-ID ヘッダーを使用して Global Accelerator インスタンスの ID を取得するかどうか。 |
有効値:
説明
このパラメーターは、HTTP および HTTPS リスナーでのみサポートされます。 |
|
XForwardedForPortEnabled |
Boolean |
いいえ |
はい |
GA-X-Forward-Port ヘッダーを使用して Global Accelerator インスタンスのリッスンポートを取得するかどうか。 |
有効値:
説明
このパラメーターは、HTTP および HTTPS リスナーでのみサポートされます。 |
|
XForwardedForProtoEnabled |
Boolean |
いいえ |
はい |
GA-X-Forward-Proto ヘッダーを使用して Global Accelerator インスタンスのリッスンプロトコルを取得するかどうか。 |
有効値:
説明
このパラメーターは、HTTP および HTTPS リスナーでのみサポートされます。 |
|
XRealIpEnabled |
Boolean |
いいえ |
はい |
X-Real-IP ヘッダーを使用してクライアントのリアル IP アドレスを取得するかどうか。 |
有効値:
説明
このパラメーターは、HTTP および HTTPS リスナーでのみサポートされます。 |
PortRanges の構文
"PortRanges": [
{
"FromPort": Integer,
"ToPort": Integer
}
]
PortRanges のプロパティ
|
プロパティ |
タイプ |
必須 |
編集可能 |
説明 |
制約 |
|
FromPort |
Integer |
はい |
はい |
エンドポイントへのリクエストを受信および転送するために使用されるリッスンポート範囲の最初のポート。 |
なし |
|
ToPort |
Integer |
はい |
はい |
エンドポイントへのリクエストを受信および転送するために使用されるリッスンポート範囲の最後のポート。 |
なし |
戻り値
Fn::GetAtt
-
ListenerId:リスナーの ID。
例
シナリオ 1:レイヤー 4 アクセラレーションのために GA インスタンスの TCP リスナーを作成する
ROSTemplateFormatVersion: '2015-09-01'
Description: レイヤー 4 プロトコルアクセラレーションのために、Global Accelerator インスタンスの TCP リスナーを作成します。
Parameters:
AcceleratorId:
Type: String
Label: アクセラレータ ID
Description: 既存の Global Accelerator インスタンスの ID。
ListenerName:
Type: String
Label: リスナー名
Description: >-
リスナー名。2~128 文字で、英字または漢字で始まる必要があります。
Default: tcp-listener
FromPort:
Type: Number
Label: 開始リッスンポート
Description: リッスンポート範囲の開始ポート。
Default: 9000
MinValue: 1
MaxValue: 65499
ToPort:
Type: Number
Label: 終了リッスンポート
Description: リッスンポート範囲の終了ポート。単一ポートの場合は開始ポートと同じです。
Default: 9000
MinValue: 1
MaxValue: 65499
Resources:
Listener:
Type: ALIYUN::GA::Listener
Properties:
AcceleratorId:
Ref: AcceleratorId
Name:
Ref: ListenerName
Protocol: tcp
PortRanges:
- FromPort:
Ref: FromPort
ToPort:
Ref: ToPort
ClientAffinity: SOURCE_IP
Outputs:
ListenerId:
Label: リスナー ID
Description: 作成されたリスナーの一意の識別子。
Value:
Fn::GetAtt:
- Listener
- ListenerId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "レイヤー 4 プロトコルアクセラレーションのために、Global Accelerator インスタンスの TCP リスナーを作成します。",
"Parameters": {
"AcceleratorId": {
"Type": "String",
"Label": "アクセラレータ ID",
"Description": "既存の Global Accelerator インスタンスの ID。"
},
"ListenerName": {
"Type": "String",
"Label": "リスナー名",
"Description": "リスナー名。2~128 文字で、英字または漢字で始まる必要があります。",
"Default": "tcp-listener"
},
"FromPort": {
"Type": "Number",
"Label": "開始リッスンポート",
"Description": "リッスンポート範囲の開始ポート。",
"Default": 9000,
"MinValue": 1,
"MaxValue": 65499
},
"ToPort": {
"Type": "Number",
"Label": "終了リッスンポート",
"Description": "リッスンポート範囲の終了ポート。単一ポートの場合は開始ポートと同じです。",
"Default": 9000,
"MinValue": 1,
"MaxValue": 65499
}
},
"Resources": {
"Listener": {
"Type": "ALIYUN::GA::Listener",
"Properties": {
"AcceleratorId": {
"Ref": "AcceleratorId"
},
"Name": {
"Ref": "ListenerName"
},
"Protocol": "tcp",
"PortRanges": [
{
"FromPort": {
"Ref": "FromPort"
},
"ToPort": {
"Ref": "ToPort"
}
}
],
"ClientAffinity": "SOURCE_IP"
}
}
},
"Outputs": {
"ListenerId": {
"Label": "リスナー ID",
"Description": "作成されたリスナーの一意の識別子。",
"Value": {
"Fn::GetAtt": [
"Listener",
"ListenerId"
]
}
}
}
}シナリオ 2:XForwardedFor 設定で HTTP リスナーを作成し、クライアントのリアル IP とアクセラレーション情報を取得する
ROSTemplateFormatVersion: '2015-09-01'
Description: クライアント IP と GA 情報を取得するために、XForwardedFor 設定で HTTP リスナーを作成します。
Parameters:
AcceleratorId:
Type: String
Label: アクセラレータ ID
Description: 既存の Global Accelerator インスタンスの ID。
ListenerName:
Type: String
Label: リスナー名
Description: リスナーの名前。
Default: http-listener
Resources:
Listener:
Type: ALIYUN::GA::Listener
Properties:
AcceleratorId:
Ref: AcceleratorId
Name:
Ref: ListenerName
Description: クライアントとアクセラレーション情報を取得するために XForwardedFor が有効になっている HTTP リスナー。
Protocol: http
PortRanges:
- FromPort: 80
ToPort: 80
- FromPort: 8080
ToPort: 8080
ClientAffinity: NONE
XForwardedForConfig:
XRealIpEnabled: true
XForwardedForGaIdEnabled: true
XForwardedForGaApEnabled: true
XForwardedForPortEnabled: true
XForwardedForProtoEnabled: true
Outputs:
ListenerId:
Label: リスナー ID
Description: 作成された HTTP リスナーの一意の識別子。
Value:
Fn::GetAtt:
- Listener
- ListenerId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "クライアント IP と GA 情報を取得するために、XForwardedFor 設定で HTTP リスナーを作成します。",
"Parameters": {
"AcceleratorId": {
"Type": "String",
"Label": "アクセラレータ ID",
"Description": "既存の Global Accelerator インスタンスの ID。"
},
"ListenerName": {
"Type": "String",
"Label": "リスナー名",
"Description": "リスナーの名前。",
"Default": "http-listener"
}
},
"Resources": {
"Listener": {
"Type": "ALIYUN::GA::Listener",
"Properties": {
"AcceleratorId": {
"Ref": "AcceleratorId"
},
"Name": {
"Ref": "ListenerName"
},
"Description": "クライアントとアクセラレーション情報を取得するために XForwardedFor が有効になっている HTTP リスナー。",
"Protocol": "http",
"PortRanges": [
{
"FromPort": 80,
"ToPort": 80
},
{
"FromPort": 8080,
"ToPort": 8080
}
],
"ClientAffinity": "NONE",
"XForwardedForConfig": {
"XRealIpEnabled": true,
"XForwardedForGaIdEnabled": true,
"XForwardedForGaApEnabled": true,
"XForwardedForPortEnabled": true,
"XForwardedForProtoEnabled": true
}
}
}
},
"Outputs": {
"ListenerId": {
"Label": "リスナー ID",
"Description": "作成された HTTP リスナーの一意の識別子。",
"Value": {
"Fn::GetAtt": [
"Listener",
"ListenerId"
]
}
}
}
}シナリオ 3:SSL 証明書と TLS セキュリティポリシーを使用して HTTPS リスナーを作成し、セキュアなグローバルアクセラレーションを実現する
ROSTemplateFormatVersion: '2015-09-01'
Description: SSL 証明書と TLS セキュリティポリシーを使用して HTTPS リスナーを作成します。
Parameters:
AcceleratorId:
Type: String
Label: アクセラレータ ID
Description: 既存の Global Accelerator インスタンスの ID。
ListenerName:
Type: String
Label: リスナー名
Description: HTTPS リスナーの名前。
Default: https-listener
CertificateId:
Type: String
Label: SSL 証明書 ID
Description: >-
SSL Certificates Service コンソールで入手可能な SSL 証明書 ID。
証明書は加速ドメインと一致する必要があります。
SecurityPolicyId:
Type: String
Label: TLS セキュリティポリシー
Description: >-
サポートされる TLS バージョンと暗号スイートを制御する TLS セキュリティポリシー。
tls_cipher_policy_1_2_strict_with_1_3:TLSv1.2+1.3、最高のセキュリティ (推奨)。
Default: tls_cipher_policy_1_2_strict_with_1_3
AllowedValues:
- tls_cipher_policy_1_2_strict_with_1_3
- tls_cipher_policy_1_2_strict
- tls_cipher_policy_1_2
- tls_cipher_policy_1_1
- tls_cipher_policy_1_0
ClientAffinity:
Type: String
Label: クライアントアフィニティ
Description: >-
SOURCE_IP:クライアントアフィニティを維持し、同じクライアントは常に同じエンドポイントに接続します。
NONE:アフィニティなし、リクエストは異なるエンドポイントに接続される可能性があります。
Default: SOURCE_IP
AllowedValues:
- SOURCE_IP
- NONE
Resources:
Listener:
Type: ALIYUN::GA::Listener
Properties:
AcceleratorId:
Ref: AcceleratorId
Name:
Ref: ListenerName
Description: SSL 証明書と TLS セキュリティポリシーが設定された HTTPS セキュアリスナー。
Protocol: https
PortRanges:
- FromPort: 443
ToPort: 443
ClientAffinity:
Ref: ClientAffinity
Certificates:
- Id:
Ref: CertificateId
SecurityPolicyId:
Ref: SecurityPolicyId
XForwardedForConfig:
XRealIpEnabled: true
XForwardedForGaIdEnabled: true
XForwardedForGaApEnabled: false
XForwardedForPortEnabled: true
XForwardedForProtoEnabled: true
Outputs:
ListenerId:
Label: リスナー ID
Description: 作成された HTTPS リスナーの一意の識別子。
Value:
Fn::GetAtt:
- Listener
- ListenerId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "SSL 証明書と TLS セキュリティポリシーを使用して HTTPS リスナーを作成します。",
"Parameters": {
"AcceleratorId": {
"Type": "String",
"Label": "アクセラレータ ID",
"Description": "既存の Global Accelerator インスタンスの ID。"
},
"ListenerName": {
"Type": "String",
"Label": "リスナー名",
"Description": "HTTPS リスナーの名前。",
"Default": "https-listener"
},
"CertificateId": {
"Type": "String",
"Label": "SSL 証明書 ID",
"Description": "SSL Certificates Service コンソールで入手可能な SSL 証明書 ID。証明書は加速ドメインと一致する必要があります。"
},
"SecurityPolicyId": {
"Type": "String",
"Label": "TLS セキュリティポリシー",
"Description": "サポートされる TLS バージョンと暗号スイートを制御する TLS セキュリティポリシー。tls_cipher_policy_1_2_strict_with_1_3:TLSv1.2+1.3、最高のセキュリティ (推奨)。",
"Default": "tls_cipher_policy_1_2_strict_with_1_3",
"AllowedValues": [
"tls_cipher_policy_1_2_strict_with_1_3",
"tls_cipher_policy_1_2_strict",
"tls_cipher_policy_1_2",
"tls_cipher_policy_1_1",
"tls_cipher_policy_1_0"
]
},
"ClientAffinity": {
"Type": "String",
"Label": "クライアントアフィニティ",
"Description": "SOURCE_IP:クライアントアフィニティを維持し、同じクライアントは常に同じエンドポイントに接続します。NONE:アフィニティなし、リクエストは異なるエンドポイントに接続される可能性があります。",
"Default": "SOURCE_IP",
"AllowedValues": [
"SOURCE_IP",
"NONE"
]
}
},
"Resources": {
"Listener": {
"Type": "ALIYUN::GA::Listener",
"Properties": {
"AcceleratorId": {
"Ref": "AcceleratorId"
},
"Name": {
"Ref": "ListenerName"
},
"Description": "SSL 証明書と TLS セキュリティポリシーが設定された HTTPS セキュアリスナー。",
"Protocol": "https",
"PortRanges": [
{
"FromPort": 443,
"ToPort": 443
}
],
"ClientAffinity": {
"Ref": "ClientAffinity"
},
"Certificates": [
{
"Id": {
"Ref": "CertificateId"
}
}
],
"SecurityPolicyId": {
"Ref": "SecurityPolicyId"
},
"XForwardedForConfig": {
"XRealIpEnabled": true,
"XForwardedForGaIdEnabled": true,
"XForwardedForGaApEnabled": false,
"XForwardedForPortEnabled": true,
"XForwardedForProtoEnabled": true
}
}
}
},
"Outputs": {
"ListenerId": {
"Label": "リスナー ID",
"Description": "作成された HTTPS リスナーの一意の識別子。",
"Value": {
"Fn::GetAtt": [
"Listener",
"ListenerId"
]
}
}
}
}