📣

TiDB Cloud Serverless が
Starter
に変わりました!このページは自動翻訳されたものです。
原文はこちらからご覧ください。

tidbcloud_dedicated_network_containerリソースを使用する

このドキュメントでは、 tidbcloud_dedicated_network_containerリソースを使用してTiDB Cloud専用ネットワーク コンテナーを管理する方法について説明します。

ネットワークコンテナは、特定のプロジェクトとリージョンのCIDRブロック(IPアドレス範囲)を定義および管理できる論理ネットワークリソースです。このCIDRブロックは、 TiDB Cloud Dedicatedクラスター用のVPCを作成するために使用され、そのリージョンでVPCピアリングを設定する前に必要です。

リージョンにVPCピアリングリクエストを追加する前に、まずそのリージョンのCIDRブロックを設定し、最初のTiDB Cloud Dedicatedクラスターを作成する必要があります。最初のクラスターが作成されると、 TiDB Cloudは関連するVPCを自動的に作成し、アプリケーションのVPCとのピアリング接続を確立できるようになります。

tidbcloud_dedicated_network_containerリソースの機能は次のとおりです。

  • TiDB Cloud専用ネットワーク コンテナーを作成します。
  • TiDB Cloud Dedicated ネットワーク コンテナーをインポートします。
  • TiDB Cloud Dedicated ネットワーク コンテナーを削除します。

注記:

TiDB Cloud Dedicatedネットワークコンテナは、ステータスがACTIVE場合、変更または削除できません。適用する前に、 tidbcloud_network_containerリソースの構成が正しいことを確認してください。

前提条件

TiDB Cloud専用ネットワークコンテナを作成する

tidbcloud_dedicated_network_containerリソースを使用して、 TiDB Cloud専用ネットワーク コンテナーを作成できます。

次の例は、TiDB Cloud Dedicated ネットワーク コンテナを作成する方法を示しています。

  1. TiDB Cloud Dedicated ネットワーク コンテナのディレクトリを作成してそこに入ります。

  2. network_container.tfファイルを作成します。

    terraform { required_providers { tidbcloud = { source = "tidbcloud/tidbcloud" } } } provider "tidbcloud" { public_key = "your_public_key" private_key = "your_private_key" } resource "tidbcloud_dedicated_network_container" "example" { project_id = "1372813089454000000" region_id = "aws-ap-northeast-2" cidr_notation = "172.16.16.0/21" }

    resourceブロックを使用して、リソース タイプ、リソース名、リソースの詳細など、 TiDB Cloudのリソースを定義します。

    • tidbcloud_dedicated_network_containerリソースを使用するには、リソース タイプをtidbcloud_dedicated_network_containerに設定します。
    • リソース名は、必要に応じて定義できます(例: example )。
    • 必要な引数の値を取得する方法がわからない場合は、 リージョンの CIDR を設定する参照してください。
    • TiDB Cloud Dedicated ネットワーク コンテナ仕様の詳細については、 tidbcloud_dedicated_network_container (リソース)参照してください。
  3. terraform applyコマンドを実行します。リソースを適用する場合はterraform apply --auto-approveの使用は推奨されません。

    $ terraform apply Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # tidbcloud_dedicated_network_container.example will be created + resource "tidbcloud_dedicated_network_container" "example" { + cidr_notation = "172.16.16.0/21" + cloud_provider = (known after apply) + labels = (known after apply) + network_container_id = (known after apply) + project_id = "1372813089454543324" + region_display_name = (known after apply) + region_id = "aws-ap-northeast-2" + state = (known after apply) + vpc_id = (known after apply) } Plan: 1 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:

    上記の結果では、Terraform によって実行プランが生成され、Terraform が実行するアクションが記述されます。

    • 構成と状態の違いを確認できます。
    • applyの結果も確認できます。新しいリソースが追加されますが、リソースは変更または破棄されません。
    • known after apply apply後の対応する値が取得されることを示します。
  4. 計画の内容がすべて問題ない場合は、「 yesと入力して続行します。

    Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes tidbcloud_dedicated_network_container.example: Creating... tidbcloud_dedicated_network_container.example: Creation complete after 4s

    TiDB Cloud Dedicated ネットワークコンテナのリージョンにTiDB Cloud Dedicated クラスターを作成するまで、リソースのステータスはINACTIVEままです。その後、ステータスはACTIVEに変わります。

  5. リソースの状態を確認するには、コマンドterraform showまたはterraform state show tidbcloud_dedicated_network_container.${resource-name}使用します。コマンド 1 は、すべてのリソースとデータソースの状態を表示します。

    $ terraform state show tidbcloud_dedicated_network_container.example # tidbcloud_dedicated_network_container.example: resource "tidbcloud_dedicated_network_container" "example" { cidr_notation = "172.16.16.0/21" cloud_provider = "aws" labels = { "tidb.cloud/project" = "1372813089454000000" } network_container_id = "1934235512696000000" project_id = "1372813089454000000" region_display_name = "Seoul (ap-northeast-2)" region_id = "aws-ap-northeast-2" state = "INACTIVE" vpc_id = null }

