SlideShare a Scribd company logo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
김영헌
me@younghun.kim
개인 지출 관리, AWS로 시작하기
Lambda로 시작하는 나의 지출 데이터 수집기
발표자 소개
• 2009 Master 쟁취
• 2009 A사 / 4.7년 / 개발자
• 2014 E사 / 2.5년 / 기술지원대표자
• 2017.1 …
지금은…?
• 하고 싶은 일 하기
• 여행 - 중국&제주
• 내가 사용할 프로그램 및 대용량 서비스 개발
• 얼마나 버틸 수(놀 수) 있을까?
• 현재 가지고 있는 돈으로 얼마나 버틸 수(놀 수) 있을까 고민 함
• 2017년 새해 목표로 (수기로) 지출 기록 시작
수기로 지출 기록 시작
그러나…
2월 부터 게으름으로 인해 완전 폭망
• 대안
• 브로콜리, 뱅크샐러드, 카드사앱, OO가계부 등...
• 한계
• 데이터 재활용이 어려움
• 접근성이 떨어짐
대안들
그래서
• 지출기록을 자동화하기로 함
• 소비 패턴이 카드 결제가 대부분
• 카드 결제 시, 이메일로 바로 전송 됨
카드 지출 데이터 수집
카드 지출 데이터 수집
본론 시작
• 만들어 갔던 과정을 시간 순서로 풀어 갑니다
• 과정에서 알게된 점(삽질)과 팁을 설명합니다
• 단계별 설정과 수행 방법은 제외하였습니다
• 템플릿, 소스코드 & 단계별 설명을 별도로 추후 공
개하겠습니다
Lambda
Google Spreadsheet
Gmail
결제 내역 이메
일
결제 내역 추
가
filter: forward to somewhere?
처음 그린 그림
1. Gmail에서 받은 이메일을 Lambda로 전달
2. ‘Google API 서비스 계정’ 생성
3. Lambda에 ‘이메일 파싱 함수’ 등록
4. 끝
Lambda
Google Spreadsheet
Gmail
결제 내역 이메
일
결제 내역 추
가
filter: forward to somewhere?
Google API 및 python 연동
● Python 및 Python 라이브러리 준비
○ Python 2.7
○ gspread - Google spreadsheet 3rd party library
○ oauth2client - OAuth2 인증 라이브러리
● 절차
○ 1. Google API 서비스 계정 생성
○ 2. Spreadsheet 생성
○ 3. Spreadsheet를 '서비스 계정'에 ' 공유
○ 4. Python 라이브러리로 동작 테스트
Google API 및 python 연동
Google API 및 python 연동
삽질 노트 - Google API
1. Spreadsheet를 찾을 수 없다는 에러 발생
- 공유한 사용자가 생성한 서비스 계정이 맞는지 확인
- Spreadsheet의 id 값이 정확히 저장되었는지 확인
2. append_row()가 성공했함. 그러나, 입력된 값이 없음
- 빈 셀이 아닌, 시트 최하단에 추가 됨
- 새로운 시트를 생성시, 사용하지 않는 행을 삭제 할 것
Lambda
Google Spreadsheet
Gmail
결제 내역 이메
일
결제 내역 추
가
filter: forward to somewhere?
어떻게 이메일로 Lambda 함수를 실행하지?
SES = Simple Email Service
SNS = Simple Notification Service
1. SES에서 이메일 수신 이벤트로 Lambda 실행
- 본문은 이벤트로 전달 되지 않음
- 본문은 S3에 저장하고 이벤트에 객체키값 전달
2. SES -> SNS -> Lambda 실행
- 본문은 이벤트로 전달
- 본문의 크기가 150KB 제한
어떻게 이메일로 Lambda 함수를 실행하지?
Lambda
SES
S3
Google Spreadsheet
Gmail
결제 내역 이메
일
결제 내역 추
가
이메일 저장소 추가
filter: forward to somewhere?
Lambda
SES
S3
Google Spreadsheet
Gmail
결제 내역 이메
일
filter: forward to receipt@aws.mydomain.com
결제 내역 추
가
Route 53
이메일 서비스가 필요하겠군
이메일 주소 생성하자
절차
1. SES에서 수신에 이용할 도메인 등록
2. 도메인 네임 서버 설정
3. 수신 이메일 생성 (수신자 규칙 생성)
SES에서의 도메인 등록
수신자 규칙 등록 함
그러나, 아직 Lambda 함수와 연결되지 않은 상태
이메일 주소 생성하자
없음 - 말 그대로 Simple!
참고 링크
• Route 53에서 도메인 등록하기
• http://docs.aws.amazon.com/ko_kr/Route53/latest/Dev
eloperGuide/registrar.html
• Amazon SES를 통해 이메일 수신하기
• http://docs.aws.amazon.com/ko_kr/ses/latest/Develope
rGuide/receiving-email.html
삽질 노트 - Lambda & SES
Lambda
SES
S3
Google Spreadsheet
Gmail
결제 내역 이메
일
filter: forward to receipt@aws.mydomain.com
결제 내역 추
가
Route 53
Lambda 함수 구현 및 SES 연결
Lambda 함수 구현 및 SES 연결
구현 기능
1. 이벤트가 입력되면, S3에서 이메일 본문을 읽음
2. 이메일 본문을 파싱하여 ‘지출 상세 내역’을 추출
3. 결과를 gspread를 이용하여 Spreadsheet에 새로운
행으로 추가
환경 변수
1. Spreadsheet ID
2. Worksheet 이름
3. Google API 서비스 계정 비공개 키
4. S3 Bucket
Lambda 함수 등록
1. python 함수를 zip 파일로 압축하고 upload
2. 환경변수 설정
1) Spreadsheet ID 2) Sheet 이름 3)s3 버킷 4) Google API 비밀키
1. Lambda 함수에 대한 Role 생성
2. DLQ(Dead Letter Queue) 설정
a. SNS 토픽 설정 - 메일 수신
3. 환경 변수 암호화를 위한 KMS키
Lambda 함수 등록
수신자 규칙 등록 함
1. 이메일을 S3 저장 함
2. 작성한 Lambda 함수를 호출 함
SES - Lambda 함수 연결
Lambda 함수 테스트
1. 수신자 이메일 주소로 Gmail에서 결제 내용 메일을 보냄
2. Lambda 함수의 핸들러에 이벤트 전달
3. 이메일 본문은 S3에 저장, messageId는 이벤트에 포함
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 비밀키는 환경 변수로 등록
•Google API 비밀키는 환경 변수로 등록
삽질 노트 - Lambda
1. ‘Bluteprint’에서 ‘Hellow World’로 시작
2. 연동 서비스의 테스트는 로컬에서의 수행이 번거로움
1. 서비스 상태에서의 동작 실패는 어떻게 확인하지?
1. Cold Start한 경우 처음 실행 시, 몇 초의 추가 시간 소요
삽질 노트 - Lambda
1. ‘Bluteprint’에서 ‘Hellow World’로 시작
2. 연동 서비스의 테스트는 로컬에서의 수행이 번거로움
a. 로직 테스트는 로컬에서 수행
b. 통합 테스트는 콘솔의 "Test" 항목을 이용하여 수행한다.
3. 서비스 상태에서의 동작 실패는 어떻게 확인하지?
a. Cloudwatch의 이벤트로 알람 설정
b. SNS(DLQ)를 등록함 에러 발생시 Email로 포워딩하게 함
4. Cold Start한 경우 처음 실행 시, 몇 초의 추가 시간 소요
a. warming up을 위한 로직 추가 & Cloudwatch 이벤트로 주기적
(<15min) 호출
b. 참고: https://serverless.com/blog/keep-your-lambdas-warm/
Lambda
SNS
SES
S3
Gmail
결제 내역 이메
일
CloudWatch Logs
filter: forward to receipt@aws.mydomain.com
KMSRoute 53
Google Spreadsheet
결제 내역 추
가
최종본
여기까지의 동작 화면
현금? 스타벅스? 교통비?
• 카드 지출은 자동으로 됐다
• 현금/스벅카드/교통비 등의 수동 기록 방법이 필요하다.
• Web으로 입력 폼을 만들자!
수기로 지출 기록을
1. HTML 입력 폼 작성하자
2. Lambda 함수 로직은 이전보다 더 간단
a. Form 값 -> Spreadsheet에 저장
3. Lambda를 RESTful API로 공개하자
a. Amazon Gateway API 이용
4. API는 나만 사용할 수 있도록 인증 기능도 추가하자
a. Amazon Cognito 또는 AWS IAM
SES
S3
Gmail
결제 내역
이메일
filter: forward to
receipt@aws.mydomain.com
Google Spreadsheet
결제 내역 추
가
추가
웹 폼에서
수동 입력
API Gateway
Cognito
Lambda
HTML 입력 폼 작성하자
1. S3에서 정적 웹사이트 호스팅 수행
2. ‘제출’ 누르면, ajax로 입력값을 API로
전달
3. Javascript
a. jQuery
b. Bootstrap
c. Amazon SDK
d. Amazon Cognito SDK
e. Amazon Cognito Identity
Lambda를 RESTful API로 공개하자
API 작성 절차
1. ‘리소스’ 생성
ex) https://hostname/receipt/
1. ‘메소드’ 생성
ex) GET/POST …
a. 각 메소드에 인증 적용
2. API 배포 (Deploy)
Lambda를 RESTful API로 공개하자
처음 생성한 API에 Lambda 함수 및 인증을 한번에 설정하면 에러
발생 위치 및 이유를 확인하기 어려움
1. Mock API 작성 -> ‘배포’ -> ‘테스트’
2. 항상 성공하는 Lambda 함수 연결 -> ‘배포’ -> ‘테스트’
3. 로직이 포함된 Lambda 함수 연결 -> ‘배포’ -> ‘테스트’
a. Lambda에서 실패한 경우, ‘500 internal error’ 반환 됨
b. Cloudwatch에서 로그 확인
4. 그리고, 인증 붙여봄 ... 여기 부터 삽질의 연속
API는 나만 사용할 수 있도록 인증 기능도 추
가하자
2가지 인증 방법
• AWS IAM
• IAM User의 Credential(Access key, Secret Key)로 API 호출
• 서버간 통신에 이용
• Web에서 이용하기에 적합하지 않음
• Cognito User Pool
• Cognito에서 사용자 아이디/비밀번호 관리
• 로그인 하면, ID Token 반환
• ID Token으로 API 호출
Cognito User Pool 이용 방법
1. User Pool 생성
a. User Pool ID
2. App Client 추가
a. Client ID
3. 관리자 만 User를 추가 하도록 설정
4. User 생성
a. 관리자가 생성한 User는 처음 로그인 할 때, 암호 변경을 해
야 됨
5. ID/Password로 User 로그인
a. ID Token 반환
6. (ID Token으로 API 호출)
Javascript에서의 로그인 코드
• AWS IAM? Cognito User Pool 중에 어떤 것을 써야 할까?
• 관리자가 생성한 User는 처음 로그인 할 때, 비밀번호 변경을 위한 callback function 필
요
• http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-identity-user-pools-javascript-
example-authenticating-admin-created-user.html
• 참고 자료
• https://github.com/aws/amazon-cognito-identity-js
• http://docs.aws.amazon.com/cognito/latest/developerguide/setting-up-the-javascript-sdk.html
삽질 노트 - Cognito
Postman에서 API 테스트
header: Authorization
데모
1. 카드 결제 지출 자동 기록
2. 현금 지출 수동 기록
마무리
• AWS/AWS Console은 감동
• 편리함, 서비스간 연결시 필요한 권한 자동으로 추가
• 개발/업로드/테스트 편리 (당연히…)
• 개인용으로 거의 비용 X
• 도메인, Route 53, S3
• Lambda & Gateway API 이용, 연동 서비스를 빠르게 만들 수 있음
• Lambda, Cognito, API Gateway, Route 53, SES, KMS, Logs, S3,
IAM(Role)를 함께 익힘
• ‘토이 프로젝트’ = 재미, 재미 = 학습의 원동력
다음에 할 일
• 템플릿, 소스코드 & 단계별 설명을 곧 업데이트 할께요
• 관심 있는 분, 같이 해요!
• me@younghun.kim
• 지출 내역들의 분류에 Machine Learning 이용해보아요
‘발표 요약’ 내용 기억나시나요?
AWS Lambda, API Gateway 등 AWS 서비스와 Google
Spreadsheet를 이용하여 지출 관리 서비스를 만들어 봅니다. 지
출 관리를 잘 할고 소비를 줄일 수 있었을까요? 오셔서
직접 확인해 보세요. 한가지, AWS는 알차게 학습할 수 있었습니다
공개 (예정) 자료 모음
1. 지출 내역 Spreadsheet
a. https://bit.ly/myexpense2017
2. Google API ‘서비스 계정’ 생성 방법
a. 준비 중...
3. Python 코드
a. 준비 중...
4. Lambda / API Gateway / Cognito 설정 방법
a. 준비 중...
감사합니다
2017/06/25
코드, 설정 방법 및 자세한 내용은 현재 준비 중에 있습니다. 준비되는
대로 업데이트 할 예정입니다.
1) 바로 서비스를 돌려보고 싶은 분
2) 기타 궁금한 내용이 있는 분은
편하게 여기(me@younghun.kim)로 이메일 주세요! :) 도와드릴께요.
같이 만들어봅시다!
AWS IAM 이용 방법
1. IAM User 생성
2. Permission 추가
• AmazonAPIGatewayInvokeFullAccess
• AmazonAPIGatewayPushToCloudWatchLogs
3. API Gateway
• ‘Method Request(메서드 요청)’ - ‘Authorization(승인)’
• ‘AWS_IAM’ 선택
4. Postman에서 API 테스트
• Postman을 사용하여 API 호출 -
http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/how-to-
use-postman-to-call-api.html
Postman에서 API 테스트
IAM User
AWS Lambda 사용 요금
• 요청: 약 23 호출/분
• 기간:
• 나의 Lambda 함수 : 128MB-10초/호출, 720 호출/월
• GB-초:0.00002 = 8/10 * 720
=> $ 0.01152 S3, Route 53, KMS, Log …
Lambda 함수 Blueprint

