aws로 연결하는 사물인터넷의 세계 :: 이경수 :: aws summit seoul 2016

57
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 이경수 | 솔루션즈 아키텍트 20160517AWS로 연결하는 사물인터넷의 세계 AWS IoT

Upload: amazon-web-services-korea

Post on 15-Apr-2017

1.331 views

Category:

Technology


15 download

TRANSCRIPT

Page 1: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

이경수 | 솔루션즈 아키텍트

2016년 05월 17일

AWS로 연결하는 사물인터넷의 세계

AWS IoT

Page 2: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

사물과 클라우드의 연결은 전 산업분야의 화두

헬스케어 및생명과학 공공 및 인프라 스마트홈 유통

생산, 물류, 공급사슬 농업 교육 자동차

Page 3: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

사물을 연결하기 위한 필요 요건들

다양한 SDK 및 도구

프로토콜 확장성&

노이즈/신호

보안 & 관리 클라우드, 모바일 앱또는 분석 기반의

통합

Page 4: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

…and more

기존 AWS 서비스 기반 IoT 구현 사례

AWS Lambda이벤트에 대한

응답으로 코드실행

Amazon DynamoDB관리형 NoSQL 데이타베이스

Amazon Kinesis실시간 스트리밍

데이타 작업

Amazon API Gateway

API 구축, 배포, 관리

Amazon SNS 푸쉬 알람 서비스

Amazon Redshift빠르고 간단하며비용 효과적인

데이터웨어하우스

Amazon Cognito사용자 자격 증명 및 앱

데이타 동기화

Page 5: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT는 IoT구현을 쉽고 빠르게 가속화합니다

AWS IoT디바이스를

클라우드에 연결…and more

AWS Lambda이벤트에 대한

응답으로 코드실행

Amazon DynamoDB관리형 NoSQL 데이타베이스

Amazon Kinesis실시간 스트리밍

데이타 작업

Amazon API Gateway

API 구축, 배포, 관리

Amazon SNS 푸쉬 알람 서비스

Amazon Redshift빠르고 간단하며비용 효과적인

데이터웨어하우스

Amazon Cognito사용자 자격 증명 및 앱

데이타 동기화

Page 6: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT

“하나 또는 수백억개의 사물을 안전하게 연결하여

어플리케이션과 사물간에 상호작용할 수 있게 합니다”

Page 7: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT

디바이스 게이트웨이

인증 및 보안 정책

룰 엔진

섀도(shadow)

레지스트리

완전 관리형서비스

Seamless한 AWS서비스들과 연결

Page 8: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

디바이스 SDK연결, 인증, 메시지 통신을

위한 클라이언트 라이브러리세트

디바이스게이트웨이

MQTT 및 HTTP를통해 디바이스와 통신

룰 엔진룰 기반으로메시지를

변형하고 AWS 서비스로 라우팅

AWS 서비스모든 AWS서비스에메시지 전달 가능

디바이스 섀도간혈적 통신에서도사물의 상태 확보

애플리케이션애플리케이션은 제공된api를 통해서 언제든지쉐도우에 연결 가능

레지스트리사물에 대한 ID관리

인증 및 인가상호 인증 및

암호화로 보안 강화

AWS IoT

Page 9: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

디바이스 메시징

Page 10: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 디바이스 게이트웨이

디바이스 게이트웨이MQTT 및 HTTP를 통해

디바이스와 통신

Page 11: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

Publish / Subscribe 라우팅

표준 프로토콜 지원MQTT, HTTP, WebSockets

토픽 / 채널 기반계층적 메시지 라우팅

보안성인증서와 TLS 1.2 기반 상호 인증

메시지 형식 (JSON)사용자 정의 JSON 포맷

Page 12: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

고확장성의 관리형 서비스고확장성을 지닌

Device Gateway

수백만의 디바이스가수십억의 메시지를

전송

SubscribersPublishers

Page 13: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

보안

Page 14: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 보안 : 인증 및 인가

AUTHENTICATIONSecure with mutual authentication and

encryption

AUTHENTICATIONAUTHORIZATION

Secure with mutual authentication and

encryption

인증 및 인가상호 인증 및 암호화로

보안 강화

