2022/04

    [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..

    [AWS] Cognito를 사용하여 앱(모바일) 유저에 IAM Role 부여하기

    Intro 프로그래밍 방법으로 AWS의 리소스를 접근하려면 AccessKey, SecretKey가 필요합니다. 하지만 Key가 노출되는 위험성이 존재 하기 때문에 RBAC 방식으로 AWS에서는 IAM Role을 부여할 수 있습니다. 모바일 앱을 개발할때 S3에 있는 static한 파일들을 접근해야하는 경우가 있습니다. 이 경우 앱개발 소스에 AccessKey, SecretKey를 사용하게되면 보안상 취약점이 생기게되죠. S3에 접근할때 AccessKey, SecretKey를 사용하지 않는 방법은 signed URL 방식을 사용하는 방법이 있고, Cognito를 사용하는 방법이 있습니다. 오늘 설명 드릴 Cognito를 사용하는 방법은 Login을 하는 User를 대상으로 IAM Role을 부여하는 방식입..

    [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..