More Related Content

What's hot

AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo YangAWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
Amazon Web Services Korea
 
효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)
효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)
효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)
Amazon Web Services Korea
 
AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍
AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍
AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍
Amazon Web Services Korea
 
AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)Amazon Web Services Korea
 
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDYCloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
Amazon Web Services Korea
 
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
 
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
Amazon Web Services Korea
 
모두싸인의 AWS 성장기
모두싸인의 AWS 성장기모두싸인의 AWS 성장기
모두싸인의 AWS 성장기
Amazon Web Services Korea
 
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
Amazon Web Services Korea
 
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
Amazon Web Services Korea
 
Ad-Tech on AWS 세미나 | AWS와 데이터 분석
Ad-Tech on AWS 세미나 | AWS와 데이터 분석Ad-Tech on AWS 세미나 | AWS와 데이터 분석
Ad-Tech on AWS 세미나 | AWS와 데이터 분석
Amazon Web Services Korea
 
모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향 모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향
AWSKRUG - AWS한국사용자모임
 
2등 :: Dream team :: Gaming on AWS Hackathon 2016
2등 :: Dream team :: Gaming on AWS Hackathon 2016 2등 :: Dream team :: Gaming on AWS Hackathon 2016
2등 :: Dream team :: Gaming on AWS Hackathon 2016
Amazon Web Services Korea
 
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
AWSKRUG - AWS한국사용자모임
 