Page 15: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 보안 : 인증/인가의 대상

Page 16: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 보안 : 사물의 인증

Page 17: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

사물의 인증

- 안전한 통신 채널- 익명 사용자

- 안전한 통신 채널

- 익명 사물?

Page 18: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

사물의 인증: TLS기반 상호 인증

- 안전한 통신 채널

- 상호 자격 증명

- 안전한 통신 채널- 익명 사용자

Page 19: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

사물의 인증/인가

* 사설 CA인증서 지원 기능 추가 (4/11)

+Certificate Policy

Page 20: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 정책(policy) 예제

"Effect": "Allow","Action": [

"iot:Publish"],"Resource": [

"arn:aws:iot:us-east-1:123456789012:topic/foo"]

},{

"Effect": "Deny","Action": [

”iot:Subscribe"],"Resource": [

"arn:aws:iot:us-east-1:123456789012:topic/bar"]

topic/foo 토픽으로 메시지

배포 허용

topic/bar 토픽메시지 수신 불가

Page 21: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 보안 : 사용자/서비스리소스 인증/인가

IAM - Role

IAM

Cognito- Identity Pool

WebSockets- Signature Ver 4

Page 22: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

의미있는 신호 찾기

Page 23: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진

RULES ENGINETransform messages based on rules and

route to AWS Services

룰 엔진룰 기반으로

메시지를 변형하고AWS 서비스로

라우팅

Page 24: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 – SQL기반 필터

SELECT DATA FROM TOPIC WHERE FILTER

• 친숙함! : 데이타베이스 테이블 조회와 유사 (SUB SELECT 가능)

• MQTT 토픽을 데이타 소스로 적용• 시그널 처리를 위한 기능들 : 노이즈 제거

- 문자열 수정 (regex support)- 산술 계산

- Context 기반 Helper 기능- 암호화 지원

- UUID, Timestamp, rand, 등. • 조회 후 연속적인 action 수행

Page 25: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 - 예시

SELECT *, clientId() as MQTTClientId FROM 'one/rule' WHERE startsWith(topic(2), 'IME33') AND(state = 'INIT' OR hydro_temp >surface_temp)","actions": [{ "republish": {

"topic": "controllers/${substring(topic(3), 3, 5)}",

}]

Page 26: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 - 예시

Page 27: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 – 액션

RULES ENGINETransform messages based on rules and

route to AWS Services

AWS Services- - - - -

3P Services

AWS Services- - - - -

3P Services

Page 28: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 - 액션 연계 대상Lambda function을 인보크

S3 버킷에 오브젝트를 Put

DynamoDB table 에 Insert, Update, Read

SNS Topic 또는 Endpoint 에퍼블리싱

Amazon Kinesis stream에 퍼블리싱Actions

Amazon Kinesis Firehose에퍼블리싱

AWS IoT 리퍼블리싱

룰 엔진은 AWS IoT가 받은메시지를 평가하고 적절하게 변환및 엔드 포인트에 정의한 룰에따라 실행

외부 엔드포인트는 Lambda 및Amazon Simple Notification Service (Amazon SNS)를 통해연결

Amazon Elasticsearch

Amazon CloudWatch

Page 29: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 – 액션 구성 예시

Page 30: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

1. AWS 서비스(직접 연결)

Rules Engine

Actions

AWS IoT 룰 엔진 - 액션 연계 확장

LambdaSNS SQS

S3 Amazon KinesisDDB RDS

AmazonRedshift

AmazonGlacier

EC2

3. 외부 엔드포인트(via Lambda and SNS)

2. 기타 AWS(via Amazon Kinesis, Lambda, S3 활용)

룰 엔진은 AWS IoT를 외부접점이나 AWS 다른 서비스로연결

AmazonMachineLearning

Page 31: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 & Amazon SNS

Push NotificationsApple APNS Endpoint, Google GCM Endpoint, Amazon ADM Endpoint, Windows WNS

Amazon SNS -> HTTP Endpoint (Or SMS or Email)

SNS를 통해 HTTP 기반의 외부 엔드 포인트를 호출

SNS

2

Page 32: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 룰 엔진 & 머신 런닝

