SlideShare a Scribd company logo
1 of 29
Download to read offline
나의 AWS 첫 걸음
Lambda로 시작하는 나의 지출 데이터 수집
김영헌
me@younghun.kim
• AWS 초심자
• AWS로 무엇을 할 까 생각하는 분
• 개인 목적
AWS에 발 담그기
• 한 달 전, 스터디에서 발표하기로 함
• 탄력적 개발로 이끄는 AWS 실천 기술' 책
• AWSomeday 하루 코스 강의
발표 앞두고 1 주일 전…발표 앞두고 1 주일 전…
‘나와 관련 있는 것’
• ‘생활 데이터 과학’을 만나다 [팟1, 2, 책]
• 나와 관련된 데이터
• 체중 (2012~)
• 활동량 (2015~)
• 업무 사용 시간 (2015)
• 방의 온습도 (2011~)
• 지출 관리 (2017~)
지출 기록을 관리하자
• 2017년 목표!
• 그러나, 매일 매일 기록하기 쉽지 않음
• 좋은 서비스가 많으나, 데이터 재활용이 어려움
• 브로콜리, OO가계부, 해당 카드사 앱 등
• 서버를 관리하기 귀찮았음 번거로웠음
‘나와 관련 있는 것’
카드 지출 데이터 수집
‘나와 관련 있는 것’
카드 지출 데이터 수집
Lambda
Google Spreadsheet
Gmail
결제 내역 이메일
결제 내역 추가
filter: forward to somewhere?
이런 그림이면 될 듯!?
1. Gmail에서 필터 설정
2. Google API credential 생성
3. Lambda에 ‘이메일 파싱 함수’ 등록
4. 끝
이메일로 Lambda 함수를 

어떻게 실행하지?
• SES에서 SNS으로 전송 가능
• 이메일 크기 150KB 제약
• SES에서 Lambda 함수 바로 호출
Lambda
SES
Google Spreadsheet
Gmail
결제 내역 이메일
filter: forward to receipt@aws.mydomain.com
결제 내역 추가
이메일 서비스가 필요하겠군
이메일 주소 생성하자
• 1) 도메인 등록 2) 도메인 네임 서버 설정 3) 이메일 생성
• Route 53에서, 도메인 등록
• SES에서, 네임 서버 설정 및 이메일 생성
SES에서의 도메인 등록
이메일 주소 생성하자
• Rule 등록
Lambda
SESGmail
결제 내역 이메일
filter: forward to receipt@aws.mydomain.com
Route 53
Google Spreadsheet
결제 내역 추가
도메인 등록 완료
Lambda 함수 등록
• python 함수를 zip 파일로 압축하고 upload
• Google 스프레드시트의 ID와 시트 이름은 환경변수로 등록
• Lambda 함수에 대한 Role 생성
• DLQ(Dead Letter Queue) 설정 (예외 발생 체크용도)
• 환경 변수 암호화를 위한 KMS key
Lambda 함수 등록
수신 이메일을 Lambda 함수에 연결
SES에서 Rule 설정 화면
Lambda 함수 테스트
1. 수신자 이메일 주소로 Gmail에서 결제 내용 메일을 보냄
2. 이벤트로 이메일 본문이 전달 안됨 (메타 정보 만 전달)
3. 이메일 본문은 S3에 저장, messageId가 이벤트에 포함
Lambda
SES
S3
Google Spreadsheet
Gmail
결제 내역 이메일
filter: forward to receipt@aws.mydomain.com
결제 내역 추가
Route 53
이메일 저장소 추가
Lambda
SNS
SES
S3
Gmail
결제 내역 이메일
filter: forward to receipt@aws.mydomain.com
Route 53
Google Spreadsheet
결제 내역 추가
동작 실패는 어떻게 확인하지?
Dead Letter Queue
CloudWatch Logs
CloudWatch에 Log로 기록됨
Lambda
SNS
SES
S3
Gmail
결제 내역 이메일
CloudWatch Logs
filter: forward to receipt@aws.mydomain.com
Route 53
Google Spreadsheet
결제 내역 추가
끝났나?
인증정보는 암호화 하자
•Google API Credential을 환경 변수로 등록
•Google API Credential을 환경 변수로 등록
Lambda
SNS
SES
S3
Gmail
결제 내역 이메일
CloudWatch Logs
filter: forward to receipt@aws.mydomain.com
KMSRoute 53
Google Spreadsheet
결제 내역 추가
최종본
데모
결제 정보 메일이 시트에 새로운 행으로 저장 됨
AWS Lambda 사용 요금
• 요청: 약 23 호출/분
• 기간:
• 나의 Lambda 함수 : 128MB-10초/호출, 720 호출/월
• GB-초:0.00002 = 8/10 * 720 

