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

Container Service for Kubernetes:Terraform の概要

最終更新日:Jun 18, 2026

Terraform を使用して Container Service for Kubernetes (ACK) クラスターをコードとしてプロビジョニングおよび管理し、再現性とバージョン管理が可能なインフラストラクチャを実現します。

基本概念

リソースとデータソース

Terraform は、クラウドインフラストラクチャを管理するために 2 種類のオブジェクトタイプを使用します。

  • リソース — Terraform が作成および管理するオブジェクトです。各リソースブロックは、ACK クラスターやノードプールなど、1 つのインフラストラクチャオブジェクトを定義します。

  • データソース — 現在の構成外で作成されたリソースの属性を取得する読み取り専用クエリです。

例:

### データソース
# 2 vCPU と 4 GB のメモリを持つインスタンスタイプを一覧表示します。
# 参照: https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/instance_types
data "alicloud_instance_types" "c2g4" {
  cpu_core_count = 2
  memory_size    = 4
}

### リソース
# Server Load Balancer (SLB) インスタンスを作成します。
# 参照: https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/slb
resource "alicloud_slb" "default" {
  name          = var.name
  specification = "slb.s2.small"
  vswitch_id    = alicloud_vswitch.default.id
}

完全なリストについては、「Terraform で ACK を使用する」をご参照ください。

プラグイン

Terraform には 2 つのカテゴリのプラグインがあります。

  • [Terraform CLI] — 構成の計画、適用、破棄を行うためのコマンドラインツールです。

  • Terraform プロバイダー — Terraform 構成を特定のクラウド向けの API コールに変換するプラグインで、Terraform Registry で公開されています。

Alibaba Cloud は、中国で初めて Terraform を統合したクラウドプロバイダーです。Alibaba Cloud プロバイダー (terraform-provider-alicloud) は、コンピューティング、ストレージ、ネットワーキング、負荷分散、CDN、ミドルウェア、アクセス制御、データベースを含む 35 のサービスにわたって、163 のリソースと 113 のデータソースをサポートしています。

Alibaba Cloud プロバイダーをセットアップするには、「ローカル PC に Terraform をインストールして構成する」または「Cloud Shell で Terraform を使用する」をご参照ください。

ACK に Terraform を使用する理由

Terraform には、コンソール、CLI、または API を介して直接 ACK クラスターを管理する場合と比較して、いくつかの利点があります。

  • マルチクラウドデプロイメント — Alibaba Cloud、その他のクラウド、オンプレミスデータセンターにわたるインフラストラクチャを、1 つのツールチェーンと構成言語で管理できます。

  • 自動化された再現可能なプロビジョニング — クラスター構成を一度定義すれば、開発、ステージング、本番環境全体で一貫して適用でき、構成ドリフトを排除します。

  • コードとしてのインフラストラクチャ (IaC) — クラスター構成をアプリケーションコードと一緒にバージョン管理に保存できます。変更を追跡し、プルリクエストで変更をレビューし、必要に応じてロールバックできます。

  • コスト削減 — 開発環境とテスト環境をオンデマンドで起動し、アイドル時には削除できます。変更を適用する前にコストへの影響を評価できます。

Terraform で ACK を使用する

ACK は、以下の Terraform リソースとデータソースをサポートしています。

リソース

リソース 説明
alicloud_cs_managed_kubernetes ACK マネージドクラスターを管理します
alicloud_cs_kubernetes ACK 専用クラスターを管理します
alicloud_cs_serverless_kubernetes ACK サーバーレスクラスターを管理します
alicloud_cs_edge_kubernetes ACK エッジクラスターを管理します
alicloud_cs_kubernetes_node_pool ノードプールを管理します
alicloud_cs_kubernetes_permissions ロールベースアクセス制御 (RBAC) 権限を管理します
alicloud_cs_kubernetes_addon クラスターアドオンを管理します

データソース

データソース 説明
alicloud_ack_service ACK を有効化します
alicloud_cs_managed_kubernetes_clusters すべての ACK マネージドクラスターを一覧表示します
alicloud_cs_kubernetes_clusters すべての ACK 専用クラスターを一覧表示します
alicloud_cs_serverless_kubernetes_clusters すべての ACK サーバーレスクラスターを一覧表示します
alicloud_cs_edge_kubernetes_clusters すべての ACK エッジクラスターを一覧表示します
alicloud_cs_kubernetes_permissions 指定された RAM ユーザーの権限を一覧表示します
alicloud_cs_kubernetes_addon_metadata クラスターアドオンのメタデータを一覧表示します
alicloud_cs_kubernetes_addons 利用可能なクラスターアドオンを一覧表示します
alicloud_cs_kubernetes_version 利用可能な Kubernetes バージョンを一覧表示します
クラスターインフラストラクチャ (VPC、ノードプール、RBAC) は、Kubernetes ワークロード (Deployments、Services) とは別の Terraform プロジェクトで管理してください。これらは変更の頻度が異なり、通常は異なるチームが管理しています。

次のステップ