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 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 destroy
しておきます。
Terraform Registry
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント