2022/06

    [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/)이라..

    [Python] 특정 지역의 date(날짜) 가져오기

    Intro AWS에서 Lambda함수를 잘 활용하면 AWS인프라 자동화를 구현할 수 있습니다. 저는 Lambda함수를 사용할때 code language로 python을 주로 사용합니다. 오늘은 python에서 특정 지역의 date(날짜)를 가져오는 방법에 대해 알아 보도록 하겠습니다. Lambda함수에서 python을 사용할때 default timezone이 UTC로 설정되어있습니다. 따라서 python에서 timezone을 변경하여 원하는 지역에 날짜값을 가져와야합니다. dateutil 패키지 사용 아래와 같이 datautil의 tz를 사용하면 특정 지역의 날짜 값을 가져올 수 있습니다. import datetime import dateutil.tz apnortheast2 = dateutil.tz.ge..

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