{Terraform} S3/AWS

https://cloud5.jp/terraform-s3/
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket

 

-- 1. macにTerraformインストール

brew tap hashicorp/tap
brew install hashicorp/tap/terraform
brew update
brew upgrade hashicorp/tap/terraform
terraform -help
terraform -version


-- 2. macAWS CLIインストール

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

which aws
aws --version

 


-- 3. tfファイル作成

vim main.tf


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


resource "aws_s3_bucket" "bucket123" {
  bucket = "bucket123"
  force_destroy = true
  
  tags = {
    Name = "bucket123"
  }
}


resource "aws_s3_bucket_public_access_block" "bucket123" {
  bucket                  = aws_s3_bucket.bucket123.id
  block_public_acls       = true
  block_public_policy     = true
  ignore_public_acls      = true
  restrict_public_buckets = true
}

 

 

-- 4. terraform 実行

terraform init -upgrade

terraform plan
terraform apply -auto-approve
terraform output

terraform state list

 

 

aws s3 ls

echo test > test.txt
aws s3 cp test.txt s3://bucket123

aws s3 ls s3://bucket123 --recursive --human-readable

 

 

-- 5. クリーンアップ


terraform destroy -auto-approve