aws iot 기반 사물 인터넷 아키텍처 구현하기 - aws summit seoul 2017
TRANSCRIPT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
김무현 솔루션즈 아키텍트아마존웹서비스코리아
AWS IoT 기반 사물 인터넷 아키텍처 구현하기AWS IoT Rule과 AWS Greengrass
본 강연에서 다룰 내용
• AWS IoT 살펴보기• AWS IoT Rule을 통한 디바이스 데이터 활용• 디바이스 데이터 특징에 따른 접근 방법• 로컬 IoT, AWS Greengrass
AWS IoT 살펴보기
데이터 생성과 접근이 빠르게 변화하고 있습니다
사람이 생성한 데이터
산발적인 상호작용
세상에 대한 부분적인 시각
기계가 생성한 데이터
지속적인 상호작용
세상에 대한 전체적인 시각
vs
강력한 기반 기술을 토대로 시작하는 것이 필요합니다.
IoT에 필요한 3가지 축
단순함 확장성 보안
IoT 서비스 구현에 필요한 요소들• 메시지 브로커• 룰 엔진• Thing Shadow• 디바이스 등록
관리형 서비스• 설치 불필요• 자동 확장• 사전 프로비저닝 불필요• 가용역영에 걸친 이중화• 사용량에 기반한 과금
AWS IoT 플렛폼
AWS IoT는 무엇을 해줄까요?
DEVICE SDK연결, 인증, 메시지 교환을
위한 클라이언트 라이브러리
DEVICE GATEWAYMQTT 및 HTTP를 이용한Thing과의 커뮤니케이션
인증인증서 기반의 상호인증 및
암호화
RULES ENGINE규칙 기반으로메시지 변환 및
AWS 서비스로 전달
AWS Services- - - - -
3P Services
SHADOWThing 상태를 영구 저장
(불안정한 연결을 대비해서 사용)
APPLICATIONS
AWS IoT API
REGISTRY디바이스의 Identity 관리
Registry• Thing에 대한 Identity 생성• Thing의 Attribute와 Capability 같은
메타데이터 관리
Rules / Actions패턴에 일치하는 메시지에 대해서 다른 AWS서비스로 전송하거나 AWS IoT로Re-publish를 수행
Shadows• Thing의 상태와 동기화• 앱이나 디바이스가 Shadow에 접근하여
상태를 읽거나 변경함
{Thing Name,Sensor Temp,, GetTemp(),Output LED}
Rules Engine
Shadow
Registry
Amazon S3, AWS Lambda,Amazon Kinesis, Amazon DynamoDB, Amazon SNS
Mobile App
AWS IoT는 AWS 서비스로의 Front Door
DEVICE GATEWAYMQTT 및 HTTP를 이용한Thing과의 커뮤니케이션
AWS IoT Message Broker
표준 프로토콜 지원수백만 디바이스와 앱이 MQTT 및 HTTP 1.1 프로토콜을 이용해서 연결됨
오래 연결된 상태에서 메시지를 주고 받을수 있는 강력한 Pub/Sub 브로커디바이스나 App인 클라이언트는클라우드로 부터 명령을 받고, 신호를제어할 수 있음
Secure by DefaultX.509 인증서 및 TLS 1.2 상호인증을 통한안전한 연결
토픽 기반의Architecture
(lights/thing-2/color)
확장성이 높은Device Gateway
AWS IoT Device Gateway
AWS IoT Message Broker : 관리형 서비스확장성이 높은Device Gateway
수백만 디바이스가수십억 메시지를보낼 수 있음
SubscribersPublishers
THING SHADOWPersistent thing state
during intermittent connections
SHADOWThing 상태를 영구 저장
(불안정한 연결을 대비해서 사용)
APPLICATIONS
AWS IoT Thing Shadow
Shadow
AWS IoT Thing Shadow
AWS IoT Rule 엔진을 통한디바이스 데이터 활용
IoT 데이터를 활용해서 하고 싶은 것들
• 디바이스 데이터에서 가치있는 정보 추출
• 수집된 데이터를 기반으로 머신러닝 예측
데이터에서 가치를 찾아내기 위해서 …
• 특정 기준에 대해서 메시지를 필터링• 메시지 내용 변환• 메시지 내용에 따른 반응• 메시지를 다른 topic들로 옮기기• 메시지를 다른 시스템들로 옮기기• 트랜드 기반의 변화 예측
IoT Rule 엔진
RULES ENGINE규칙 기반으로메시지 변환 및
AWS 서비스로 전달
AWS IoT Rules Engine
간단하고 친숙한 문법을 사용• SQL 문장으로 토픽 필터 정의• (옵션) WHERE절 사용• 향상된 JSON 지원
시그널:노이즈 비율을 개선하기 위한함수들• String 변환 (정규식 지원)• 수학 연산• Context 기반의 지원 함수들• 암호 지원• UUID, Timestamp, rand, 등
SELECT * FROM ‘things/thing-2/color’ WHERE color = ‘red’
AWS IoT Rules Engine은 …
복잡한 구성 가능하나의 대상이 아닌 복수에 적용됨. 다양한 함수들을 제공
다중 및 동시에 수행될 수 있는 Action들어떤 경우에는 하나의 메시지에 대해서 여러 action을 구현할 필요가 있음
AWS IoT Rules Engine 특징 몇가지
RULES ENGINETransform messages based on rules and
route to AWS Services
AWS Services- - - - -
3P ServicesAWS Services
- - - - -3P Services
AWS IoT Rules Engine Action
1. 직접 연동되는AWS Services
Rules Engine
Action
AWS Lambda
Amazon SNS
Amazon SQS
Amazon S3
Amazon Kinesis
Amazon DynamoDB Amazon RDS
Amazon Redshift
Amazon Glacier
Amazon EC2
3. 외부 Endpoints(Lambda 및 SNS를 통해서 연동)
Rules Action은 AWS IoT를외부 Endpoint들과 AWS서비스를 연결하는 역할을합니다.
2. 간접 연동되는 AWS서비스(Amazon Kinesis, AWS Lambda, Amazon S3 등을통해서 연동)
AWS IoT Rules Engine Action은 무엇일까요?
Rules Engine Action과 연동되는 AWS 서비스들
Lambda function 호출
S3 bucket에 객체를 저장
DynamoDB 테이블에insert 및 update
SNS topic 또는endpoint에 Publish
Kinesis stream에 Publish
Firehose에 Publish
AWS IoT로 Republish
Elasticsearch로 Publish
CloudWatchmetric 생성 또는 알람 변경
SQS queue에 쓰기
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DemoConnected Car
Greengrass Car
MQTT
Voice Control
Shadow변경
최적화된 LocalLambda Function
수집된 모든 데이터 저장
Live Data View
운전 패턴을 저장하고 분석함
Control Demo Car
MQTT overWebsockets
Connected Car는 이렇게 구성될 수 있습니다
Connected 트럭의 이동 경로 시각화 예제
IoTrule
IoTaction
Amazon Elasticsearch
Service
Topic
KibanaConnected 트럭
AWS IoT Blog - Archive AWS IoT Device Shadows in Amazon Elasticsearch Service https://aws.amazon.com/blogs/iot/archive-aws-iot-device-shadows-in-amazon-elasticsearch-service/
AWSIoT
Amazon Machine Learning예측 함수
적절한 균형은 리스크와 비용에 대한 비율과 관련됨
• 고장 예측을 너무 빨리하면à 교체가 필요하지 않은 부품을 교체à 손실 발생
• 예측을 하지 않으면à 더 큰 손실을 입을 리스크
예측을 왜 잘해야할까요?
1. IoT Rule을 이용해서 디바이스 데이터를 S3로 전송2. 수집된 데이터 기반으로 Machine Learning 모델 생성
AWS IoT에서 메시지 기반의 예측 구현 방법
예측모델생성
실시간예측및
대응
1. IoT Rule을 이용해서,• Amazon Machine Learning의 실시간 예측 endpoint 를
통해서 예측 값 얻기• CloudWatch metric 를 발생하거나, 알람 트리거하기
2. IoT Rule을 이용해서 예측된 실패에 대한 상세 내용을활용하기
예측 기반의 예방 기능 구현 예
S3 AML
Training
Live Predictions
Thing IoT/RePub
CW metric
IoT RePub
IAM roles/policies
AWS Lambda
Amazon Elasticsearch
Service
Dynamo DBAWS IoT
Alexa
Amazon Machine Learning
IoT Device/ SensorsOn
Surveillance Drone
Dashboards
실시간 예측
Alexa, Where is Drone?
예제 - 드론 추락 예측
Machine Learning: Failure를 예측하기 위한Binary Model
Machine Learning: Training Data
AWS IoT: Rules Engine
디바이스 데이터 특징에 따른접근 방법
⚠초단위의 자동 피드백⚠안전에 대한 알람⚠장애 임계치 알람⚠소모성 고갈
⌚ 일반 센서 측정⌚ 디바이스 정상 여부 및 상태⌚ 소비 가능한 수준
⚙ 프로세스 관련 데이터⚙ Performance KPI, Signal 강도⚙ 시스템 로그
✇ 제품 라인의 QA 데이터✇ 오래된 운영 관련 인사이트✇ 프로파일된 운영 모드
측정되고, 분석된 데이터
데이터 온도에 따라 다른 접근이 필요합니다
HOT
WARM
COOL
COLD
AWS IoT SDK
ECOSYSTEM OF SMART DEVICES
Amazon EMR
TIME TO INSIGHT
Amazon Machine Learning
AWS Lambda
AWS Kinesis Analytics
많은 데이터, 빠르게 인사이트 도출ü 제품 경고, 임계치 모니터링ü 중대한 사용자 이벤트 감지 및 통보
변경이 쉽고, 서버리스이고, 저렴한 실행 비용ü 제품 추론 및 데이터 운영ü 복잡한 이벤트 프로파일 및 비즈니스 로직
쉽게 머신러닝 모델 생성, 머신 러닝 툴들 제공ü 예방 정비ü 사용자 행동 분석
대용량 데이터, 유연한 분석 엔진ü 패턴 이력에 대한 배치 분석ü 전체적인 인사이트
디바이스 데이터 분석을 위한 서비스 선택은 …
HOT
WARM
COOL
COLD
로컬 IoT, AWS Greengrass
의료 장치 산업용 기계 극한의 환경
상당수의 머신 데이터가 클라우드로 전송되지 않습니다
위치에 따른 법칙경제성에 대한 법칙물리 법칙
왜 그럴까요?
ThingsSense & Act
CloudStorage& Compute
IntelligenceInsights &Logic → Action
IoT를 구성하는 3가지 축
ThingsSense & Act
클라우드에서 시작한 IoT
Action
DeviceState
AWS Services
Applications
IntelligenceInsights &Logic → Action
CloudStorage& ComputeAuthentication
& AuthorizationDevice
Gateway
Registry
AWS IoT API
Messages Messages
AWS IoT
Messages Messages
Authentication& Authorization
DeviceGateway
Action
DeviceState
AWS Services
Applications
Registry
AWS IoT API
AWS IoT에지로 확장
Introducing AWS Greengrass
DeviceState
Action
DeviceGateway
Messages
AWS IoT
AWS Greengrass의 장점
로컬 이벤트에 신속히 반응할 수 있음
오프라인 운영가능
디바이스 프로그래밍 단순화
IoT 어플리케이션 비용 절감
Local Lambda
LocalDevice Shadows Local
Security
Greengrass는…
AWS
Local Broker
AWS Greengrass 기능
AWS IoT AWS IoT
Greengrass Core
활용 예 - IoT 디바이스 제어
Fleet of Sensors
운영자Amazon SNSAWSLambda
AWSIoT
AWSGreengrass
Core
AmazonDynamoDB
활용 예 - 현장에 설치된 센서들
LambdaFunction
MQTTTopic
IoTSensor
Shadow to RecordHigh Water Mark
Shadow to RecordLast Publish Time
MQTT TopicPublish to AWS IoT
AWSIoT
활용 예 – 상태 정보 저장 및 AWS IoT 연동
LambdaFunction
MQTTTopic
IoTSensor
Shadow to RecordHigh Water Mark
Shadow to RecordLast Publish Time
MQTT TopicPublish to AWS IoT
AWSIoT
Shadow withConfiguration
활용 예 – 로컬 Shadow에 설정 정보 저장
마무리 하며
• AWS IoT Rule 엔진을 활용해서 디바이스 데이터기반으로 저장, 분석하고, 예측할 수 있습니다.
• 데이터의 성격 및 목적에 따라서 AWS IoT와 연동할AWS 서비스를 선택하세요.
• AWS Greengrass 이용한 로컬 IoT와 클라우드 IoT를함께 사용이 가능합니다.
본 강연이 끝난 후…
AWS IoT 블로그를 방문해서 다양한 활용 사례를 확인해보세요.https://aws.amazon.com/blogs/iot/
AWS 블로그의 AWS IoT와 Amazon Machine Learning을 이용한예방 정비 구현 사례를 읽어보세요.https://aws.amazon.com/blogs/mobile/predictive-maintenance-with-aws-iot-and-amazon-machine-learning/
AWS Machine Learning을 예제를 통해서 배워보세요.https://aws.amazon.com/blogs/big-data/building-a-numeric-regression-model-with-amazon-machine-learning/
Thank you!함께 해주셔서 감사합니다!
https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에참여하시면, 행사 후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에여러분의 행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜채널로 곧 공유될 예정입니다.
여러분의 피드백을 기다립니다!