自由帳

既に知っていることも含めて再アウトプット用に書きます✍️

[お試し]TerraformによるAWSインフラの構築

この記事では、Terraformを使ってAWS上にインフラを構築する方法を、具体的なコードとともに解説します。ここでは、EC2インスタンスと、それに接続するセキュリティグループを作成する例を紹介します。

前提条件

  • Terraformがインストールされていること
  • AWS CLIがインストールされていること
  • AWSアカウントが作成されていること
  • AWSのアクセスキーとシークレットキーが用意されていること

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を導入してみてください。