본문 바로가기

terraform

2023년도 회고 2023년에 있었던 일에 대해서 간단하게 적어보고 내년에도 해야 할 일을 정리해보았습니다. 올해는 제 커리어 상으로 생각보다 많은 일이 있었습니다. 해쳐나가기도 힘들었지만, 여러 커뮤니티의 도움을 받아 혼자서 하기 어려운 일들 잘 해결했습니다. 도와주신 많은 분들께 감사를 드리고, 내년에도 잘 부탁드립니다! 진행한 일들 1. 서버 아키텍쳐 Github Action을 도입하여 CI/CD 및 ECS + Fargate로 배포 전환 - 서버가 많이 다운되는데 원인을 파악할 수 없는 문제로 인해 늘 재부팅 또는 서버를 껏다키는 불안한 환경이었는데 Devops의 기본소양인 CI/CD를 이용하고 개발 프로세스를 바꾸고, 여러가지 절차들을 개선해 나가며 크진 않지만 작지도 않은 변화를 이뤄냈습니다. - 배포 속도 1시.. 더보기
테라폼 맨땅에서 부터 적용하기 3 한동안 테라폼에 큰 작업을 하질 못했다. 테라폼 톡방에서 정보를 보던 중 테라폼 구성을 더 편한 방법이 있을지 문의하다가 honglab님께서 도움을 주셔서 이 섹션을 작업할 수 있었다. 기존 구성 - 리소스를 일일이 하나씩 만들고 있었음. resource "aws_service_discovery_service" "discovery_service_test1" { name = "test1" namespace_id = aws_service_discovery_private_dns_namespace.prod.id dns_config { namespace_id = aws_service_discovery_private_dns_namespace.prod.id dns_records { ttl = 300 type = "A.. 더보기
테라폼 맨땅에서 부터 적용하기 2 진짜 한땀 한땀 넘겨놓고 나니 이젠 어지간한 리소스 그림으로 그려보라면 그릴 수 있을 거 같다. 그리고 모든 브랜치의 리소스도 파악하여 (terraform에 import 된 것 한정) apply도 확인해가며 돌릴 자신은 생겼다. 이 상태에서 2 ~ 3주간의 일상적인 리소스 변경활동도 이어 갔다. 단 1편에서 나온 모듈화 되어 있지 않은 널브러진 파일은 가독성이 떨어지는 부분이 있어서 폴더화가 필요해 보였다. 이게 필요한 것은 알았지만, 적용시 몇가지 불편한 사항이 있었다. 1. state backup이 제대로 되지 않아 간간히 내가 삼실 컴에서 하던 것과 집 컴에서 할때 코드가 같아도 state의 문제로 다시 import 해야 하는 문제가 발생 2. 다른 브랜치가 바뀌는 중에 원하는 브랜치만 따로 적용이.. 더보기
테라폼 맨땅에서 부터 적용하기 1 AWS에서 리소스를 제어할때 기본적으로 AWS Console을 사용한다. 하지만 리소스가 점점 늘어날 수록 손으로 일일이 대응하기엔 시간도 많이 걸리고 휴먼에러도 많이 발생한다. 인프라는 다른 개발자들의 컨텐츠 작업보다는 훨씬 리스크가 큰 작업이다. 예를 들자면, 인프라는 건물이고 개발자는 인프라가 생성한 방에서 일하는 근로자인 것이다. 개발자가 실수를 하면 방에서 불이 나거나, 물 난리가 나는 정도의 레벨이라면 인프라의 실수는 기둥하나를 날리는 것이라던지, 중간 층을 통채로 날리던지 비교 여부를 떠나 개발자 대비 리스크가 훨씬 큰 작업이라는 것이다. 이번 적용기 글에선 사용법이나 이런 것들은 적지 않고 느낀 점만 간단히 적을 생각이다. 이미 많은 분들이 잘 사용할 수 있는 방법을 적어놨기 때문이고 사실.. 더보기