=> $ 0.01152 S3, Route 53, KMS, Log …
Lambda 함수 Blueprint
Lambda를 써보면서 느낀점
• AWS/AWS Console은 감동
• 서비스간 연결, 필요한 권한 추가 등
• 개발/업로드/테스트 편리 (당연히…)
• 개인용으로 거의 비용X
• Route 53, SES, KMS, Logs, S3, IAM(Role)를 함께 익힘
• AWS 첫걸음은 Lambda로 부터!!
다음에 할 일
• 현금 등의 지출 기록 방법을 추가 (API Gateway 이용)
• 곧, 코드/설명서/발표자료는 게시할께요
• 코드 업데이트 - [준비중]
• 설명서 - [준비중]
• 발표자료 - 이 것!

More Related Content

Similar to 나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집

AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018 EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
Amazon Web Services Korea
 
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
Sang Don Kim
 
AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈 테크니...
AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈  테크니...AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈  테크니...
AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈 테크니...
Amazon Web Services Korea
 
Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018
Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018
Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018
Amazon Web Services Korea
 

Similar to 나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집 (20)

아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
 
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
 
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
금융 분야 마이데이터 (My Data) 산업 도입 방안 및 AWS 활용법 – 고종원 AWS 어카운트 매니저, 양찬욱 KB국민카드 팀장:: ...
 
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
 
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
 
클라우드에 대한 7가지 추세
클라우드에 대한 7가지 추세클라우드에 대한 7가지 추세
클라우드에 대한 7가지 추세
 
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS Lambda 100% 활용하기 :: 김상필 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018 EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
EasyCloud 고군분투 개발 이야기::이준희::AWS Summit Seoul 2018
 
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
 
요금 모델 및 클라우드 애플리케이션 지원 - 정도현, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
요금 모델 및 클라우드 애플리케이션 지원 - 정도현, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스요금 모델 및 클라우드 애플리케이션 지원 - 정도현, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
요금 모델 및 클라우드 애플리케이션 지원 - 정도현, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
 
모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향 모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향
 
스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018
스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018
스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018
 
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
 
AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈 테크니...
AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈  테크니...AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈  테크니...
AWS CLOUD 2018- 필요한 데이터만 가져온다, Amazon S3 Select, Glacier Select 서비스 (박성훈 테크니...
 
20200923 amazon personalize service webinar presentation file_public
20200923 amazon personalize service webinar presentation file_public20200923 amazon personalize service webinar presentation file_public
20200923 amazon personalize service webinar presentation file_public
 
AWS Step Functions을 통한 마이크로서비스 오케스트레이션 - 강세용:: AWS 현대적 애플리케이션 개발
AWS Step Functions을 통한 마이크로서비스 오케스트레이션 - 강세용:: AWS 현대적 애플리케이션 개발AWS Step Functions을 통한 마이크로서비스 오케스트레이션 - 강세용:: AWS 현대적 애플리케이션 개발
AWS Step Functions을 통한 마이크로서비스 오케스트레이션 - 강세용:: AWS 현대적 애플리케이션 개발
 
Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018
Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018
Amazon.com 사례와 함께하는 유통 차세대 DW 구축을 위한 Data Lake 전략::구태훈::AWS Summit Seoul 2018
 
모두싸인의 AWS 성장기
모두싸인의 AWS 성장기모두싸인의 AWS 성장기
모두싸인의 AWS 성장기
 
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
 
AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나
AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나
AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나
 

나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집