Terraform は、オープンソースのコードとしてのインフラストラクチャ (IaC) ツールです。宣言型言語を使用して、インフラストラクチャの構成を定義および管理できます。Terraform を使用して Edge Security Acceleration (ESA) リソースを追加、変更、または削除できます。これにより、手動での作業やエラーが減り、インフラストラクチャの管理性と保守性が向上します。 このトピックでは、Terraform がサポートする ESA リソースを一覧表示し、 Terraform のインストール方法と構成方法について説明します。
サポートされているリソース
リソース
alicloud_esa_cache_reserve_instance: ESA キャッシュリザーブドインスタンスリソースを提供します。このリソースは、自動更新付きのキャッシュリザーブドインスタンスを作成して、クラウドストレージアクセラレーションサービス用の高スループットキャッシュリソースを事前に割り当て、頻繁にアクセスされるデータの応答パフォーマンスを向上させます。
alicloud_esa_cache_rule: ESA キャッシュルールリソースを提供します。このリソースは、エッジノードがオリジンキャッシュポリシーに従い、ブラウザのキャッシュを無効にし、クエリ文字列のバリエーションを無視し、特定の Cookie またはヘッダーキャッシュ制御パラメーターを含めるようにキャッシュルールを構成します。
alicloud_esa_certificate: ESA 証明書リソースを提供します。このリソースは、無料の Let's Encrypt SSL 証明書を自動的に申請およびデプロイして、HTTPS 通信の暗号化を実装します。
alicloud_esa_client_ca_certificate: ESA クライアント CA 証明書リソースを提供します。このリソースは、相互 TLS (mTLS) 認証シナリオ用にクライアント CA ルート証明書をアップロードして、クライアント証明書の正当性を検証します。これにより、信頼できる CA によって発行されたクライアント証明書のみがサービスにアクセスできるようになります。
alicloud_esa_client_certificate: ESA クライアント証明書リソースを提供します。このリソースは、RSA 暗号化されたクライアント証明書を作成して、mTLS シナリオで強力なクライアント ID 検証を実装します。
alicloud_esa_compression_rule: ESA 圧縮ルールリソースを提供します。このリソースを使用して、ドメイン名の圧縮ルールを構成できます。これにより、特定の圧縮ポリシーを有効にするためのプリセット条件が提供されます。
alicloud_esa_edge_container_app: ESA Edge コンテナーアプリケーションリソースを提供します。このリソースは、コンテナーアプリケーションを作成し、外部トラフィックをコンテナーに転送し、レイヤー 7 のヘルスチェックを構成します。ヘルスチェックは、HEAD メソッドを使用して 5 秒ごとに / パスをチェックし、3 秒のタイムアウトを持ち、2 回連続で成功するか 5 回連続で失敗するとステータス変更をトリガーします。この構成により、コンテナーサービスの自動化されたヘルスモニタリングと障害分離が可能になります。
alicloud_esa_edge_container_app_record: ESA Edge コンテナーアプリケーションレコードリソースを提供します。このリソースは、Edge コンテナーアプリケーションをデプロイし、レイヤー 7 のヘルスチェック (HEAD メソッドで / パスを検出) を構成し、ドメイン名をアタッチしてトラフィックの再ルーティングを実装します。コンテナーポート 3000 のサービスがアクティブであり、ヘルスチェックパラメーターがビジネス要件と一致していることを確認する必要があります。
alicloud_esa_http_request_header_modification_rule: ESA HTTP リクエストヘッダー変更ルールリソースを提供します。このリソースを使用して、リクエストヘッダーの値を変更するためのリクエストヘッダー変更ルールを構成できます。これにより、詳細なトラフィックデバッグをサポートするためのプリセットルールが提供されます。
alicloud_esa_http_response_header_modification_rule: ESA HTTP 応答ヘッダー変更ルールリソースを提供します。このリソースは、変更ルールを適用することで、ドメインのトラフィックに対する HTTP 応答ヘッダーのきめ細かいシナリオベースの制御を可能にします。たとえば、exampleadd ヘッダーを追加し、exampledel ヘッダーを削除し、examplemodify ヘッダーの値を変更できます。
alicloud_esa_https_application_configuration: ESA HTTPS アプリケーション構成リソースを提供します。このリソースは、HSTS の最大有効期間を含むドメイン名の HTTPS アプリケーション層パラメーターを構成し、ルール、HSTS 強制、Alt-SVC などのセキュリティ拡張機能を有効にします。
alicloud_esa_https_basic_configuration: ESA HTTPS 基本構成リソースを提供します。このリソースは、グローバルな HTTPS 暗号化ポリシーを強制的に有効にします。
alicloud_esa_image_transform: ESA イメージ変換リソースを提供します。このリソースは、ドメイン名のイメージフォーマット変換ルールを構成します。
alicloud_esa_kv: ESA エッジ Key-Value ストアリソースを提供し、エッジノードに軽量な構成データや静的コンテンツを保存・管理して、高速な読み取りと低遅延アクセスをサポートします。
alicloud_esa_kv_namespace: ESA KV 名前空間リソースを提供します。このリソースは、Key-Value ストレージの namespace を作成してストレージを分離し、セキュリティポリシー、動的ルール、API キー、グレースケールパラメーターなどの構成データを管理します。これにより、セキュアなアクセラレーションのためにホットアップデート可能な軽量メタデータ管理機能が提供されます。
alicloud_esa_list: ESA リストリソースを提供します。このリソースを使用すると、ESA サイトのリストを表示できます。
alicloud_esa_network_optimization: ESA ネットワーク最適化リソースを提供します。ドメイン名に一致するリクエストのネットワーク最適化ルールを構成し、WebSocket、gRPC、または HTTP/2 オリジンプロトコルをサポートし、最大ファイルアップロードサイズを制限します。これにより、特定のサービストラフィックのネットワーク伝送を最適化し、セキュリティコントロールを実装できます。
alicloud_esa_origin_ca_certificate: ESA オリジン CA 証明書リソースを提供します。このリソースは、Alibaba Cloud Edge Security Acceleration (ESA) サービス用の信頼できる認証局 (CA) 証明書を構成します。これにより、ESA エッジノードは、バックエンドオリジンサーバーとの HTTPS back-to-origin 接続が確立されたときにオリジンサーバー証明書を検証でき、back-to-origin 通信のセキュリティと信頼性を確保します。
alicloud_esa_origin_client_certificate: ESA オリジンクライアント証明書リソースを提供します。このリソースは、クライアント TLS 証明書を作成またはアップロードし、Alibaba Cloud Edge Security Acceleration (ESA) サービス用に構成します。これにより、ESA エッジノードは、HTTPS クライアントとしてバックエンドオリジンサーバーにオリジンリクエストを開始するときに、オリジンサーバーにクライアント ID 認証を提供できます。このプロセスは、相互 TLS (mTLS) 認証におけるクライアント ID 検証を実装します。
alicloud_esa_origin_pool: ESA オリジンプールリソースを提供します。このリソースを使用すると、1 つの Alibaba Cloud OSS オリジン (クロスアカウントキー認証) と 2 つの S3 プロトコルと互換性のあるプライベートストレージオリジン (AWS v2 署名認証) を含む、複数のオリジンの混合プールを構成できます。これにより、指定された比率に基づいて異なるクラウドストレージサービスへのクロスボーダートラフィック配信が実装され、Host ヘッダーの再書き込みと TLS SNI を通じて back-to-origin の互換性が確保されます。
alicloud_esa_origin_protection: ESA オリジン保護構成リソースを提供し、バックエンドオリジンサーバーのセキュリティ緩和ポリシーを一元的に構成および管理します。オリジンサーバーの実際の IP アドレスを隠し、ESA エッジノードを介してトラフィックを強制的に転送し、セキュリティ認証メカニズムを有効にすることで、このリソースはサーバーがインターネットに直接公開されるのを防ぎます。これにより、DDoS 攻撃、CC 攻撃、スキャンプローブなどの脅威から防御し、バックエンドサービスの全体的な可用性とセキュリティを向上させます。
alicloud_esa_origin_rule: ESA オリジンルールリソースを提供します。このリソースは、HTTP プロトコルを介してトラフィックをオリジンポートに転送し、Host ヘッダーのパススルー、SNI 拡張、およびチャンク転送 (Range) サポートを有効にします。
alicloud_esa_page: ESA ページリソースを提供します。このリソースは、Base64 でエンコードされた HTML テンプレートを使用してカスタムエラーページを作成します。デコードされると、テンプレートは中国語の言語宣言を持つ標準の 403 Forbidden アクセスページになります。
alicloud_esa_rate_plan_instance: ESA レートプランインスタンスリソースを提供します。このリソースは、サブスクリプションベースで NS タイプの課金インスタンスを作成し、自動更新と自動支払いを有効にします。これにより、サイトやルーティングルールなどの後続の Global Accelerator サービスのデプロイメントのための基本的なリソースクォータと課金フレームワークが提供されます。
alicloud_esa_record: レコードを追加し、その優先度、重み、TTL を設定して、DNS プロトコルに基づくサービスディスカバリとロードバランシングを実装できる ESA レコードリソースを提供します。
alicloud_esa_redirect_rule: 301 恒久的なリダイレクトルールを構成する ESA リダイレクトルールリソースを提供します。このルールは、元のリクエストのクエリパラメーターを保持しながら、静的なターゲットアドレスに自動的にリダイレクトします。
alicloud_esa_rewrite_url_rule: ESA URL 再書き込みルールリソースを提供します。有効にすると、ルールはパスを静的に再書き込みし、固定のクエリパラメーターを設定して、正確なリクエストパス制御とパラメーターの標準化を提供します。
alicloud_esa_routine: ESA Edge Routine リソースを提供します。Edge Routine は、グローバルなエッジノードで実行される軽量の Edge Function です。カスタム JavaScript または同様の構文を持つスクリプトを使用して、エンドユーザーに近いネットワークエッジで HTTP または HTTPS のリクエストと応答を動的に処理でき、低遅延、高パフォーマンス、パーソナライズされたロジック制御を可能にします。
alicloud_esa_routine_route: ESA Edge Routine ルーティングリソースを提供します。このリソースは、作成された Edge Routine (alicloud_esa_routine で定義) を指定されたドメイン名、パス、またはホスト名にアタッチし、Edge Routine の実行をトリガーするリクエスト条件を定義して、ルーティングルールに基づくエッジロジックスケジューリングを実装します。
alicloud_esa_scheduled_preload_execution: ESA スケジュール済みプリフェッチ実行リソースを提供します。このリソースは、構成されたプリフェッチタスクをトリガーし、指定された時間に自動的に実行して、指定された URL からエッジノードのキャッシュにコンテンツを積極的にロードします。このプロセスは、ユーザーアクセスの応答速度を向上させ、定期的なコンテンツのプリロードやピークトラフィック前のプリロードなどのシナリオに適しています。
alicloud_esa_scheduled_preload_job: ESA スケジュール済みプリフェッチタスクのリソースを提供します。このリソースは、定期的なキャッシュプリフェッチタスクを作成および管理します。実行頻度、ターゲット URL のリスト、および関連するドメイン名を構成することにより、コンテンツをエッジノードに自動的にプリロードできます。このプロセスは、頻繁にアクセスされるリソースの応答効率を向上させ、ユーザーアクセスエクスペリエンスを最適化します。
alicloud_esa_site: ESA サイトリソースを提供します。Basic Edition、NS タイプの Global Accelerator インスタンスのサブスクリプションを購入し、サイトを作成し、そのサイトをリソースグループにアタッチして、グローバルネットワークアクセラレーション機能のデプロイメントを自動化します。
alicloud_esa_site_delivery_task: ESA サイト配信タスクリソースを提供します。HTTP ログ配信タスクを構成して、12 個の主要なモニタリングフィールドを含むログデータを gzip 圧縮を使用してリアルタイムでターゲットアドレスに送信します。最大バッチサイズ、リトライメカニズム、タイムアウト制御を設定して、信頼性が高くタイムリーなログ伝送を保証できます。
alicloud_esa_site_origin_client_certificate: ESA サイトレベルのオリジンクライアント証明書リソースを提供します。このリソースは、特定の高速化サイト用のクライアント TLS 証明書を構成します。この証明書により、ESA エッジノードはオリジンフェッチ中に相互 TLS (mTLS) を使用してオリジンサーバーと認証できます。これにより、クライアント証明書認証を必要とするオリジンサービスに信頼できるエッジノードのみがアクセスできるようになり、back-to-origin 通信のセキュリティが強化されます。
alicloud_esa_version: ESA サイトバージョンリソースを提供します。esa_version を使用して、ドメイン名サイトなどの高速化サイトのさまざまな構成バージョンを作成、保存、ロールバックできます。これらの構成には、キャッシュルール、証明書、ルーティングポリシー、Edge Routine などの設定が含まれます。これにより、構成変更の段階的リリース、バージョン比較、迅速なロールバックが可能になり、サイト更新プロセス中の安定性と保守性が確保されます。
alicloud_esa_video_processing: ESA ビデオ処理リソースを提供します。このリソースは、リアルタイムのトランスコーディング、スクリーンショット、ウォーターマーク、フォーマット変換、アダティブビットレートストリーミング (HLS または DASH シャードの生成など) など、エッジノードでのビデオコンテンツに対する操作をサポートします。このリソースを使用すると、ビデオ処理テンプレートまたはタスクルールを定義できます。高速化ドメイン名と組み合わせると、これらのルールは自動的にビデオ処理フローをトリガーし、ユーザーに近い場所で軽量のメディア処理を実行します。これにより、オリジンサーバーの負荷が軽減され、ビデオの読み込み速度と再生エクスペリエンスが向上します。
alicloud_esa_waiting_room: ESA 待合室リソースを提供します。先入れ先出し (FIFO) キューベースのトラフィック制御ルール (アクティブユーザー制限、セッション期間、マルチサブドメインパス構成) を含む待合室を構成します。これにより、バーストトラフィックシナリオ向けのプリセットグレースケール制御機能が提供されます。
alicloud_esa_waiting_room_event: ESA 待合室イベントリソースを提供します。このリソースは、待合室とそのイベントルールを構成して、必要に応じて 先入れ先出し (FIFO) キュー管理メカニズムを使用してバーストトラフィックを制御し、サーバーの過負荷を防ぎます。
alicloud_esa_waiting_room_rule: ESA 待合室ルールリソースを提供します。このルールは、トラフィックバースト中にトラフィックマッチング条件を満たすリクエストに対して待合室メカニズムを自動的に有効にします。このメカニズムは、リクエストをキューに入れて制御し、サーバーの過負荷を効果的に防ぎます。
Terraform のインストールと権限の構成
コンピューターへの Terraform のインストールと構成
コンピューターで Terraform を使用する方法の詳細については、「Terraform のインストールと構成」をご参照ください。
RAM ユーザーの AccessKey ペアを作成します。Alibaba Cloud アカウントは、リソースに対するすべての権限を持っています。Alibaba Cloud アカウントの AccessKey ペアが漏洩すると、リソースは大きなリスクにさらされます。RAM ユーザーの AccessKey ペアを使用することをお勧めします。詳細については、「AccessKey ペアの作成」をご参照ください。
ID 情報を保存するための環境変数を作成します。
[AccessKey 管理] ページで AccessKey を作成および表示できます。
環境変数が構成されていない場合、Terraform テンプレートを実行すると ID 検証が失敗します。
オンラインサービスの使用 (インストールや権限設定は不要)
Terraform をインストールしたくない場合は、オンラインサービスの Cloud Shell を使用できます。
Alibaba Cloud Cloud Shell は、無料の運用保守 (O&M) プロダクトです。Terraform コンポーネントがプリインストールされており、認証情報が構成されています。したがって、Cloud Shell で Terraform コマンドを直接実行できます。詳細については、「Cloud Shell」をご参照ください。
Cloud Shell で Terraform を使用する場合、その destroy 機能によりデータが失われる可能性があります。デバッグなどの単純で迅速な操作にのみ Cloud Shell を使用することをお勧めします。制限の詳細については、「制限」をご参照ください。