TiDB Cloud専用ネットワークコンテナをインポートする

Terraform で管理されていないTiDB Cloud Dedicated ネットワーク コンテナの場合は、インポートするだけで Terraform を使用して管理できます。

たとえば、Terraform によって作成されていないネットワーク コンテナーをインポートできます。

  1. 新しいtidbcloud_dedicated_network_containerリソースのインポート ブロックを追加します。

    次のインポート ブロックを.tfファイルに追加し、 example目的のリソース名に置き換え、 ${id} cluster_id,network_container_idの形式に置き換えます。

    import { to = tidbcloud_dedicated_network_container.example id = "${id}" }
  2. 新しい構成ファイルを生成します。

    インポート ブロックに従って、新しいtidbcloud_dedicated_network_containerリソースの新しい構成ファイルを生成します。

    terraform plan -generate-config-out=generated.tf

    上記のコマンドでは、既存の.tf名を指定しないでください。指定した場合、Terraform はエラーを返します。

    次に、インポートされたリソースの構成を含むgenerated.tfファイルが現在のディレクトリに作成されます。

  3. 生成された構成を確認して適用します。

    生成された構成ファイルを確認し、ニーズを満たしていることを確認してください。必要に応じて、このファイルの内容を任意の場所に移動することもできます。

    次に、 terraform applyを実行してインフラストラクチャをインポートします。適用後の出力例は次のとおりです。

    tidbcloud_dedicated_network_container.example: Importing... [id=10423692645683000000,example] tidbcloud_dedicated_network_container.example: Import complete [id=10423692645683000000,example] Apply complete! Resources: 1 imported, 0 added, 0 changed, 0 destroyed.

これで、インポートしたTiDB Cloud Dedicated ネットワーク コンテナを Terraform で管理できるようになりました。

TiDB Cloud Dedicatedネットワークコンテナを削除する

TiDB Cloud Dedicated クラスターを削除するには、 tidbcloud_dedicated_clusterリソースの設定を削除し、 terraform applyコマンドを使用してリソースを破棄します。ただし、 TiDB Cloud Dedicated ネットワークコンテナのステータスがACTIVEでないことを確認する必要があります。ステータスがACTIVE場合は削除できません。

ステータスがINACTIVEの場合は、次のコマンドを実行して削除できます。

$ terraform apply tidbcloud_dedicated_network_container.example: Refreshing state... Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: - destroy Terraform will perform the following actions: # tidbcloud_dedicated_network_container.example will be destroyed # (because tidbcloud_dedicated_network_container.example is not in configuration) - resource "tidbcloud_dedicated_network_container" "example" { - cidr_notation = "172.16.16.0/21" -> null - cloud_provider = "aws" -> null - labels = { - "tidb.cloud/project" = "1372813089454000000" } -> null - network_container_id = "1934235512696000000" -> null - project_id = "1372813089454000000" -> null - region_display_name = "Seoul (ap-northeast-2)" -> null - region_id = "aws-ap-northeast-2" -> null - state = "INACTIVE" -> null # (1 unchanged attribute hidden) } Plan: 0 to add, 0 to change, 1 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes tidbcloud_dedicated_network_container.example: Destroying... tidbcloud_dedicated_network_container.example: Destruction complete after 2s Apply complete! Resources: 0 added, 0 changed, 1 destroyed.

ここで、 terraform showコマンドを実行すると、リソースがクリアされているため、管理対象リソースは表示されません。

$ terraform show

このページは役に立ちましたか?