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

Edge Security Acceleration:Terraform を使用したウェイティングルームの設定

最終更新日:Apr 10, 2026

Terraform を使用して、ウェイティングルームを迅速に設定できます。これにより、キューイングメカニズムでオリジンをトラフィックの急増から保護します。

Terraform のインストールと権限の設定

コンピューターへの Terraform のインストールと設定

コンピューターで Terraform を使用する方法の詳細については、「Terraform のインストールと設定」をご参照ください。

  • RAM ユーザーの AccessKey ペアを作成します。Alibaba Cloud アカウント (root ユーザー) はリソースに対するすべての権限を持っています。Alibaba Cloud アカウントの AccessKey ペアが漏洩すると、ご利用のリソースが大きなリスクにさらされます。RAM ユーザーの AccessKey ペアを使用することを推奨します。詳細については、「AccessKey ペアの作成」をご参照ください。

  • 認証情報を保存するための環境変数を作成します。

    AccessKey 管理ページで AccessKey を作成および表示できます。

    環境変数が設定されていない場合、Terraform テンプレートの実行時に本人確認が失敗します。

オンラインサービスの利用 (インストールや権限設定は不要)

Terraform をインストールしたくない場合は、オンラインサービスの Cloud Shell を利用できます。

Alibaba Cloud の Cloud Shell は無料の運用保守 (O&M) プロダクトです。Terraform コンポーネントがプリインストール済みで、認証情報も設定されているため、Cloud Shell で直接 Terraform コマンドを実行できます。詳細については、「Terraform を使用したリソースの作成」をご参照ください。

重要

Cloud Shell で Terraform を使用する際、その削除機能によりデータ損失が発生する可能性があります。デバッグなどの単純で迅速な操作にのみ Cloud Shell を使用することを推奨します。使用制限の詳細については、「使用制限」をご参照ください。

リソース

操作手順

  1. ウェイティングルームを設定するために、main.tf という名前のファイルを作成し、次のコードを追加します:

    # 1. Enterprise 版 ESA インスタンスの照会
    data "alicloud_esa_sites" "default" {
      plan_subscribe_type = "enterpriseplan"  # Enterprise 版インスタンスをフィルタリング
    }
    
    # 2. サイトの作成
    resource "alicloud_esa_site" "resource_Site_example" {
      site_name   = "{{DOMAIN}}"  # ご利用のドメイン名 (例: example.com) に置き換えます
      instance_id = data.alicloud_esa_sites.default.sites.0.instance_id
      coverage    = "overseas"  # 海外アクセラレーション
      access_type = "NS"         # NS アクセスモード
    }
    
    # 3. ウェイティングルームの作成
    resource "alicloud_esa_waiting_room" "default" {
      site_id                        = alicloud_esa_site.resource_Site_example.id
      waiting_room_name              = "waitingroom_example"  # ウェイティングルーム名
      description                    = "example"
      status                         = "off"  # デフォルトでは無効。手動で有効にする必要があります。
      waiting_room_type              = "default"
    
      # キューイングポリシーの設定
      queuing_method                 = "fifo"  # FIFO キューイング方式
      session_duration               = "5"    # セッション期間 (分)
      total_active_users             = "300"  # 最大同時接続ユーザー数
      new_users_per_minute           = "200"  # 1分あたりに入室を許可する新規ユーザー数
    
      # マッチングルール:キューイングをトリガーする条件
      host_name_and_path {
        domain    = "sub_domain.com"         # マッチングするホスト名
        path      = "/example"                # マッチングするパス
        subdomain = "example_sub_domain.com."  # マッチングするサブドメイン
      }
    
      # ページ表示設定
      language                       = "zhcn"  # キューイングページの言語:簡体字中国語
      custom_page_html               = ""      # 空の値はデフォルトのキューイングページを使用
      queuing_status_code            = "200"   # キューイング中に返される HTTP ステータスコード
      cookie_name                    = "__aliwaitingroom_example"  # クッキー名
    
      # 詳細オプション
      queue_all_enable               = "off"  # すべてのユーザーをキューに入れるかどうかを指定
      disable_session_renewal_enable = "off"  # セッション更新を無効にするかどうかを指定
      json_response_enable           = "off"  # JSON 応答を返すかどうかを指定
    }
    説明

    コード内のプレースホルダーを実際の値に置き換えてください。DOMAIN をご利用のドメイン名に置き換え、host_name_and_path ブロック内のドメインとパスをキューイング条件に合わせて更新してください。パラメーターの説明については、「関連ドキュメント」セクションをご参照ください。

  2. 設定ファイルが含まれるディレクトリに移動します。次に、以下のコマンドを実行して Terraform 環境を初期化します。

    terraform init

    image

  3. 以下のコマンドを実行して、Terraform ファイルの構文と設定を検証します。

    terraform validate

    出力が次の図のようであれば、検証は成功です。

    image

  4. 以下のコマンドを実行して、適用される変更をプレビューします。

    terraform plan
  5. 以下のコマンドを実行して、Terraform スクリプトを実行します。

    terraform apply
  6. プロンプトが表示されたら、yes と入力して操作を確定します。