AWS IoT 룰 엔진에서 S3로 데이타 전송

S3 데이타를 참조하여 Amazon ML 의 model을 생성

실시간 예측을 Amazon ML에 활성화

Amazon ML을 통해 예측된 값에 대해 AWS IoT 룰이 평가하고 연계된 action을 수행

S3로 전송

S3

Train model

기준 설정

MachineLearning

Page 33: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

디바이스 섀도(shadow)

Page 34: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 디바이스 섀도

THING SHADOWPersistent thing state during intermittent

connections

APPLICATIONS디바이스 섀도간혈적 통신에서도사물의 상태 확보

Page 35: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

Shadow

클라우드 상에 존재하는디바이스의 가상적 실체(Virtual representation)

AWS IoT 디바이스 섀도

Page 36: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

예시: 질량분석기의샘플 화학분석

연결된 질량분석기가 수시간동안 상태와 읽은 값을 전송

해당질량분석기는분석사이클이 완료되면offline 상태로 전환되나,

AWS IoT의 섀도는 마지막보고된 상태를 유지

간혈적인 연결

기술자들은 모바일 앱을 통해새로운 상태를 요청하거나 또는마지막 보고된 질량분석기의

상태를 조회

AWS IoT 디바이스 섀도

Page 37: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

{"state" : {

“desired" : {"lights": { "color": "RED" },"engine" : "ON"

},"reported" : {

"lights" : { "color": "GREEN" },"engine" : "ON"

},"delta" : {

"lights" : { "color": "RED" }}

},"version" : 10}

Thing

Mobile App

Shadow

• 하나 또는 복수의 섀도에 현재 상태 보고• 섀도로부터 원하는 상태를 조회

• 디바이스에 desired 상태를 셋팅• 해당 디바이스의 최신 통지된 상태를

획득• 해당 섀도 삭제

• 섀도가 delta 및 desired 그리고 reported상태를 메타데이터와 버전를 붙여 관리

AWS IoT 디바이스 섀도

Page 38: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

디바이스 관리

Page 39: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 레지스트리

THING REGISTRYIdentity and Management of

your things

레지스트리사물에 대한 ID관리

Page 40: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

• 사물과 관련된 정적인 속성을 저장

• 펌웨어 버젼• 시리얼 번호

• 디바이스 유형• 디바이스 그룹

• 디바이스 설명• 센서 설명

• 지원 및 유지보수 목적의 추가 속성• 설명서의 URL

• 부품 번호 등• 외부 시스템 연계도 가능

• AWS IoT에 연결된 모든 디바이스는 레지스트리에 등록

AWS IoT 레지스트리

Page 41: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT – 디바이스 관리

Firmware Update

Stored in S3

Publish to groups of devices

• 글로벌 또는 리전내에서 업데이트

• 룰엔진은 업데이트상황을 보유, DynamoDB테이블에서의프로그레스를 추적

• 레지스트리 엔트리에버전 저장

• S3에 버전 관리 된 펌웨어를 관리

• 룰 엔진에서 토픽 패턴을 사용하여 디바이스 그룹에 통지. 통지 내용에 S3에

저장된 펌웨어 다운로드 URL 담기

Page 42: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 국내 사례

Page 43: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KOLON GLOBAL CORPORATION

TradingDistribution & Service

Construction SPOREX

코오롱글로벌㈜는 건설, 유통, 무역, 스포츠산업등 다양한 사업부문의 역량을보유하고 있는 종합기업입니다.특히, 건설분야에서는 한발 앞선 디자인과 기술력으로 주거문화를 선도하고 있습니다.

HousingPJT

양덕 하늘채 구미강변 하늘채 은어송 하늘채 꿈의숲 하늘채

Page 44: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KOLON GLOBAL HomeIoT – Device

Mobile

Beacon

Amazon echo

Window sensorPower Plug

Switch

Bulb

Doorlock

Gateway

Boiler

Siren

Camera

Page 45: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KOLON GLOBAL HomeIoT – Architecture

Mobile

Beacon

API Gateway Lambda

AWS IoT

RDS SNS

S3DynamoDB

Certification Policy Shadow Rule Engine

Alexa Skills Kit – KOLON Home Service

Amazon echo

