IT/Terraform

    [Terraform] IAM user 생성 이후 Password 설정 하기

    Intro 오늘은 terraform 으로 IAM User를 생성하고 그 이후에 Password를 설정하는 방법에 대해 알아보도록 하겠습니다. 우선 keybase라는 오픈소스 솔루션을 설치해야 합니다. keybase 사전 설치 brew install keybasekeybase설치 이후 작업 keybase 계정생성 myprofile - setting - add pgp keybase로 pgg 설치가 잘되었는지 확인 keybase_username 에 내 계정명 입력 curl https://keybase.io/keybase_username/key.asc샘플 소스 https://github.com/kimdragon50/terraform/tree/master/iam_userpasswd_exmaple 샘플 소스 설명 ..

    [Terraform ] Autoscaling Group에 ELB할당하기

    Intro AWS에 가장 강력한 기능 중 하나가 Autoscaling Group입니다. 해당 기능을 사용할때 엔드포인트 단일화와 부하분산을위해 AWS ELB를 필수적으로 사용하게 되는데요. Terraform을 이용하여 Autoscaling Group을 사용하여 ELB를 할당할 때 주의 해야할점이 있습니다. autoscaling_group_attachment 테라폼에서 autoscaling group에 alb target group을 추가할때 아래와 같이 "aws_autoscaling_attachment" 라는 리소스를 사용합니다. resource "aws_autoscaling_attachment" "asg_attachment_bar" { autoscaling_group_name = aws_autoscal..

    [Terraform] 특정 파일을 zip으로 변환하기 (Lambda함수 배포)

    Intro Terrafrom에서 특정 파일을 zip변환 할일이 있을까? 싶지만 terraform으로 Lambda함수를 배포하기 위해서는 zip파일이 있어야 합니다. Lambda의 소스코드 레벨을 IAC영역인 terraform소스코드와 같이 관리하는게 맞을까?라는 고민도 하긴 했었습니다만 DevOps엔지니어로서 인프라 자동화를 피할 수는 없기 때문에 개발자들이 직접 사용하는 Lambda영역이 아니라고 한다면 DevOps영역에서 관리하는 terraform소스 코드내에 Lambda 소스 코드가 포함되어도 된다고 생각합니다. 일반적으로 개발에서 직접 사용하는 Lambda함수 구조는 api gateway를 동반하는데, 이때 serverless platform(https://www.serverless.com/)이라..

    [Terraform] 테라폼 Best practice 네이밍 편

    Intro 오늘은 terraform best pratice 문서에서 참조할만한 내용 공유 드리도록 하겠습니다. 원문은 여길(https://www.terraform-best-practices.com/naming) 참고 바라며 개인적으로 테라폼을 사용하는 사람들은 꼭 지켰으면 하는 3가지만 정리해보겠습니다. 1. 리소스 타입과 리소스명을 중복하지말기 resource "aws_route_table" "public_route_table" {}` → bad resource "aws_route_table" "public" {} → good 1-1) 추가로 리소스명에 환경 명 넣지 말기 (향후 변경이 될 가능성이 있는 것들은 최대한 리소스명에 넣지 않도록 한다) resource "aws_route_table" "pr..