Skip to Content
Terraform クックブック
book

Terraform クックブック

by Kerim Satirli, Taylor Dolezal
March 2025
Intermediate to advanced
282 pages
3h 50m
Japanese
O'Reilly Media, Inc.
Content preview from Terraform クックブック

第2章. Terraformの基本

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

Terraformを使う方法はたくさんある。GitHub組織の立ち上げから、クラスタ管理ソリューションのプロビジョニング、さらには完璧なSpotifyプレイリストのキュレーションまで、Terraformは多くのことを管理するための優れた宣言的な方法だ。この章ではTerraformの基本について掘り下げていく。

2.1 Terraformコードの形式と検証

問題

Terraformのコードを書いたが、読みにくく理解しにくい。それは一貫した形式である必要があり、適用する前にコードが有効であることを確認したい。

解決策

解決策の最初のステップは、 terraform fmt コマンドを実行することで、Terraform式のリアルタイム評価が可能になる:

# Step 1: Run the Terraform format command
terraform fmt

# Step 2: Run the Terraform validate command
terraform init
terraform validate

ディスカッション

terraform fmt コマンドは、Terraformのコードを推奨されるスタイルガイドラインに従って自動的に形式を整え、読みやすく保守しやすくする。このコマンドはTerraformの構成ファイルと同じディレクトリで実行する。

terraform validate コマンドは、Terraformコードを適用する前に、その構文とセマンティクスをチェックし、有効であることを確認する。構文エラー、必須引数の欠落、不正な参照をチェックする。しかし、その設定が望ましいインフラを生成するかどうかはチェックしない。

terraform validate を実行する前に、 terraform init を実行する必要があることに注意されたい。これは、バリデーションがプロバイダーからのコンテキストを必要とするのに対し、フォーマットはプロバイダー の情報を必要としない一般的な演算子であるためである。

2.2 Terraformコンソールによる迅速な実験

問題

Terraformの関数、式、補間などを構成ファイルを変更することなく素早くテストしたり実験したりしたい。

解決策

terraform console コマンドを実行して、迅速な実験の旅を始めよう:

# Step 1: Start the Terraform console
terraform console

# Step 2: Experiment with Terraform expressions
> 2 + 3
5
> join(",", ["a", "b", "c"])
"a,b,c"
> lookup({a="foo", b="bar"}, "a", "default")
"foo"

ディスカッション

terraform console コマンドは、Terraform式、関数、補間を評価できるインタラクティブコンソールを提供する。このツールは、既存の構成ファイルに影響を与えることなく、迅速に実験やデバッグを行うのに役立つ。

terraform console を実行すると、ターミナルで対話型の REPL (read-eval-print loop) セッションが始まる。Terraformの式や関数を入力すると、コンソールがそれらを評価し、結果を表示する。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

入門 Kubernetes

入門 Kubernetes

Kelsey Hightower, Brendan Burns, Joe Beda, 松浦 隼人
AWS クックブック

AWS クックブック

John Culkin, Mike Zazon
AWS Lambdaのプログラミング

AWS Lambdaのプログラミング

John Chapin, Mike Roberts

Publisher Resources

ISBN: 9798341633247Supplemental Content