Page 46: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KOLON GLOBAL HomeIoT – 재실모드

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 47: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KOLON GLOBAL HomeIoT – 외출모드

Users

LambdaRDS

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 48: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KOLON GLOBAL HomeIoT – 보안모드

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 49: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

WHY AWS IoT ???ü 최소 비용으로 개발 시작 가능

• 2월 부터 현재까지 발생 비용 월 70 USD 안팎

ü Serverless 방식의 Architecture 구성 가능• APIGateway, Lambda, RDS

ü 하나의 IoT Framework에 여러 서비스 연결 쉽게 가능• Lambda, SNS, DynamoDB, RDS, CloudWatch

ü 관리 및 운영이 필요 없어서, 서비스 제공까지 단 시간 내 구현

ü Snapshot 이미지를 S3에 저장해서, 스토리지 걱정 없이 저장 가능

ü RAW 이벤트 데이터 저장에 DynamoDB선택

ü X509 인증서 사용으로 상호 인증하고, 데이터도 보안

Page 50: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KGC1)’s Vision for Home IoT

IoT Home Network

Wall-Pad Type Hub

Mobile App

Differentiated Platform 개발 Extension of Coverage

N-housing

Customized Value 제공

Senior Care

Baby Care

Health

Beauty

<New Biz>

<Existing Biz>

Note : 1) KGC (Kolon Global Corporation)

Page 51: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

KGC’s Vision for Home IoT

코오롱글로벌㈜은 AWS IoT를 기반으로

기존 Hardware 중심의 주거시장에서

Platform과 Software 중심으로의 Paradigm Shift를 통해

주거문화의혁신을 이뤄낼 것 입니다.

Page 52: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT

디바이스 SDK연결, 인증, 메시지 통신을

위한 클라이언트 라이브러리세트

디바이스게이트웨이

MQTT 및 HTTP를통해 디바이스와 통신

룰 엔진룰 기반으로메시지를

변형하고 AWS 서비스로 라우팅

AWS 서비스모든 AWS서비스에메시지 전달 가능

디바이스 섀도간혈적 통신에서도사물의 상태 확보

애플리케이션애플리케이션은 제공된api를 통해서 언제든지쉐도우에 연결 가능

레지스트리사물에 대한 ID관리

인증 및 인가상호 인증 및

암호화로 보안 강화

Page 53: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

다수 플랫폼에서 공식 AWS IoT Start Kit 제공

Dragonboard 410c(by Arrow)

Beaglebone Green(by Seeed Studio)

Seeeduino Cloud (by Seeed Studio)

Intel Edison(by Seeed Studio)

MediaTek LinkIt One(by Seeed Studio)

Broadcom BCM4343W(by Avnet)

Marvell EasyConnect(By Marvell)

Renesas RX63N(by Micrium)

Microchip WCM(by Microchip)

Ti Launchpad(By Ti)

Page 54: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

AWS IoT 디바이스 SDK

• Based on open standards like Eclipse Paho

• C

• Arduino (Yun)

• iOS (Swift)

• Android

• WebSocket support

• NodeJS

• JS SDK for Statically hosted site (WebSockets)

Page 55: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

Pricing

• 사용한 만큼 지불. 최소 비용 없음.

• 메시지(AWS IoT로 게시, AWS IoT가 전송)1백만 개당 $5

• AWS IoT는 Lambda, DynamoDB, S3, Kinesis, SNS 및 SQS와 같은 AWS 엔드포인트로 전송되는 메시지에 대해서는 요금을 부과하지 않습니다

• Free Tier: 12개월 동안 매월 250,000건의메시지(게시 또는 전송)를 무료로 제공

AWS IoT

Page 56: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

여러분의 피드백을 기다립니다!

https://www.awssummit.co.kr

모바일 페이지에 접속하셔서, 지금 세션 평가에참여하시면, 행사 후 기념품을 드립니다.

#AWSSummit 해시태그로 소셜 미디어에 여러분의행사 소감을 올려주세요.

발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜채널로 곧 공유될 예정입니다.

Page 57: AWS로 연결하는 사물인터넷의 세계 :: 이경수 :: AWS Summit Seoul 2016

감사합니다