안녕하세요, 와탭랩스 데브옵스 엔지니어 최정민입니다.
개발자라면 다들 로그인, 회원 가입 기능 개발과 운영자라면 사용자 데이터 관리에 애를 먹었던 경험이 있을 것 같습니다. 오늘은 Amazon Cognito를 활용해 빠르고 간단하게 로그인/회원 가입/사용자 데이터 관리를 구현하는 방법을 알려드리겠습니다.
Amazon Cognito는 웹과 모바일 앱에 대한 인증, 권한 부여 및 사용자 관리를 제공하는 서비스입니다.
Amazon Cognito는 크게 두 가지 구성 요소로 나뉘어집니다.
사용자 풀은 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리, 즉 회원 가입, 로그인, USER에 대한 관리를 제공합니다.
사용자에게 다른 AWS 서비스에 권한을 부여할 수 있습니다. 사용자 풀과 별도로 사용 가능하며, 사용자 풀과 함께 사용되었을 때 진가를 발휘합니다.
1. AWS Console로 이동해 Amazone Cognito Service Page로 이동한 뒤 사용자 풀 생성을 클릭합니다.
2. 사용자 풀 구성
설정했던 Amazon Cognito 로 이동해 로그인 또는 회원 가입 창이 뜨게 됩니다.
회원 가입(Sign up) 버튼을 클릭하면 Amazon Cognito에서 설정했던 가입 경험을 토대로 사용자에게 정보를 받아 가입을 요청하는 페이지가 나옵니다.
필요한 정보를 넣고 메일을 보낼 시 다음과 같은 메일이 전송이 되게 되고, 해당 코드를 입력하면 로그인이 됩니다.
Amazon Cognito 콘솔에서도 가입된 내역을 확인 가능합니다.
이전 단계에서 만든 계정으로 로그인할 때 로그인 정보에서 이메일을 파싱(Parshing)해 로그인 된 유저의 이메일을 보여주는 화면이 나오게 됩니다.
Amazon Cognito는 10분 내외 정도 소요되는 간단한 설정으로 로그인, 회원 가입, 유저 관리까지 할 수 있어 개발자가 부족하거나, 개발자가 기능 개발에 집중해야 하는 기업들에게 매우 매력적인 카드가 될 것이라고 생각합니다.
또한, Cognito 사용자 풀에 직접 로그인하는 50,000명, AML 2.0 기반 자격 증명 공급자를 통해 연동되는 사용자의 경우 50명을 프리 티어(Free Tier)로 제공하기 때문에 개발자 뿐만 아니라 개발을 공부하는 분들도 다양하게 사용할 수 있다고 생각합니다.
크고 작은 사내 시스템에 기존의 로그인 방식을 걷어내고, Amazon Cognito를 적용하였습니다. 사용하시는 분들도 만족하시고, 저 또한 관리 포인트가 적어지면서 굉장히 만족을 느끼고 있습니다. 로그인에 들이던 많은 시간을 Amazon Cognito를 적용하여 개발 속도를 줄이고, 남은 시간을 SaaS 모니터링 [와탭](https://www.whatap.io/ko/)을 통해 서비스를 안정화 하는 것을 추천합니다 😄