[お試し]TerraformによるAWSインフラの構築
この記事では、Terraformを使ってAWS上にインフラを構築する方法を、具体的なコードとともに解説します。ここでは、EC2インスタンスと、それに接続するセキュリティグループを作成する例を紹介します。
前提条件
1. Terraform設定ファイルの作成
まず、main.tf
という名前のTerraform設定ファイルを作成します。
provider "aws" { region = "ap-northeast-1" } resource "aws_instance" "example" { ami = "ami-0c94855ba95b798c7" # Amazon Linux 2 AMI instance_type = "t2.micro" tags = { Name = "example-instance" } vpc_security_group_ids = [aws_security_group.example.id] } resource "aws_security_group" "example" { name = "example" description = "Example security group for EC2 instance" ingress { from_port = 22 to_port = 22 protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } }
この設定ファイルでは、以下のリソースが定義されています。
- AWSプロバイダ: AWSを操作するためのプロバイダを設定しています。リージョンは
ap-northeast-1
(東京リージョン)を指定しています。 - EC2インスタンス: Amazon Linux 2 AMIを使用した
t2.micro
タイプのEC2インスタンスを作成します。名前タグにexample-instance
という名前を付け、セキュリティグループとしてaws_security_group.example.id
を指定しています。 - セキュリティグループ: EC2インスタンスに適用するセキュリティグループを作成しています。インバウンドルールとして、TCPポート22(SSH)を全てのIPアドレス(0.0.0.0/0)から許可しています。
2. 初期化とプランの作成
Terraform設定ファイルが作成されたら、次に以下のコマンドを実行してプロジェクトを初期化します。
$ terraform init
初期化が完了したら、以下のコマンドで実行計画を作成します。
$ terraform plan
3. インフラの作成
実行計画が正しく作成されたら、以下のコマンドでインフラを作成します。
$ terraform apply
terraform apply
コマンドを実行すると、Terraformは設定ファイルに記述されたリソースをAWS上に作成します。コマンドが正常に終了すると、EC2インスタンスとセキュリティグループが作成されていることが確認できます。
4. インフラの削除
作成したインフラを削除する場合は、以下のコマンドを実行します。
$ terraform destroy
terraform destroy
コマンドを実行すると、Terraformは設定ファイルに記述されたリソースをAWSから削除します。コマンドが正常に終了すると、EC2インスタンスとセキュリティグループが削除されていることが確認できます。
まとめ
この記事では、Terraformを使ってAWS上にインフラを構築する方法を、具体的なコードとともに解説しました。Terraformは、インフラストラクチャーをコードとして管理し、構築や変更を簡単に行える強力なツールです。この記事で紹介した例を参考に、ぜひ自分のプロジェクトにもTerraformを導入してみてください。