Terraform ์‚ฌ์šฉ๋ฒ•
Devops

Terraform ์‚ฌ์šฉ๋ฒ•

1. terraform provider ์ƒ์„ฑ

- ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

- provider.tf, s3.tf ํŒŒ์ผ ์ƒ์„ฑ

- provider.tf์— ์•„๋ž˜ ๊ตฌ๋ฌธ ์ถ”๊ฐ€(IAM ์ธ์ฆ)

provider "aws" {
  access_key = "<AWS Access Key ID>"
  secret_key = "<AWS Secrey Key>"
  region = "ap-northeast-2"
}

- s3.tf์— ์•„๋ž˜ ๊ตฌ๋ฌธ ์ถ”๊ฐ€(S3 bucket ์ƒ์„ฑ)

resource "aws_s3_bucket" "s3" {
  bucket = "eunhye-bucket-0225"
  acl = "private"
}

2. terraform init

- Terraform ์ดˆ๊ธฐํ™”

- ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ

3. terraform plan

- ๋ฐฐํฌํ•  Resource ํ™•์ธ(์ถ”๊ฐ€ํ•  Resoucre๋Š” +๋กœ ํ‘œ๊ธฐ)

4. terraform apply

- Resource๋ฅผ AWS(provider.tf ์„ค์ •๋œ AWS ๊ณ„์ •)๋กœ ๋ฐฐํฌ

- AWS Console - S3์—์„œ terraform์œผ๋กœ ์ƒ์„ฑ๋œ bucket ํ™•์ธ ๊ฐ€๋Šฅ

- s3.tf๋ฅผ ์ž„์‹œ๋กœ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

- ์‚ฌ๋ผ์ง„ Resoucre๋Š” -๋กœ ํ‘œ๊ธฐ

- ๋‹ค์‹œ s3.tf๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๊ฒŒ๋˜๋ฉด "No changes"๋กœ ํ‘œ๊ธฐ

5. terraform destory

- ๋ฐฐํฌ๋œ Resource ์‚ญ์ œ

- AWS Console - S3์—์„œ ์‚ญ์ œ๋œ bucket ํ™•์ธ ๊ฐ€๋Šฅ

 

'Devops' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

terraform ๋ฒ„์ „ ๊ด€๋ฆฌ : tfenv  (0) 2021.10.03
Config ์ž๋™ํ™” ํˆด(puppet, chef, salt, ansible)  (0) 2021.04.13
AWS CDK ์‚ฌ์šฉ๋ฒ•  (0) 2021.03.20
Infrastructure as Code(IaC)  (0) 2021.03.20
Git ์‚ฌ์šฉ๋ฒ•  (0) 2021.01.11