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

Container Compute Service:Terraform で作成された ACS クラスタを削除する

最終更新日:Jun 14, 2025

このトピックでは、Terraform で作成された ACS クラスタを削除する方法と、必要なリソースを保持するためのオプションについて説明します。

前提条件

ACS クラスタが Terraform で作成されていること。

使用上の注意

Terraform でクラスタを削除する場合、retain_resources を使用して必要に応じてリソースを保持したり、delete_options を構成してリソースの削除と保持を管理したりできます。

カテゴリ

delete_options

retain_resources

メソッド

特定のリソースを保持するか削除するかを指定します。

保持するリソースを指定します。

例:

delete_options {
 delete_mode = "delete" // 削除モード
 resource_type = "SLB"  // リソースタイプ
 }
説明

delete_mode には次の値を設定できます。

  • delete: 指定されたリソースタイプを削除します。

  • retain: 指定されたリソースタイプを保持します。

例:

retain_resources = ["ngw-xxxx"]

リソースインスタンス ID を retain_resources パラメーターに入力します。インスタンス ID を取得するには、指定されたクラスタの関連リソースをクエリします。

サポートされているリソース

  • SLB: サービス用に作成された Server Load Balancer (SLB) リソース。デフォルトでは、SLB リソースは自動的に削除されます。

  • ALB: ALB Ingress コントローラーによって作成された Application Load Balancer (ALB) リソース。デフォルトでは、ALB リソースは保持されます。

  • SLS_Data: クラスタロギング機能で使用される Simple Log Service プロジェクト。デフォルトでは、Simple Log Service プロジェクトは保持されます。

  • SLS_ControlPlane: ACK マネージドクラスターのコントロールプレーンのログを保存するために使用される Simple Log Service プロジェクト。デフォルトでは、Simple Log Service プロジェクトは保持されます。

  • PrivateZone: ACK Serverless クラスターによって作成された PrivateZone リソース。デフォルトでは、PrivateZone リソースは保持されます。

  • ロードバランサー (クラスタ API サーバーの SLB インスタンス)

  • インターネット NAT ゲートウェイ

  • インターネット NAT ゲートウェイの SNAT エントリ

  • Elastic IP アドレス (インターネット NAT ゲートウェイ)

サポートされているクラスタタイプ

  • ACK マネージドクラスター

  • ACK 専用クラスター

  • Serverless Kubernetes クラスター

  • ACK マネージドクラスター

  • Serverless Kubernetes クラスター

  • ACK 専用クラスター

  • ACK Edge クラスター

ステップ 1: リソース管理パラメーターを追加する

リソースの削除または保持を制御するために、ACK クラスタで作成された main.tf ファイルに次のパラメーターを追加します。

resource "alicloud_cs_managed_kubernetes" "default" {    // ロケーションを追加します。
  ...
  // リソースインスタンス ID を [] に追加します。
  retain_resources = ["ngw-xxxx"]
  // クラスタによって作成された SLB リソースを削除します。
  delete_options {
    delete_mode = "delete"
    resource_type = "SLB"
  }
  // ALB Ingress コントローラーによって作成された ALB リソースを削除します。
  delete_options {
    delete_mode = "delete"
    resource_type = "ALB"
  }
  // クラスタロギング機能で使用される Simple Log Service プロジェクトを削除します。
  delete_options {
    delete_mode = "delete"
    resource_type = "SLS_Data"
  }
  // マネージドクラスターコントロールプレーンで使用される Simple Log Service プロジェクトを削除します。
  delete_options {
    delete_mode = "delete"
    resource_type = "SLS_ControlPlane"
  }
}

次のコマンドを実行して変更を適用します。

terraform apply

ステップ 2: クラスタを削除する

次の手順を使用して、Terraform で作成されたクラスタを削除できます。

重要

terraform destroy コマンドは、Terraform によって管理されるすべてのリソースを削除します。これには、データの削除などの元に戻せない操作が含まれます。続行する前に、重要なデータとリソースをバックアップすることが重要です。

  1. 次のコマンドを実行して、Terraform で作成されたクラスタを削除します。

    terraform destroy
  2. 次の情報が返された場合は、yes と入力し、Enter キーを押します。すると、クラスタが削除されます。

    ...
    Do you really want to destroy all resources? // すべてのリソースを本当に破棄しますか?
      Terraform will destroy all your managed infrastructure, as shown above. // 上記のように、Terraform は管理対象のすべてのインフラストラクチャを破棄します。
      There is no undo. Only 'yes' will be accepted to confirm. // 元に戻すことはできません。確認するには「yes」のみが受け入れられます。
    
      Enter a value: yes // 値を入力してください: yes
    ...
    Destroy complete! Resources: 1 destroyed. // 破棄完了!リソース: 1 個破棄されました。