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

Edge Security Acceleration:Terraform を使用した URL リライトルールの設定

最終更新日:Mar 27, 2026

Terraform を使用して、式に基づいてパスおよびクエリ文字列を変換するサイト向け URL リライトルールを設定できます。

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

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

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

  • RAM ユーザー向けに AccessKey ペアを作成します。Alibaba Cloud アカウント (root ユーザー) はすべてのリソースに対して完全な権限を持ちます。Alibaba Cloud アカウントの AccessKey ペアが漏洩した場合、関連するすべてのリソースが不正アクセスのリスクにさらされます。そのため、Alibaba Cloud アカウントではなく、RAM ユーザーの AccessKey ペアを使用することを推奨します。詳細については、「AccessKey ペアの作成」をご参照ください。

  • 認証情報を格納する環境変数を作成します。

    AccessKey は、AccessKey 管理 ページから作成および確認できます。

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

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

Terraform をローカルにインストールしたくない場合は、オンラインサービスの Cloud Shell をご利用ください。

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

重要

Cloud Shell で Terraform を使用する場合、`destroy` 機能によりデータ損失が発生する可能性があります。そのため、デバッグなどの簡易かつ迅速な操作のみに Cloud Shell をご使用いただくことを推奨します。制限事項の詳細については、「使用制限」をご参照ください。

リソース

URL リライトルールの設定

  1. main.tf という名前の構成ファイルを作成し、以下のコードをファイルにコピーします。このコードは、サイト向けに URL リライトルールを作成します。

    # 1. 既存サイトの情報を照会します。
    data "alicloud_esa_sites" "default" {
      site_name = "<span class="var-span" contenteditable="true" data-var="DOMAIN">{{DOMAIN}}"</span>  # Edge Security Acceleration に追加済みのサイトのドメイン名(例: example.com)に置き換えます。
    }
    
    # 2. URL リライトを設定します。/images/ で始まるパスを /static/img/ に書き換え、すべてのクエリパラメーターを削除します。
    resource "alicloud_esa_rewrite_url_rule" "example" {
      site_id                   = data.alicloud_esa_sites.default.sites[0].site_id
      rule_name                 = "rewrite-images-prefix"
      rule_enable               = "on"
      rule                      = "starts_with(http.request.uri.path, \"/images/\")"
      rewrite_uri_type          = "dynamic"
      uri                       = "regex_replace(http.request.uri.path, \"^/images/\", \"/static/img/\")"
      rewrite_query_string_type = "static"
      query_string              = ""  # 空の文字列は、すべてのクエリパラメーターが削除されることを示します。
    }
    
  2. 構成ファイルが格納されているディレクトリに移動し、以下のコマンドを実行して Terraform 環境を初期化します。

    terraform init

    image

  3. 以下のコマンドを実行して、Terraform ファイルの構文および構成を検証します。

    terraform validate

    出力が以下の図と同様の場合、検証は成功です。

    image

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

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

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

結果の確認

terraform show の実行

作業ディレクトリで以下のコマンドを実行し、Terraform によって作成されたリソースの詳細を表示します:

terraform show

コンソールでの確認

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

  2. 左側のナビゲーションウィンドウで、ルール > 変換ルール を選択し、作成したルールおよびその構成を確認します。

(任意)リソースのクリーンアップ

Terraform によって作成または管理されたリソースが不要になった場合は、terraform destroy コマンドを実行してリソースをリリースできます。

terraform destroy

リファレンス

rewrite_uri_type パラメーター

以下の表は、Terraform の alicloud_esa_rewrite_url_rule リソースにおける rewrite_uri_type パラメーターとして有効な値を示しています。

説明

説明

static

静的

パスを固定の宛先に書き換えます。

dynamic

動的

式を用いて宛先パスを動的に計算します。

rewrite_query_string_type パラメーター

同一リソースにおいて、以下の表は rewrite_query_string_type パラメーターとして有効な値を示しています。

説明

説明

static

静的

query_string で指定された固定値でクエリ文字列を置き換えます。空文字列を指定すると、すべてのクエリパラメーターが削除されます。

dynamic

動的

式を用いてクエリ文字列を動的に生成します。