2022/04 2

사용중인 인프라를 Terraform 코드화 하기

여러 사람이 AWS 를 관리하다보면 콘솔로 작업한 부분 또는 CLI 로 작업한 부분 Terraform 과 같은 IaC 코드화 된 부분이 혼재 될수 밖에 없다. Infra 를 IaC 로 관리 하기로 했으면 일관성과 통일성을 위해서 IaC 화 하는게 맞을 것이다. 그렇지 않으면 일관적인 관리를 하지 못해 관리가 잘되지 않아 사고로 이어질수 있다. Terraform 에서는 기본적으로 import 기능을 제공하여 기존 구성된 인프라를 가져오는 기능이 있다. 그러나 이 기능은 Terraform 의 상태 파일인 terraform.tfstate 만 가져 올뿐 .tf 파일은 terraform.tfstate 상태 파일을 참조하여 직접 코딩을 해야 되는 번거로움이 있다. 그러나 이게 가장 확실한 방법이다. import 사..

IT 2022.04.08

Terraform S3 Backend 사용하기

Terraform 에서 여러 사람이 작업을 할때 state file 을 공유하고 동시 작업시 원자성 일관성 작업을 위해서 Lock 을 제공하기 위해선 원격 공유 저장소 와 Lock 을 구현할 수 있는 Backend 가 필요하다. AWS 에선 S3 를 이용하고 작업 상태를 공유하고 변경 작업중 원자성을 Lock 제공하기 위해 DynamoDB Table Lock 을 손쉽게 사용할수 있다. mkdir backend cat main.tf # terrafrom state lock 테이블 resource "aws_dynamodb_table" "terraform_state_lock" { name = "terraform-state-lock" hash_key = "LockID" billing_mode = "PAY_PER..

IT 2022.04.08