結果の確認

Terraform show コマンド

terraform apply の完了後、リソースをクリーンアップする前に、作業ディレクトリで次のコマンドを実行してリソースのステータスを確認します:

terraform show

コンソールでの確認

  1. ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。

  2. 左側のナビゲーションウィンドウで、トラフィック > ウェイティングルーム を選択します。

  3. ウェイティングルームページで、新しいウェイティングルームルールとその設定詳細 (ウェイティングルーム名、ステータス、キューイング方式、セッション期間、同時実行数制限など) を表示します。

関連ドキュメント

次の表に、コード例で使用されている主要なパラメーターを示します。

パラメーター

値の例

説明

plan_subscribe_type

"enterpriseplan"

Enterprise 版の ESA インスタンスをフィルタリングして、利用可能なインスタンス ID を取得します。

site_name

DOMAIN

サイトのドメイン名です。プレースホルダーを example.com などのご利用のドメイン名に置き換えます。

waiting_room_name

"waitingroom_example"

コンソールに表示されるウェイティングルームの名前です。

status

"off"

ウェイティングルームのステータスです。有効な値は off (無効) と on (有効) です。デフォルトでは無効になっており、有効にするには手動で有効化する必要があります。

queuing_method

"fifo"

キューイング方式です。fifo は先入れ先出し (First-In, First-Out) を示し、ユーザーは到着した順に入室を許可されます。

session_duration

"5"

キューから入室を許可された後のユーザーセッションの持続時間 (分) です。この時間内であれば、ユーザーは再度キューイングすることなくページをリフレッシュできます。

total_active_users

"300"

許可される最大同時接続ユーザー数です。これには、キューイング中のユーザーと既に入室済みのユーザーが含まれます。この制限に達すると、新規ユーザーはキューに配置されます。

new_users_per_minute

"200"

1分あたりにキューからオリジンへの入室を許可される新規ユーザーの最大数です。この設定は、オリジンの過負荷を防ぐためのトラフィックシェーピングレートとして機能します。

host_name_and_path.domain

"sub_domain.com"

マッチングするホスト名です。このホスト名へのリクエストがウェイティングルームをトリガーします。

host_name_and_path.path

"/example"

マッチングするパスです。このパスへのリクエストがウェイティングルームをトリガーします。

host_name_and_path.subdomain

"example_sub_domain.com."

マッチングするサブドメインです。これは、より具体的なマッチングのためのオプションのパラメーターです。

language

"zhcn"

キューイングページの言語です。zhcn は簡体字中国語、en は英語を指定します。

custom_page_html

""

カスタムキューイングページの HTML です。空のままにすると、デフォルトページが使用されます。

queuing_status_code

"200"

ユーザーがキューにいるときに返される HTTP ステータスコードです。これを 200 に設定すると、スムーズなフロントエンドのキューイング体験が保証されます。

cookie_name

"__aliwaitingroom_example"

キュー内でのユーザーの位置とセッションステータスを識別するために使用されるクッキーの名前です。

queue_all_enable

"off"

すべてのユーザーをキューに入れるかどうかを指定します。off は、トラフィックがしきい値を超えた場合にのみキューイングがトリガーされることを意味します。on は、すべてのユーザーがキューに入る必要があることを意味します。

disable_session_renewal_enable

"off"

セッション更新を無効にするかどうかを指定します。off は、ユーザーがページをリフレッシュすることでセッションを更新できることを許可します。on は、リフレッシュ時にユーザーが再キューイングされる可能性があります。

json_response_enable

"off"

JSON 応答を有効にするかどうかを指定します。off は HTML ページを返します。on は、API シナリオに適した JSON 形式でキューイング情報を返します。

可用性

説明

ウェイティングルーム機能は、Premium および Enterprise プランで利用できます。一部の機能には Waiting Room プロ版が必要で、これは Enterprise プランで利用可能です。有効にするには、お問い合わせください。

特徴

Premium

Enterprise

基本的なウェイティングルーム機能

サポート

サポート

ウェイティングルームの数

1

デフォルトで 1。Waiting Room プロ版では最大 10。

複数のホスト名とパス

非サポート

デフォルトで 1。Waiting Room プロ版では最大 50。

カスタムテンプレート

非サポート

Waiting Room プロ版で利用可能。

セッション更新の無効化

非サポート

Waiting Room プロ版で利用可能。

JSON フレンドリな応答

非サポート

Waiting Room プロ版で利用可能。

カスタムキュー状態コード

サポート

サポート

キューイング方式

FIFO のみサポート。

デフォルトで FIFO をサポート。Waiting Room プロ版ではすべてのキューイング方式が利用可能。

ウェイティングルームルール

非サポート

Waiting Room プロ版で最大 5 ルール。

ウェイティングルームイベント

非サポート

Waiting Room プロ版で最大 5 イベント。

SEO クローラーバイパス

サポート

サポート