Terraformで始めるマルチクラウド管理入門
クラウドの利用が一般化した現在、AWSやGCP、Azureといった複数クラウドを組み合わせて利用するケースが増えています。そこで役立つのが Terraform です。この記事では、Terraformを使ってマルチクラウド環境を効率的に管理する方法を紹介します。
Terraformとは?
Terraformは HashiCorp社 が開発しているIaC(Infrastructure as Code)ツールで、クラウドリソースをコードで記述し、再現性のあるインフラ管理を可能にします。
特徴
- マルチクラウド対応(AWS, GCP, Azure, など)
- 宣言的なコード記述
- 状態管理による差分適用
実際に使ってみる
ここでは例として、AWSとGCPに同時にリソースを作成する方法を見てみましょう。
ディレクトリ構成
multi-cloud-terraform/
├── main.tf
├── aws.tf
└── gcp.tf
main.tf
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
google = {
source = "hashicorp/google"
version = "~> 5.0"
}
}
required_version = ">= 1.5.0"
}
provider "aws" {
region = "ap-northeast-1"
}
provider "google" {
project = "your-gcp-project-id"
region = "asia-northeast1"
}
aws.tf
resource "aws_s3_bucket" "example" {
bucket = "example-terraform-bucket"
}
gcp.tf
resource "google_storage_bucket" "example" {
name = "example-terraform-bucket"
location = "ASIA-NORTHEAST1"
}
実行方法
terraform init
terraform plan
terraform apply
このコードを適用すると、AWSにS3バケット、GCPにCloud Storageバケットがそれぞれ作成されます。
まとめ
Terraformを使うことで、複数クラウドのリソースを統一的に管理できます。今後、マルチクラウド戦略を取る組織にとって必須のスキルとなるでしょう。