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 クックブック

第5章 Terraformによるコンテナ管理 Terraformによるコンテナ管理

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

この章では、コンテナ管理における Terraform の応用を探る。コンテナは、アプリケーションの開発、パッケージ化、デプロイという現代のパラダイムにおいて、多様な環境間での一貫性を確保するために重要な役割を果たす。Terraformはプロバイダプラグインを介してKubernetesやDockerといった有名なコンテナオーケストレーションプラットフォームと連携する。これらのプラグインはTerraformの機能を拡張し、これらのオーケストレーションプラットフォーム内のリソースの管理を可能にする。

Terraformとこれらのプラットフォームとの相互作用により、コンテナ化されたアプリケーションとそれらが動作するインフラのプロビジョニングと管理の自動化が可能になる。例えばKubernetesプロバイダを使えば、TerraformはPodやサービスなどのリソースを管理でき、Dockerプロバイダを使えばDockerイメージやコンテナを管理できる。

コンテナ管理にTerraformを活用することで、インフラ開発プロセスを合理化し、バージョン管理、ピアレビュー、自動テストといったアプリケーションコード管理としての利点をもたらす。Dockerコンテナのオーケストレーションであれ、Kubernetesクラスタの管理であれ、Terraformはコンテナ化されたアプリケーションを管理するための一貫したスケーラブルなアプローチを提供し、インフラ管理を最新の開発プラクティスに合わせる。

5.1 ローカルとリモートのDockerイメージを使い分ける

問題

ローカルとリモートのDockerレジストリの両方にDocker イメージ を持っていて、それぞれをいつ使うかを決める必要がある。Terraformを使ってこれらのイメージからコンテナをデプロイしたい。

解決策

実行するDockerコンテナをローカルとリモートで区別することができる:

# Configure the Docker provider
provider "docker" {}

# Use a remote Docker image
resource "docker_image" "remote_image" {
  name = "<REMOTE_IMAGE_NAME>:<TAG>"
}

resource "docker_container" "remote_container" {
  name  = "remote_container"
  image = docker_image.remote_image.latest
}

# Use a local Docker image
resource "docker_image" "local_image" {
  name         = "<LOCAL_IMAGE_NAME>:<TAG>"
  keep_locally = true
}

resource "docker_container" "local_container" {
  name  = "local_container"
  image = docker_image.local_image.latest
}

ディスカッション

このソリューションでは、Dockerプロバイダーを使ってローカルとリモートのイメージからDockerコンテナをデプロイしている: ...

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