[백서 요약] Building a Real-Time Bidding Platform on AWS
[백서 요약] Building a Real-Time Bidding Platform on AWS[백서 요약] Building a Real-Time Bidding Platform on AWS
[백서 요약] Building a Real-Time Bidding Platform on AWS
Amazon Web Services Korea
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
 

What's hot (20)

AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo YangAWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
 
효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)
효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)
효율적 모바일 서비스를 위한 AWS 빌딩블럭 - API Gateway 및 Device Farm을 중심으로 (윤석찬, AWS 테크에반젤리스트)
 
AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍
AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍
AWS 서버리스 컴퓨팅-김필중 :: 2015 리인벤트 리캡 게이밍
 
AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Neptune, 신규 그래프 데이터베이스 서비스 (김상필 솔루션즈 아키텍트)
 
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDYCloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
 
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
 
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
 
모두싸인의 AWS 성장기
모두싸인의 AWS 성장기모두싸인의 AWS 성장기
모두싸인의 AWS 성장기
 
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
 
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
 
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
 
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
 
Ad-Tech on AWS 세미나 | AWS와 데이터 분석
Ad-Tech on AWS 세미나 | AWS와 데이터 분석Ad-Tech on AWS 세미나 | AWS와 데이터 분석
Ad-Tech on AWS 세미나 | AWS와 데이터 분석
 
