0Pricing
Terraform Infrastructure as Code · レッスン

State管理の基礎

デプロイしたリソースの追跡に不可欠なTerraform Stateの概念と、ローカルStateファイルの管理方法を理解します。

「State管理の基礎」はCoddyKit上の無料Terraform Infrastructure as Codeレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTerraform Infrastructure as Code学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Terraform Infrastructure as Codeコースには全4レッスンが含まれています。

Terraform Stateとは

Terraformのstateは、インフラストラクチャの記憶のようなものです。Terraformが管理するリソースのスナップショットです。

これは、Terraformが実際の環境(クラウドプロバイダー)で構築・設定した内容を追跡する重要なデータベースだと考えてください。

Stateが重要な理由

Stateが重要なのは、Terraformが次のことを行えるようになるためです。

  • リソースを対応付ける:実際のクラウドリソースが、設定内のどのリソースブロックに対応するかを把握します。
  • メタデータを追跡する:設定に含まれていないリソースの属性(IDやIPアドレスなど)を保存します。
  • 変更を計画する:目的の状態(設定)と現在の状態(stateファイル)を比較し、作成、更新、または破棄が必要なものを判断します。

ワークフローにおけるStateの役割

terraform applyを実行すると、Terraformはまず.tfファイルを確認し、どのような状態を望んでいるかを把握します。次に、stateファイルを参照して、現在存在しているものを確認します。

この2つを比較して、目的のインフラストラクチャ構成に到達するための「plan」を作成します。適用後は、新しい実際の状態をstateファイルに反映します。

`terraform.tfstate`について

デフォルトでは、Terraformは作業ディレクトリ内のterraform.tfstateというファイルにstateをローカル保存します。

このファイルは、設定と実際のリソースの対応関係を包括的に記録したJSONドキュメントです。

最初のリソース

シンプルなnull_resourceを使って、stateがどのように作成されるか確認しましょう。このリソースはクラウド上に何も作成しませんが、Terraformはそれでも追跡します。

次の内容をmain.tfとして保存してください。

resource "null_resource" "my_example" {
  triggers = {
    always_run = timestamp()
  }
}

Stateファイルを作成する

まずTerraformを初期化し、次に設定を適用してリソースとterraform.tfstateファイルを作成します。

ターミナルで次のコマンドを実行してください。

terraform init
terraform apply --auto-approve

Stateのリソースを一覧表示する

applyが完了すると、terraform.tfstateファイルが作成されます。Terraform CLIコマンドを使って、その内容を確認できます。

terraform state listを使用すると、stateで追跡されているすべてのリソースを確認できます。

terraform state list

リソースの詳細を表示する

stateファイルから特定のリソースの詳細情報を取得するには、リソースアドレスを続けて指定したterraform state showを使用します。

ここではnull_resourceで試してみましょう。

terraform state show null_resource.my_example

Stateを手動で編集しないでください

terraform.tfstateファイルは重要で複雑なファイルです。決して手動で直接編集しないでください。

手動で編集するとstateが破損し、次のような問題につながる可能性があります。

  • インフラストラクチャの状態が不整合になる。
  • Terraformがリソースを追跡できなくなる。
  • 予期しないリソースの破棄や作成が発生する。

stateを操作する場合は、必ずTerraform CLIコマンド(terraform state mvなど)を使用してください。

State Managementチェック

Terraformのstateについて、次の記述のうち正しいものはどれですか。

State Managementの復習

このレッスンでは、インフラストラクチャを追跡する重要な要素であるTerraformのstateについて学びました。

  • stateによって、設定と実際のリソースが対応付けられることを学びました。
  • ローカルのstateファイルの名前はterraform.tfstateです。
  • terraform state listやterraform state showなどのコマンドを使って、stateを確認できます。
  • 破損を防ぐため、stateファイルを手動で編集してはいけません。

stateを理解することは、Terraformを効果的に使うための基本です。

よくある質問

「State管理の基礎」レッスンは無料ですか?

はい。「State管理の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Terraform Infrastructure as Codeコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Terraform Infrastructure as Codeコースには全4レッスンが含まれています。

「State管理の基礎」で何を学びますか?

デプロイしたリソースの追跡に不可欠なTerraform Stateの概念と、ローカルStateファイルの管理方法を理解します。 ブラウザで直接実行するハンズオンコードでTerraform Infrastructure as Codeを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Terraform Infrastructure as Codeを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのTerraform Infrastructure as Codeは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「State管理の基礎」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このTerraform Infrastructure as Codeレッスンでコードを書いて実行できますか?

はい。すべてのTerraform Infrastructure as Codeレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ProviderとResource
  2. 変数と出力
  3. State管理の基礎
  4. モジュールとコードの再利用
← Terraform Infrastructure as Codeに戻る