서버리스 iot 백엔드 개발 및 구현 사례 : 윤석찬 (aws 테크에반젤리스트)
TRANSCRIPT
![Page 1: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/1.jpg)
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
![Page 2: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/2.jpg)
••
••
••
![Page 3: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/3.jpg)
![Page 4: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/4.jpg)
![Page 5: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/5.jpg)
Unlimited Storage – Memory
Unlimited Compute – Logic
Cloud offers
![Page 6: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/6.jpg)
![Page 7: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/7.jpg)
![Page 8: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/8.jpg)
Dr. Werner Vogels, Amazon.com CTOre:Invent 2015 Keynote
![Page 9: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/9.jpg)
COMPUTE SERVICE
EVENT-DRIVEN
![Page 10: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/10.jpg)
![Page 11: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/11.jpg)
AWSLambda
Application-tier at Scale
![Page 12: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/12.jpg)
![Page 13: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/13.jpg)
![Page 14: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/14.jpg)
![Page 15: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/15.jpg)
![Page 16: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/16.jpg)
![Page 17: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/17.jpg)
![Page 18: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/18.jpg)
![Page 19: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/19.jpg)
![Page 20: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/20.jpg)
![Page 21: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/21.jpg)
![Page 22: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/22.jpg)
![Page 23: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/23.jpg)
디바이스 SDK클라이언트 인증 및 연결,
메시지 교환을 위한개발도구
디바이스 게이트웨이MQTT 및 HTTP 기반
디바이스 통신
보안 및 인증고급 인증 및 암호화를
통한 보안 제공
RULES ENGINE장치메시지를 규칙에 따라AWS 서비스와 연계 동작
AWS 서비스- - - - -
서드파티 서비스
DEVICE SHADOW네트웍 단절에도 응답하는
가상 장치
애플리케이션
AWS IoT API
디바이스 레지스트리IoT 장치 등록 및 관리
![Page 24: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/24.jpg)
SubscribersPublishers
![Page 25: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/25.jpg)
•
•
![Page 26: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/26.jpg)
•
•o
o
o
{"Version": "2012-10-17","Statement": [
{
"Effect": "Allow","Action": ["iot:Publish"],
"Resource": ["arn:aws:iot:us-east-1::topic/foo"]
},{
"Effect": "Allow","Action": ["iot:Subscribe"],
"Resource": ["arn:aws:iot:us-east-
1::topicfilter/foo/bar/*"]}]}
![Page 27: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/27.jpg)
![Page 28: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/28.jpg)
•ü
ü
•ü
ü
ü
ü
SELECT * FROM ‘things/thing-2/color’ WHERE color = ‘red’
![Page 29: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/29.jpg)
{
"SELECT *, clientId() as MQTTClientId FROM 'room/ac/+' WHERE temperature > 30","actions": [{
”sns": {"roleArn": "arn:aws:iam::123456789012:role/SNSPutRole","topicArn": "arn:aws:sns:us-
east-1:123456789012:TempWarningNotification"}
]}
![Page 30: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/30.jpg)
AWS Lambda 함수 실행
S3 버킷에 객체 저장
DynamoDB 테이블에 데이터추가/변경
SNS 토픽으로 푸시 메시지
Amazon Kinesis 실시간 스트림
동작 실행
Amazon Kinesis Firehose 전달
AWS IoT에 전달
![Page 31: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/31.jpg)
••••
![Page 32: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/32.jpg)
{"state" : {
“desired" : {"lights": { "color": "RED" },"engine" : "ON"
},"reported" : {
"lights" : { "color": "GREEN" },"engine" : "ON"
},"delta" : {
"lights" : { "color": "RED" }}
},"version" : 10}
Thing
Mobile App
Shadow
••
•••
•
![Page 33: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/33.jpg)
desired: {“status”: “RUNNING”
}
shadow/update update/accepted
Republish vacuum/shadow/update
vacuum/update/delta
reported: {“AmbientLightValue”: 55
}
Rules Engine
Shadow
ShadowSelect * from $/update/accepted where AmbientLightValue <100
![Page 34: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/34.jpg)
C-SDK(Ideal for embedded
OS)
JS-SDK (Ideal for Embedded
Linux Platforms)
Arduino Library
(Arduino Yun)
Mobile SDK(Android and iOS)
![Page 35: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/35.jpg)
üü
AWS IoT
![Page 36: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/36.jpg)
DynamoDB 테이블: 전체 센서 데이터 받는 경우
데이터 확인: 모든 센서 데이터를 다 받는 경우
![Page 37: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/37.jpg)
![Page 38: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/38.jpg)
AWS IoT
Amazon CloudWatch
AWSCloudFormation
AmazonDynamoDB
Amazon ElastiCache
AmazonAurora
IoTshadow
Amazon API GatewayAWS Lambda
AmazonS3
Amazon Kinesis
AmazonSQS
Amazon SNS
AmazonQuicksight
Amazon ElasticSearch
AmazonMachineLearning
Amazon Redshift
![Page 39: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/39.jpg)
![Page 40: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/40.jpg)
![Page 41: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/41.jpg)
![Page 42: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/42.jpg)
Mobile
Beacon
Amazon echo
Window sensorPower Plug
Switch
Bulb
Doorlock
Gateway
Boiler
Siren
Camera
![Page 43: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/43.jpg)
Mobile
Beacon
API Gateway Lambda
AWS IoT
RDS SNS
S3DynamoDB
Certification Policy Shadow Rule Engine
Alexa Skills Kit – KOLON Home Service
Amazon echo
![Page 44: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/44.jpg)
Users
Skill Information
publishingAmazon Alexa Skill : Home IoT In Mode
Alexa Skill Kit
Model-intent-utterance
PublishingLambda ARN
TEST Skill
// DEVELOPER CONSOLE
Lambda RDS
Device Gateway
Device Shadow
AWS IoT
Amazon echo
![Page 45: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/45.jpg)
Users
Lambda RDS
Device Gateway
DeviceShadow
AWS IoT
Beacon
SELECT * FROM '$aws/things/p100002201/shadow/update/accepted' WHERE state.reported.detail.beacon_loc > 10
Rule Engine Query
RuleEngine
![Page 46: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/46.jpg)
Users
Lambda
RDS
SNS
S3
DynamoDB
Device Gateway
Device Shadow
AWS IoT
Mobile
API Gateway
PUT : ThingCtrlPUT : SecurityModePOST : SecurityMode ClearPUT : OutModePUT : Inmode
Restful API
RuleEngine
Door Sensor
![Page 47: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/47.jpg)
![Page 48: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/48.jpg)
![Page 49: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/49.jpg)
![Page 50: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/50.jpg)
def foo(input):quux = bar(input.baz)internalState.quux = quuxmysql_insert(quux)
def bar(input):# do workreturn result
Foo Bar
••
![Page 51: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/51.jpg)
def handler(event, context):quux = Lambda.Invoke(
'bar', event['baz'])DynamoDB.PutItem(
'quux', quux)
def handler(event, context):# do workreturn result
Foo Bar
••
![Page 52: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/52.jpg)
Monolithic/layered Microservices
![Page 53: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/53.jpg)
•
••
![Page 54: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/54.jpg)
App requestsover HTTPS
CRUDoperations
MQTT
CRUDoperations
MQTT
![Page 55: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/55.jpg)
CloudWatch eventevery 5 minutes
Lambda runsfor 5 minutes
Amazon SQS queue
![Page 56: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/56.jpg)
/register Checkcert
Robots toregister Queue
readerRegister
robot
Logging Lifecycle event
PermissionsCreate shadowDead letter queue
![Page 57: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/57.jpg)
Robotcertificate+ signed timestamp
CA certificate
UnauthenticatedHTTPS
Robotcertificate
AuthenticatedMQTT
![Page 58: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/58.jpg)
Request topicPresigned URL
Symmetricencryption key
Robotpublic key
Response topic
Presigned URL
Object encrypted withsymmetric key
HTTPS callto presigned URL
S3
KMS
Robotcertificate
S3bucket
+symmetric keyencrypted withrobot public key
![Page 59: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/59.jpg)
![Page 60: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/60.jpg)
Fleet of Sensors
OperatorAmazon SNS
AWSLambda
AWSIoT
AWSGreengrass
Core
•••••
AmazonDynamoDB
AWSLambda
AmazonRedshift
![Page 61: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/61.jpg)
![Page 62: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/62.jpg)
https://aws.amazon.com/ko/serverless/ https://aws.amazon.com/ko/iot/
![Page 63: 서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)](https://reader030.vdocuments.net/reader030/viewer/2022012401/58e4a59a1a28abf5428b6e7b/html5/thumbnails/63.jpg)
http://bit.ly/awskr-feedback