🌟

TerraformでAWSインフラを構築する入門ガイド

2025/03/21に公開

Terraformは、インフラをコードで管理できる便利なツールです。本記事では、AWS上にTerraformを使ってインフラを紹介します。


1. 前提条件

  • AWSアカウント
  • IAMユーザーのアクセスキーとシークレットキー
  • ローカル環境に以下がインストールされていること
    • Terraform
    • AWS CLI(任意)

2. プロジェクトのセットアップ

mkdir terraform-aws-sample
cd terraform-aws-sample

3. シンプルな構成:EC2インスタンスを作成する

main.tf

provider "aws" {
  region = "ap-northeast-1"
}

resource "aws_instance" "example" {
  ami           = "ami-0c3fd0f5d33134a76"
  instance_type = "t2.micro"

  tags = {
    Name = "MyTerraformInstance"
  }
}

4. Terraformコマンドの実行

terraform init       # 初期化
terraform plan       # 実行プランの確認
terraform apply      # リソースの作成
terraform destroy    # リソースの削除

5. AWS認証情報の管理:環境変数を使う

Terraformでは、provider "aws"access_key / secret_key を書かずに、環境変数で安全に管理できます。

macOS/Linux

export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"

Windows (PowerShell)

$env:AWS_ACCESS_KEY_ID = "your-access-key"
$env:AWS_SECRET_ACCESS_KEY = "your-secret-key"

main.tf は以下のようにシンプルに

provider "aws" {
  region = "ap-northeast-1"
}

Terraformは自動で環境変数を使って認証します。


6. 実践構成例:VPC + S3 + RDS(MySQL)

以下のリソースを構築する構成例もあります:

  • VPCとサブネット
  • セキュリティグループ
  • S3バケット
  • RDSインスタンス(MySQL)

7. まとめ

認証方法 Terraform設定 備考
環境変数 regionのみ記述 シンプル&安全
プロファイル region + profile ~/.aws/credentials
直書き 非推奨 セキュリティリスク高

おわりに

Terraformを使えば、AWS上のリソースを再現性のある形で構築・管理できます。まずは小さなリソースから試し、徐々にVPCやRDSなど複雑な構成に広げてみましょう。

Discussion