모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향 모바일을 위한 (AWS) 클라우드 기술 동향
모바일을 위한 (AWS) 클라우드 기술 동향
 
2등 :: Dream team :: Gaming on AWS Hackathon 2016
2등 :: Dream team :: Gaming on AWS Hackathon 2016 2등 :: Dream team :: Gaming on AWS Hackathon 2016
2등 :: Dream team :: Gaming on AWS Hackathon 2016
 
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
 
[백서 요약] Building a Real-Time Bidding Platform on AWS
[백서 요약] Building a Real-Time Bidding Platform on AWS[백서 요약] Building a Real-Time Bidding Platform on AWS
[백서 요약] Building a Real-Time Bidding Platform on AWS
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
S3 Select를 통한 빠른 데이터 분석하기 - 트랙2, Community Day 2018 re:Invent 특집
 

Similar to 개인 지출 관리 - AWS로 시작하기 - 김영헌 (구로디지털 모임) :: AWS Community Day 2017

나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집
나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집
나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집
Young Kim
 
[발표자료] AWS 사용 비용 슬랙으로 받아보기
[발표자료] AWS 사용 비용 슬랙으로 받아보기[발표자료] AWS 사용 비용 슬랙으로 받아보기
[발표자료] AWS 사용 비용 슬랙으로 받아보기
HongkiYim1
 
