Golang + Lambda로 신규 유저 정보 이메일로 보내기 삽질기

이번 글은 실패한 사례를 공유해두려고 한다. 실패라기 보다는 몰랐던 사실 때문에 방법을 수정하게 되었다. 결론적으로 말하자면, EC2에 스케줄링 하는 방식으로 수정되었다. 다만 람다에 배포하고 CloudWatch Event를 사용해 스케줄링 하는 과정까지는 진행했고, 해당 과정을 담았다.

서비스 중인 앱 중에서는 회원가입 신청한 유저의 신원을 직접 확인한 후 Activate를 해줘야 하는 부분이 있다. 회원 가입 후, 비개발인력이 데이터베이스에서 새롭게 가입한 유저를 확인하고, 몇 가지 확인과 등록 절차를 통해 유저를 등록시켜야 하는데, 비개발 인력이 하기 어려운 작업이라 매일 오전 9시에 전날 새로 가입한 유저 정보를 CSV로 만들고 메일로 보내는 스케줄링 작업을 Go로 만들어보려고 한다. 먼저 데이터베이스에서 내용을 가져와 CSV로 만들어내는 부분을 만든 다음, 메일 보내기 작업을 한 다음 RDS에 연결한 Lambda 배포까지 진행해보려고 한다.

서버리스 배포 베스트 프랙티스(번역)

written by Fernando Medina Corey

이 튜토리얼의 대부분을 만들기 위해서는 Serverless Framework’s의 대시보드에 로그인 해야 한다: https://dashboard.serverless.com.

역주: 본인은 글을 모두 읽은 다음에 이 주석을 달고 있다. 베스트 프랙티스를 실행할 방법을 알려준 다음 Safeguard라는 Serverless Framework의 대시보드, 기타 등등 대시보드 기능으로 베스트 프랙티스를 실행하는 내용을 알려준다. 문제를 먼저 알려주고 해결하고 싶으면 우리 제품을 써보는 게 어떻냐는 약팔이 느낌도 있긴 하다.

서버리스로 CronJob 만들기 (코로나 크롤러)

현재 진행하고 있는 프로젝트에서는 크로나 현황을 간단하게 보여주는 섹션이 존재하는데, 이 부분을 누군가가 (API 형식으로다가?) 제공해주고 있는 것으로 알고 있었다. 그렇지만 아직 나온 건 없었고, 어쩔 수 없이 간단한 크롤러를 만들고 업데이트 해주기로 했다. 현재 프로젝트가 서버리스로 돌고 있기도 하고, Scheduled 된 작업을 돌리기 위해서는 람다가 적합하지 않을라나 싶어서 같은 서버리스 프로젝트에서 크론잡을 돌리는 함수를 만들어보기로 했다.

Serverless 프레임워크 빠르게 배우기 (2)

지난 포스트에서 serverless의 기본적인 핵심 개념들과 그 중 Services까지 정리를 했다. 이번에는 Functions에 대해서 정리해보자. (Events까지 보려고 했는데 생각보다 함수파트 내용이 복잡하고 많으니까 천천히 다시 볼 필요가 있는 것 같음)

Serverless 프레임워크 빠르게 배우기 (1)

인프라에 대한 걱정을 줄여주는 서버리스는 배우고 나면 정말 편하겠다고 생각한 지가 대충 한 3개월 정도 되어가는 것 같다. 처음 람다를 경험한 건 AWS 아마톤 행사에서 사용했는데, 배포가 정말 코드 한 줄로 이루어 지는 것을 경험하고 (같이 하신 분이 환경 구성을 정말 잘 해주신 것이라고 생각하지만) 나중에 따로 프로젝트에서 꼭 써봐야지 했는데, 이제서야 점점 공부를 시작한다. 우선 람다에 대한 개념은 대충 알고 있으니 서버리스 배포를 편하게 도와주는 몇 서버리스 프레임워크 중에, 그 당시에 그나마 진입 장벽이 낮다고 추천 해주셨던 Serverless 라는 서버리스 프레임워크를 사용해보려고 한다.

일단 이 글은 AWS provider를 중심으로 공부한 내용을 정리할 예정이고, 내가 실습한 내용 보다는 Serverless에서 제공해주는 유저 가이드를 공부한 내용 위주로 정리할 생각이다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×