🌟
TerraformでAWSインフラを構築する入門ガイド
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