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

Edge Security Acceleration:Terraform を使用したサイト開発モードの設定

最終更新日:Mar 20, 2026

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 を使用することを推奨します。使用制限の詳細については、「使用制限」をご参照ください。

関連リソース

サイト開発モードの設定

作業ディレクトリを作成します。次に、以下で説明するようにディレクトリ内に設定ファイルを作成し、必要に応じてコード内の設定を調整します。

プロバイダーと Terraform バージョンの定義

まず、providers.tf という名前の設定ファイルを作成します。次に、以下のコードをその設定ファイルにコピーして、すべてのプロバイダー設定とバージョン制約を一元管理します。

terraform {
  required_providers {
    alicloud = {
      source  = "aliyun/alicloud"
      version = "1.266.0"
      region = "ap-southeast-1"
    }
  }
}

リソースの定義

  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"                                      # 開発モードを有効にする。詳細については、本トピックの「パラメーターの説明」セクションをご参照ください。
    }
  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. 左側のナビゲーションウィンドウで、キャッシュ > 設定 を選択します。

  3. 設定 ページで、新しく作成されたキャッシュ設定の詳細を表示します。

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

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

terraform destroy

関連リファレンス

プランタイプ

alicloud_esa_rate_plan_instance Terraform リソースの plan_name フィールドの有効な値を次の表に示します。

パラメーター値

プラン名

説明

entranceplan_intl

Entrance

テストや小規模なビジネスシナリオに適しています。基本的なアクセラレーションと緩和機能を提供します。

basicplan_intl

Pro

推奨構成。中小企業のウェブサイトやアプリケーションに適しています。

vipplan_intl

Enterprise

中規模から大規模の企業に適しています。より高いパフォーマンスとセキュリティ保護機能を提供します。

パラメーターの説明

Terraform の alicloud_esa_site リソースの development_mode フィールドの有効な値を次の表に示します。

機能

説明

on

開発モードを有効にする

静的リソースリクエストは ESA POP のキャッシュコンポーネントをバイパスし、オリジンサーバーに直接アクセスします。これにより、オリジンサーバーへの直接アクセスとキャッシュされたコンテンツへのアクセスのパフォーマンスを比較できるため、デバッグに役立ちます。

off

開発モードを無効にする (デフォルト)

静的リソースリクエストは、エッジ POP キャッシュを通過する標準パスに従い、キャッシュポリシーに基づいてコンテンツを返します。

シナリオ

次のシナリオで開発モードを使用します:

  • オリジンコンテンツのデバッグ:クライアントがオリジンから直接最新の静的リソースをフェッチする必要がある場合に、開発モードを有効にします。

  • 効果比較テスト:オリジンサーバーへの直接アクセスと ESA キャッシュ経由のアクセスの違いを比較します。

  • 迅速な変更検証:オリジンコンテンツを更新した後、キャッシュの有効期限が切れるのを待ったり、キャッシュを手動で更新したりすることなく、変更をすぐに検証します。

警告

開発モードでは、すべての静リソースリクエストがオリジンに直接送信されます。これにより、オリジンの負荷と応答時間が増加する可能性があります。開発およびデバッグ中にのみ使用してください。本番環境では必ず無効にしてください。

よくある質問

Terraform コードの実行中に "StatusCode400 Code: ConfExceedLimit" が発生した場合の対処法

コンソールでキャッシュ設定を行うと、対応するルールが自動的に生成されます。しかし、Terraform の alicloud_esa_cache_rule リソースは新しいルールを作成するため、既存のキャッシュ設定を直接更新することはできません。まず、ListCacheRules API を呼び出して、現在のサイトのキャッシュ設定の ConfigId を取得します。次に、DeleteCacheRule API を呼び出してサイトのキャッシュ設定を削除します。その後、Terraform コードを適用します。