TerraformでS3バケットをデプロイする

TerraformでS3バケットをデプロイする

バケットデプロイ

新規ディレクトリでmain.tf作成します。

main.tf

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
  }

  required_version = ">= 1.2.0"
}

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

resource "aws_s3_bucket" "lambda_bucket" {
  bucket = "xxxxxxxxxx"
}

バケット名はユニークでないとデプロイ失敗します。

$ terraform init
$ terraform apply

バケットが作成されます。

TerraformでS3バケットをデプロイする

terraform destroyしておきます。

Random Providerでランダムな名前のバケットデプロイ

Random Providerを使用してランダムなバケット名を生成してデプロイしてみます。

main.tf

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
    random = {
      source  = "hashicorp/random"
      version = ">= 3.1.0"
    }
  }

  required_version = ">= 1.2.0"
}

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

resource "random_pet" "lambda_bucket_name" {
  prefix = "learn-terraform-functions"
  length = 4
}

resource "aws_s3_bucket" "lambda_bucket" {
  bucket = random_pet.lambda_bucket_name.id
}

適用します。

terraform apply

プレフィックスが「learn-terrafom-functions」、length=2、セパレータは「-」のpet名がついた名前のバケットが生成されます。

TerraformでS3バケットをデプロイする

最後にterraform destroyしておきます。

Terraform Registry

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました