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 をご使用いただくことを推奨します。制限事項の詳細については、「使用制限」をご参照ください。
リソース
サイト情報の照会: alicloud_esa_sites(既存サイトを参照するためのデータソース)
URL リライトルールの設定: alicloud_esa_rewrite_url_rule
URL リライトルールの設定
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 = "" # 空の文字列は、すべてのクエリパラメーターが削除されることを示します。 }構成ファイルが格納されているディレクトリに移動し、以下のコマンドを実行して Terraform 環境を初期化します。
terraform init
以下のコマンドを実行して、Terraform ファイルの構文および構成を検証します。
terraform validate出力が以下の図と同様の場合、検証は成功です。

以下のコマンドを実行して、適用される変更内容をプレビューします。
terraform plan以下のコマンドを実行して、Terraform スクリプトを実行します。
terraform applyプロンプトが表示されたら、操作を確定するために
yesを入力します。
結果の確認
terraform show の実行
作業ディレクトリで以下のコマンドを実行し、Terraform によって作成されたリソースの詳細を表示します:
terraform showコンソールでの確認
ESA コンソールで、サイト管理 を選択し、サイト 列から対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択し、作成したルールおよびその構成を確認します。
(任意)リソースのクリーンアップ
Terraform によって作成または管理されたリソースが不要になった場合は、terraform destroy コマンドを実行してリソースをリリースできます。
terraform destroyリファレンス
rewrite_uri_type パラメーター
以下の表は、Terraform の alicloud_esa_rewrite_url_rule リソースにおける rewrite_uri_type パラメーターとして有効な値を示しています。
値 | 説明 | 説明 |
| 静的 | パスを固定の宛先に書き換えます。 |
| 動的 | 式を用いて宛先パスを動的に計算します。 |
rewrite_query_string_type パラメーター
同一リソースにおいて、以下の表は rewrite_query_string_type パラメーターとして有効な値を示しています。
値 | 説明 | 説明 |
| 静的 |
|
| 動的 | 式を用いてクエリ文字列を動的に生成します。 |