[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...
[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...
[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...
Amazon Web Services Korea
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
Amazon Web Services Korea
 
Serverless Architecture - 김현민
Serverless Architecture - 김현민Serverless Architecture - 김현민
Serverless Architecture - 김현민
AWSKRUG - AWS한국사용자모임
 
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 특집
AWSKRUG - AWS한국사용자모임
 
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
Amazon Web Services Korea
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기
Junyoung Sung
 
아키텍처 현대화 분야 신규 서비스 - 주성식, 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
Amazon Web Services Korea
 
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watch
Han Sung Kim
 
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
Darion Kim
 
[1주차] 알파 유저를 위한 AWS 스터디
[1주차] 알파 유저를 위한 AWS 스터디[1주차] 알파 유저를 위한 AWS 스터디
[1주차] 알파 유저를 위한 AWS 스터디
Amazon Web Services Korea
 
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
Amazon Web Services Korea
 
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon Web Services Korea
 
[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS
Amazon Web Services Korea
 
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun
Kim Minjun
 
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
Amazon Web Services Korea
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) -  AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) -  AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
Amazon Web Services Korea
 
AWS DevDay 실습 가이드 - 서버리스
AWS DevDay 실습 가이드 - 서버리스AWS DevDay 실습 가이드 - 서버리스
AWS DevDay 실습 가이드 - 서버리스
Amazon Web Services Korea
 

Similar to 개인 지출 관리 - AWS로 시작하기 - 김영헌 (구로디지털 모임) :: AWS Community Day 2017 (20)

나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집
나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집
나의 AWS 첫걸음 - Lambda로 시작하는 나의 지출 데이터 수집
 
[발표자료] AWS 사용 비용 슬랙으로 받아보기
[발표자료] AWS 사용 비용 슬랙으로 받아보기[발표자료] AWS 사용 비용 슬랙으로 받아보기
[발표자료] AWS 사용 비용 슬랙으로 받아보기
 
[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...
[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...
[Retail & CPG Day 2019] 미니세션 | Amazon Pinpoint를 활용한 이메일 프로모션 구축 방법 - 김현수, AWS...
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
 
Serverless Architecture - 김현민
Serverless Architecture - 김현민Serverless Architecture - 김현민
Serverless Architecture - 김현민
 
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 특집
 
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기
 
아키텍처 현대화 분야 신규 서비스 - 주성식, 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 Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 서버리스 서비스를 활용한 웹 애플리케이션 구축 및 배포 방법 - 정창호, AWS 솔루션즈 아키텍트
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watch
 
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
 
[1주차] 알파 유저를 위한 AWS 스터디
[1주차] 알파 유저를 위한 AWS 스터디[1주차] 알파 유저를 위한 AWS 스터디
[1주차] 알파 유저를 위한 AWS 스터디
 
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
 
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
 
[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS
 
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun
 
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) -  AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) -  AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
 
AWS DevDay 실습 가이드 - 서버리스
AWS DevDay 실습 가이드 - 서버리스AWS DevDay 실습 가이드 - 서버리스
AWS DevDay 실습 가이드 - 서버리스
 

More from AWSKRUG - AWS한국사용자모임

IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
AWSKRUG - AWS한국사용자모임
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
AWSKRUG - AWS한국사용자모임
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
AWSKRUG - AWS한국사용자모임
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
AWSKRUG - AWS한국사용자모임
 
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
AWSKRUG - AWS한국사용자모임
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
AWSKRUG - AWS한국사용자모임
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
AWSKRUG - AWS한국사용자모임
 
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
AWSKRUG - AWS한국사용자모임
 
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWSKRUG - AWS한국사용자모임
 

More from AWSKRUG - AWS한국사용자모임 (20)

IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
 
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
 
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
 
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
 
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
 
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
 
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
 

개인 지출 관리 - AWS로 시작하기 - 김영헌 (구로디지털 모임) :: AWS Community Day 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 김영헌 me@younghun.kim 개인 지출 관리, AWS로 시작하기 Lambda로 시작하는 나의 지출 데이터 수집기
  • 2. 발표자 소개 • 2009 Master 쟁취 • 2009 A사 / 4.7년 / 개발자 • 2014 E사 / 2.5년 / 기술지원대표자 • 2017.1 …
  • 3. 지금은…? • 하고 싶은 일 하기 • 여행 - 중국&제주 • 내가 사용할 프로그램 및 대용량 서비스 개발 • 얼마나 버틸 수(놀 수) 있을까? • 현재 가지고 있는 돈으로 얼마나 버틸 수(놀 수) 있을까 고민 함 • 2017년 새해 목표로 (수기로) 지출 기록 시작
  • 4. 수기로 지출 기록 시작 그러나… 2월 부터 게으름으로 인해 완전 폭망
  • 5. • 대안 • 브로콜리, 뱅크샐러드, 카드사앱, OO가계부 등... • 한계 • 데이터 재활용이 어려움 • 접근성이 떨어짐 대안들
  • 6. 그래서 • 지출기록을 자동화하기로 함 • 소비 패턴이 카드 결제가 대부분 • 카드 결제 시, 이메일로 바로 전송 됨
  • 9. 본론 시작 • 만들어 갔던 과정을 시간 순서로 풀어 갑니다 • 과정에서 알게된 점(삽질)과 팁을 설명합니다 • 단계별 설정과 수행 방법은 제외하였습니다 • 템플릿, 소스코드 & 단계별 설명을 별도로 추후 공 개하겠습니다
  • 10. Lambda Google Spreadsheet Gmail 결제 내역 이메 일 결제 내역 추 가 filter: forward to somewhere? 처음 그린 그림 1. Gmail에서 받은 이메일을 Lambda로 전달 2. ‘Google API 서비스 계정’ 생성 3. Lambda에 ‘이메일 파싱 함수’ 등록 4. 끝
  • 11. Lambda Google Spreadsheet Gmail 결제 내역 이메 일 결제 내역 추 가 filter: forward to somewhere? Google API 및 python 연동
  • 12. ● Python 및 Python 라이브러리 준비 ○ Python 2.7 ○ gspread - Google spreadsheet 3rd party library ○ oauth2client - OAuth2 인증 라이브러리 ● 절차 ○ 1. Google API 서비스 계정 생성 ○ 2. Spreadsheet 생성 ○ 3. Spreadsheet를 '서비스 계정'에 ' 공유 ○ 4. Python 라이브러리로 동작 테스트 Google API 및 python 연동
  • 13. Google API 및 python 연동
  • 14. 삽질 노트 - Google API 1. Spreadsheet를 찾을 수 없다는 에러 발생 - 공유한 사용자가 생성한 서비스 계정이 맞는지 확인 - Spreadsheet의 id 값이 정확히 저장되었는지 확인 2. append_row()가 성공했함. 그러나, 입력된 값이 없음 - 빈 셀이 아닌, 시트 최하단에 추가 됨 - 새로운 시트를 생성시, 사용하지 않는 행을 삭제 할 것
  • 15. Lambda Google Spreadsheet Gmail 결제 내역 이메 일 결제 내역 추 가 filter: forward to somewhere? 어떻게 이메일로 Lambda 함수를 실행하지?
  • 16. SES = Simple Email Service SNS = Simple Notification Service 1. SES에서 이메일 수신 이벤트로 Lambda 실행 - 본문은 이벤트로 전달 되지 않음 - 본문은 S3에 저장하고 이벤트에 객체키값 전달 2. SES -> SNS -> Lambda 실행 - 본문은 이벤트로 전달 - 본문의 크기가 150KB 제한 어떻게 이메일로 Lambda 함수를 실행하지?
  • 17. Lambda SES S3 Google Spreadsheet Gmail 결제 내역 이메 일 결제 내역 추 가 이메일 저장소 추가 filter: forward to somewhere?
  • 18. Lambda SES S3 Google Spreadsheet Gmail 결제 내역 이메 일 filter: forward to receipt@aws.mydomain.com 결제 내역 추 가 Route 53 이메일 서비스가 필요하겠군
  • 19. 이메일 주소 생성하자 절차 1. SES에서 수신에 이용할 도메인 등록 2. 도메인 네임 서버 설정 3. 수신 이메일 생성 (수신자 규칙 생성) SES에서의 도메인 등록
  • 20. 수신자 규칙 등록 함 그러나, 아직 Lambda 함수와 연결되지 않은 상태 이메일 주소 생성하자
  • 21. 없음 - 말 그대로 Simple! 참고 링크 • Route 53에서 도메인 등록하기 • http://docs.aws.amazon.com/ko_kr/Route53/latest/Dev eloperGuide/registrar.html • Amazon SES를 통해 이메일 수신하기 • http://docs.aws.amazon.com/ko_kr/ses/latest/Develope rGuide/receiving-email.html 삽질 노트 - Lambda & SES
  • 22. Lambda SES S3 Google Spreadsheet Gmail 결제 내역 이메 일 filter: forward to receipt@aws.mydomain.com 결제 내역 추 가 Route 53 Lambda 함수 구현 및 SES 연결
  • 23. Lambda 함수 구현 및 SES 연결 구현 기능 1. 이벤트가 입력되면, S3에서 이메일 본문을 읽음 2. 이메일 본문을 파싱하여 ‘지출 상세 내역’을 추출 3. 결과를 gspread를 이용하여 Spreadsheet에 새로운 행으로 추가 환경 변수 1. Spreadsheet ID 2. Worksheet 이름 3. Google API 서비스 계정 비공개 키 4. S3 Bucket
  • 24. Lambda 함수 등록 1. python 함수를 zip 파일로 압축하고 upload 2. 환경변수 설정 1) Spreadsheet ID 2) Sheet 이름 3)s3 버킷 4) Google API 비밀키 1. Lambda 함수에 대한 Role 생성 2. DLQ(Dead Letter Queue) 설정 a. SNS 토픽 설정 - 메일 수신 3. 환경 변수 암호화를 위한 KMS키
  • 26. 수신자 규칙 등록 함 1. 이메일을 S3 저장 함 2. 작성한 Lambda 함수를 호출 함 SES - Lambda 함수 연결
  • 27. Lambda 함수 테스트 1. 수신자 이메일 주소로 Gmail에서 결제 내용 메일을 보냄 2. Lambda 함수의 핸들러에 이벤트 전달 3. 이메일 본문은 S3에 저장, messageId는 이벤트에 포함
  • 28. Lambda SNS SES S3 Gmail 결제 내역 이 메일 filter: forward to receipt@aws.mydomain.com Route 53 Google Spreadsheet 결제 내역 추 가 동작 실패는 어떻게 확인하지? Dead Letter Queue CloudWatch Logs
  • 30. Lambda SNS SES S3 Gmail 결제 내역 이 메일 CloudWatch Logs filter: forward to receipt@aws.mydomain.com Route 53 Google Spreadsheet 결제 내역 추 가 끝났나?
  • 31. 인증정보는 암호화 하자 •Google API 비밀키는 환경 변수로 등록 •Google API 비밀키는 환경 변수로 등록
  • 32. 삽질 노트 - Lambda 1. ‘Bluteprint’에서 ‘Hellow World’로 시작 2. 연동 서비스의 테스트는 로컬에서의 수행이 번거로움 1. 서비스 상태에서의 동작 실패는 어떻게 확인하지? 1. Cold Start한 경우 처음 실행 시, 몇 초의 추가 시간 소요
  • 33. 삽질 노트 - Lambda 1. ‘Bluteprint’에서 ‘Hellow World’로 시작 2. 연동 서비스의 테스트는 로컬에서의 수행이 번거로움 a. 로직 테스트는 로컬에서 수행 b. 통합 테스트는 콘솔의 "Test" 항목을 이용하여 수행한다. 3. 서비스 상태에서의 동작 실패는 어떻게 확인하지? a. Cloudwatch의 이벤트로 알람 설정 b. SNS(DLQ)를 등록함 에러 발생시 Email로 포워딩하게 함 4. Cold Start한 경우 처음 실행 시, 몇 초의 추가 시간 소요 a. warming up을 위한 로직 추가 & Cloudwatch 이벤트로 주기적 (<15min) 호출 b. 참고: https://serverless.com/blog/keep-your-lambdas-warm/
  • 34. Lambda SNS SES S3 Gmail 결제 내역 이메 일 CloudWatch Logs filter: forward to receipt@aws.mydomain.com KMSRoute 53 Google Spreadsheet 결제 내역 추 가 최종본
  • 36. 현금? 스타벅스? 교통비? • 카드 지출은 자동으로 됐다 • 현금/스벅카드/교통비 등의 수동 기록 방법이 필요하다. • Web으로 입력 폼을 만들자!
  • 37. 수기로 지출 기록을 1. HTML 입력 폼 작성하자 2. Lambda 함수 로직은 이전보다 더 간단 a. Form 값 -> Spreadsheet에 저장 3. Lambda를 RESTful API로 공개하자 a. Amazon Gateway API 이용 4. API는 나만 사용할 수 있도록 인증 기능도 추가하자 a. Amazon Cognito 또는 AWS IAM
  • 38. SES S3 Gmail 결제 내역 이메일 filter: forward to receipt@aws.mydomain.com Google Spreadsheet 결제 내역 추 가 추가 웹 폼에서 수동 입력 API Gateway Cognito Lambda
  • 39. HTML 입력 폼 작성하자 1. S3에서 정적 웹사이트 호스팅 수행 2. ‘제출’ 누르면, ajax로 입력값을 API로 전달 3. Javascript a. jQuery b. Bootstrap c. Amazon SDK d. Amazon Cognito SDK e. Amazon Cognito Identity
  • 40. Lambda를 RESTful API로 공개하자 API 작성 절차 1. ‘리소스’ 생성 ex) https://hostname/receipt/ 1. ‘메소드’ 생성 ex) GET/POST … a. 각 메소드에 인증 적용 2. API 배포 (Deploy)
  • 41. Lambda를 RESTful API로 공개하자 처음 생성한 API에 Lambda 함수 및 인증을 한번에 설정하면 에러 발생 위치 및 이유를 확인하기 어려움 1. Mock API 작성 -> ‘배포’ -> ‘테스트’ 2. 항상 성공하는 Lambda 함수 연결 -> ‘배포’ -> ‘테스트’ 3. 로직이 포함된 Lambda 함수 연결 -> ‘배포’ -> ‘테스트’ a. Lambda에서 실패한 경우, ‘500 internal error’ 반환 됨 b. Cloudwatch에서 로그 확인 4. 그리고, 인증 붙여봄 ... 여기 부터 삽질의 연속
  • 42. API는 나만 사용할 수 있도록 인증 기능도 추 가하자 2가지 인증 방법 • AWS IAM • IAM User의 Credential(Access key, Secret Key)로 API 호출 • 서버간 통신에 이용 • Web에서 이용하기에 적합하지 않음 • Cognito User Pool • Cognito에서 사용자 아이디/비밀번호 관리 • 로그인 하면, ID Token 반환 • ID Token으로 API 호출
  • 43. Cognito User Pool 이용 방법 1. User Pool 생성 a. User Pool ID 2. App Client 추가 a. Client ID 3. 관리자 만 User를 추가 하도록 설정 4. User 생성 a. 관리자가 생성한 User는 처음 로그인 할 때, 암호 변경을 해 야 됨 5. ID/Password로 User 로그인 a. ID Token 반환 6. (ID Token으로 API 호출)
  • 45. • AWS IAM? Cognito User Pool 중에 어떤 것을 써야 할까? • 관리자가 생성한 User는 처음 로그인 할 때, 비밀번호 변경을 위한 callback function 필 요 • http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-identity-user-pools-javascript- example-authenticating-admin-created-user.html • 참고 자료 • https://github.com/aws/amazon-cognito-identity-js • http://docs.aws.amazon.com/cognito/latest/developerguide/setting-up-the-javascript-sdk.html 삽질 노트 - Cognito
  • 47. 데모 1. 카드 결제 지출 자동 기록 2. 현금 지출 수동 기록
  • 48. 마무리 • AWS/AWS Console은 감동 • 편리함, 서비스간 연결시 필요한 권한 자동으로 추가 • 개발/업로드/테스트 편리 (당연히…) • 개인용으로 거의 비용 X • 도메인, Route 53, S3 • Lambda & Gateway API 이용, 연동 서비스를 빠르게 만들 수 있음 • Lambda, Cognito, API Gateway, Route 53, SES, KMS, Logs, S3, IAM(Role)를 함께 익힘 • ‘토이 프로젝트’ = 재미, 재미 = 학습의 원동력
  • 49. 다음에 할 일 • 템플릿, 소스코드 & 단계별 설명을 곧 업데이트 할께요 • 관심 있는 분, 같이 해요! • me@younghun.kim • 지출 내역들의 분류에 Machine Learning 이용해보아요
  • 50. ‘발표 요약’ 내용 기억나시나요? AWS Lambda, API Gateway 등 AWS 서비스와 Google Spreadsheet를 이용하여 지출 관리 서비스를 만들어 봅니다. 지 출 관리를 잘 할고 소비를 줄일 수 있었을까요? 오셔서 직접 확인해 보세요. 한가지, AWS는 알차게 학습할 수 있었습니다
  • 51. 공개 (예정) 자료 모음 1. 지출 내역 Spreadsheet a. https://bit.ly/myexpense2017 2. Google API ‘서비스 계정’ 생성 방법 a. 준비 중... 3. Python 코드 a. 준비 중... 4. Lambda / API Gateway / Cognito 설정 방법 a. 준비 중...
  • 52. 감사합니다 2017/06/25 코드, 설정 방법 및 자세한 내용은 현재 준비 중에 있습니다. 준비되는 대로 업데이트 할 예정입니다. 1) 바로 서비스를 돌려보고 싶은 분 2) 기타 궁금한 내용이 있는 분은 편하게 여기(me@younghun.kim)로 이메일 주세요! :) 도와드릴께요. 같이 만들어봅시다!
  • 53.
  • 54. AWS IAM 이용 방법 1. IAM User 생성 2. Permission 추가 • AmazonAPIGatewayInvokeFullAccess • AmazonAPIGatewayPushToCloudWatchLogs 3. API Gateway • ‘Method Request(메서드 요청)’ - ‘Authorization(승인)’ • ‘AWS_IAM’ 선택 4. Postman에서 API 테스트 • Postman을 사용하여 API 호출 - http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/how-to- use-postman-to-call-api.html
  • 56. AWS Lambda 사용 요금 • 요청: 약 23 호출/분 • 기간: • 나의 Lambda 함수 : 128MB-10초/호출, 720 호출/월 • GB-초:0.00002 = 8/10 * 720 => $ 0.01152 S3, Route 53, KMS, Log …