IT/Terraform

    [Terraform] AWS S3 Bucket Policy 규칙 추가 방법

    Intro 오늘은 테라폼을 이용하여 S3 Bucket policy 규칙을 추가해보도록 하겠습니다. S3 Bucket policy는 json 형태로 되어있으며 이는 IAM policy와 매우 유사하기 때문에 향 후 IAM policy에 규칙을 추가하는데에도 동일하게 적용이 가능합니다. 참고로 아래 URL에서와 같이 cloudwatch logs에 데이터를 s3 bucket에 넣기 위해 필요한 policy를 추가 하는 예제로 설명드리겠습니다. https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/S3ExportTasksConsole.html Bucket policy 추가 하는 2가지 방법 테라폼 소스로 Bucket policy를 추가하는 방법은 2가지..

    [Terraform] AWS NLB internal private IP 할당 방법

    Intro AWS NLB는 단일 subnet을 선택이 가능하며 internal로 생성시 subnet 별로 private IP를 고정 하여 사용할 수 있습니다. 오늘은 테라폼 모듈을 사용하여 NLB를 internanl로 생성 한 뒤에 Private IP를 고정하는 방법에 대해 알아 보도록 하겠습니다. 테라폼 소스 코드 아래 예제 소스는 load_balancer_type 을 network로 설정하여 NLB로 생성하며 private_subnet1~3 을 사용하여 NLB를 생성하고 subnet_mapping 을 이용하여 private ip를 할당 합니다. module "nlb_example" { source = "terraform-aws-modules/alb/aws" version = "~> 6.0" inter..

    [Terraform] 테라폼 사용전 알아두면 좋은 Best Practice 8가지

    Intro 오늘은 꽤 오래전 기술블로그에 올라온 terraform best practice를 쉽게 번역하여 정리를 해보겠습니다. 흔히 알고 있는 것도 있고 그렇지 않은것도 있어서 정리 해볼만한 것 같습니다. (원문 : https://dev.to/cryptic022/terraform-best-practices-2a1n) 1. 항상 최신 테라폼 버전을 사용해라 현재 버전은 1.1.8 2. terraform plan 시에 var-file을 사용해라 다양한 환경(dev, prod, stage)에서 테라폼을 사용할때 var-file을 활용 할 수 있습니다. terraform plan -var-file=values.tfvars -out=mytfplan values.tfvars bucket_name = "terraf..

    [Terraform] MAC M1 Incompatible provider version Error 해결(darwin_arm64)

    Intro MAC M1은 애플에서 자체 개발한 arm 기반 cpu를 사용합니다. 이에 따라 기존에 잘 동작하던 software들이 동작하지 않는 경우가 많습니다. 오늘 설명드릴 에러도 M1이 arm 기반으로 만들어진 이슈 때문에 발생한 에러 입니다. Incompatible provider version Error MAC M1 노트북에서 테라폼 코드를 열심히 작성하고 terraform init 시도 중에 아래와 같은 에러를 마주하게 됩니다. │ Error: Incompatible provider version │ │ Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a package available for your current..