Terraform を使用してサイトの開発モードを迅速に有効化します。これにより、オリジンコンテンツへの変更に対するデバッグと検証が簡素化されます。
Terraform のインストールと権限設定
コンピューターへの Terraform のインストールと設定
コンピューターで Terraform を使用する方法の詳細については、「Terraform のインストールと設定」をご参照ください。
RAM ユーザーの AccessKey ペアを作成します。Alibaba Cloud アカウント (root ユーザー) はリソースに対するすべての権限を持っています。Alibaba Cloud アカウントの AccessKey ペアが漏洩すると、ご利用のリソースが重大なリスクにさらされます。Resource Access Management (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_rate_plan_instance
サイトリソースの作成: alicloud_esa_site
乱数の生成: random_integer (テストドメイン名の生成に使用)
サイト開発モードの設定
作業ディレクトリを作成します。次に、以下で説明するようにディレクトリ内に設定ファイルを作成し、必要に応じてコード内の設定を調整します。
プロバイダーと Terraform バージョンの定義
まず、providers.tf という名前の設定ファイルを作成します。次に、以下のコードをその設定ファイルにコピーして、すべてのプロバイダー設定とバージョン制約を一元管理します。
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "1.266.0"
region = "ap-southeast-1"
}
}
}リソースの定義
main.tfという名前の設定ファイルを作成します。次に、以下のコードをファイルにコピーして、開発モードが有効なサイトを作成します。# 1. サイトプランの購入 resource "alicloud_esa_rate_plan_instance" "default" { type = "NS" # サイトアクセスタイプ: NS (DNS サーバー) または CNAME auto_renew = true # 自動更新を有効にするかどうか period = "1" # 購入期間 (単位: 月) coverage = "overseas" # アクセラレーションリージョン。詳細については、本トピックの「パラメーターの説明」セクションをご参照ください。 auto_pay = true # 自動支払い plan_name = "basic" # プラン名。詳細については、本トピックの「プランタイプ」セクションをご参照ください。 payment_type = "Subscription" # 支払いタイプ } # 2. 乱数の生成 (一意のテストドメイン名を生成するため) resource "random_integer" "default" { min = 10000 max = 99999 } # 3. サイトを作成し、開発モードを有効にする resource "alicloud_esa_site" "default" { site_name = "bcd${random_integer.default.result}.com" # サイト名 (ドメイン名)。本番環境では、実際のドメイン名に置き換えてください。 coverage = "overseas" # アクセラレーションリージョン access_type = "NS" # サイトアクセスタイプ: NS または CNAME instance_id = alicloud_esa_rate_plan_instance.default.id # プラン ID development_mode = "on" # 開発モードを有効にする。詳細については、本トピックの「パラメーターの説明」セクションをご参照ください。 }設定ファイルが含まれるディレクトリに移動します。次に、以下のコマンドを実行して Terraform 環境を初期化します。
terraform init
以下のコマンドを実行して、Terraform ファイルの構文と設定を検証します。
terraform validate出力が次の図のようであれば、検証は成功です。

以下のコマンドを実行して、適用される変更をプレビューします。
terraform plan以下のコマンドを実行して、Terraform スクリプトを実行します。
terraform applyプロンプトが表示されたら、
yesと入力して操作を確認します。
結果の確認
terraform show コマンドの実行
作業ディレクトリで、次のコマンドを使用して Terraform によって作成されたリソースの詳細をクエリします:
terraform showコンソールにログインして表示
ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
設定 ページで、新しく作成されたキャッシュ設定の詳細を表示します。
(任意) リソースのクリーンアップ
Terraform によって作成または管理されているリソースが不要になった場合は、terraform destroy コマンドを実行してリソースを解放できます。
terraform destroy関連リファレンス
プランタイプ
alicloud_esa_rate_plan_instance Terraform リソースの plan_name フィールドの有効な値を次の表に示します。
パラメーター値 | プラン名 | 説明 |
| Entrance | テストや小規模なビジネスシナリオに適しています。基本的なアクセラレーションと緩和機能を提供します。 |
| Pro | 推奨構成。中小企業のウェブサイトやアプリケーションに適しています。 |
| Enterprise | 中規模から大規模の企業に適しています。より高いパフォーマンスとセキュリティ保護機能を提供します。 |
パラメーターの説明
Terraform の alicloud_esa_site リソースの development_mode フィールドの有効な値を次の表に示します。
値 | 機能 | 説明 |
| 開発モードを有効にする | 静的リソースリクエストは ESA POP のキャッシュコンポーネントをバイパスし、オリジンサーバーに直接アクセスします。これにより、オリジンサーバーへの直接アクセスとキャッシュされたコンテンツへのアクセスのパフォーマンスを比較できるため、デバッグに役立ちます。 |
| 開発モードを無効にする (デフォルト) | 静的リソースリクエストは、エッジ POP キャッシュを通過する標準パスに従い、キャッシュポリシーに基づいてコンテンツを返します。 |
シナリオ
次のシナリオで開発モードを使用します:
オリジンコンテンツのデバッグ:クライアントがオリジンから直接最新の静的リソースをフェッチする必要がある場合に、開発モードを有効にします。
効果比較テスト:オリジンサーバーへの直接アクセスと ESA キャッシュ経由のアクセスの違いを比較します。
迅速な変更検証:オリジンコンテンツを更新した後、キャッシュの有効期限が切れるのを待ったり、キャッシュを手動で更新したりすることなく、変更をすぐに検証します。
開発モードでは、すべての静リソースリクエストがオリジンに直接送信されます。これにより、オリジンの負荷と応答時間が増加する可能性があります。開発およびデバッグ中にのみ使用してください。本番環境では必ず無効にしてください。