Terraformは、クラウドサービスのインフラストラクチャとリソースを安全かつ効率的にプレビュー、設定、管理するために使用できるIaC (infrastructure as code) ツールです。 Serverless App Engine (SAE) を使用すると、Terraformを使用してSAEリソースをより安全に管理し、GitOpsを使用して継続的インテグレーションまたは継続的配信 (CI/CD) を実装できます。
概要
基本機能
Terraformは、ITインフラストラクチャの自動オーケストレーションをサポートするツールです。 Terraformを使用すると、コードを使用してITリソースを管理および維持できます。 詳細については、「」をご参照ください。Terraformとは何ですか?
Terraformは、Alibaba Cloudサービスまたはサードパーティのクラウドサービスのワークロードに設定ファイルをデプロイし、設定ファイルのバージョンを管理できる使いやすいCLIを提供します。 Terraformでは、クラウドトポロジの構築に必要なインフラストラクチャリソースを設定ファイルで定義できます。 リソースには、仮想マシン (VM) 、ストレージアカウント、およびネットワークインターフェイスが含まれます。
TerraformをAlibaba Cloudプロバイダーと統合して、新しいインフラストラクチャをサポートできます。 テンプレートを使用して、Alibaba Cloudプロバイダーを設定し、Alibaba cloud上のクラウドインフラストラクチャを定義、プレビュー、デプロイできます。
Terraformを使用すると、Elastic Compute services (ECS) 、Virtual Private Cloud (VPC) 、ApsaraDB RDS、Server Load Balancer (SLB) などの複数のAlibaba Cloudサービスのリソースを作成、変更、削除できます。
Alibaba CloudサービスをTerraformと統合する方法の詳細については、「Alibaba Cloud Provider」をご参照ください。
シナリオ
Terraformでは、インフラストラクチャをコードとして定義し、コードを使用してインフラストラクチャリソースを作成、クエリ、変更、および削除できます。 Terraformを使用してAlibaba Cloudサービスのリソースを管理する方法の例については、「シナリオ」をご参照ください。
メリット
Terraformは、一般的なシナリオで次の利点を提供します。
Terraformは、SAEに固有の次の利点を提供します。
コードとしての宣言型インフラストラクチャ (IaC)
Terraformを使用すると、アプリケーションのデプロイ、スケールインまたはスケールアウト、アップグレードまたはダウングレード、および起動または停止ができます。 Terraformを使用して、SLBインスタンスをアプリケーションにバインドすることもできます。
Terraformを使用すると、SAE APIを理解する必要なしにコードを記述できます。
TerraformはCI/CDをサポートして、自動アプリケーション配信のSAEパフォーマンスを向上させます。
Terraformエコシステム
TerraformはLiveDiff機能を提供し、高いセキュリティでSAEリソースを管理できます。
Terraformは、SAEアプリケーションを安定した方法で目的の状態にデプロイするのに役立ちます。
Terraformはリソースオーケストレーション機能を提供します。これにより、数回のクリックでSAEアプリケーションと依存リソースを効率的にデプロイできます。
Categories
Resources
各リソースは、新しく作成されたリソースである。 詳細については、「リソース」をご参照ください。
次のサンプルコードは、SAEアプリケーションの作成方法の例を示しています。
リソース "alicloud_sae_application" "default" { app_description = "tf-testaccDescription" app_name = "tf-testaccAppName" namespace_id = alicloud_sae_namespace.default.id image_url = "registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5" package_type = "イメージ" vswitch_id = alicloud_vswitch.vsw.id timezone = "アジア /北京" レプリカ="5" cpu = "500" memory = "2048" }データソース
データソースを照会して、既存のリソースとリソースの属性に関する情報を取得できます。 詳細については、「データソース」をご参照ください。
次のサンプルコードでは、SAE名前空間を一覧表示する方法の例を示します。
データ "alicloud_sae_namespaces" "nameRegex" { name_regex = "^ my-Namespace" } output "sae_namespace_id" { value = data.alicloud_sae_namespaces.nameRegex.namespaces.0.id }
Terraformを使用してSAEリソースを管理する方法の例については、「Terraformを使用してSAEリソースを管理する」をご参照ください。
Terraformを使用したSAEリソースの管理
次の表に、Terraformを使用して管理できるSAEリソースを示します。
リソースタイプ | 説明 |
SAE名前空間に関する情報を照会します。 詳細については、「Terraformを使用したSAE名前空間の管理」をご参照ください。 | |
SAEアプリケーションに関する情報を照会します。 詳細については、「Terraformを使用したSAEアプリケーションの管理」をご参照ください。 | |
SAEの自動スケーリングポリシーに関する情報を照会します。 詳細については、「Terraformを使用したSAEアプリケーションの自動スケーリングポリシーの管理」をご参照ください。 | |
SAE ConfigMapに関する情報を照会します。 | |
SAEのカナリアリリースルールに関する情報を照会します。 | |
SAEのIngressインスタンスに関する情報を照会します。 | |
SAEのインターネット向けSLBインスタンスに関する情報を照会します。 詳細については、「Terraformを使用してSAEアプリケーションをSLBインスタンスに関連付ける」をご参照ください。 | |
SAEの内部向きのSLBインスタンスに関する情報を照会します。 |
リソースタイプ | 説明 |
SAEを有効にします。 | |
SAE名前空間を一覧表示します。 | |
SAEアプリケーションを一覧表示します。 | |
SAEの自動スケーリングポリシーを一覧表示します。 | |
SAE ConfigMapsをリストします。 | |
SAEのカナリアリリースルールを一覧表示します。 | |
SAEのIngressインスタンスを一覧表示します。 | |
SAEのインスタンスタイプを一覧表示します。 |