Upload
amazon-web-services-korea
View
1.331
Download
15
Embed Size (px)
Citation preview
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
이경수 | 솔루션즈 아키텍트
2016년 05월 17일
AWS로 연결하는 사물인터넷의 세계
AWS IoT
사물과 클라우드의 연결은 전 산업분야의 화두
헬스케어 및생명과학 공공 및 인프라 스마트홈 유통
생산, 물류, 공급사슬 농업 교육 자동차
사물을 연결하기 위한 필요 요건들
다양한 SDK 및 도구
프로토콜 확장성&
노이즈/신호
보안 & 관리 클라우드, 모바일 앱또는 분석 기반의
통합
…and more
기존 AWS 서비스 기반 IoT 구현 사례
AWS Lambda이벤트에 대한
응답으로 코드실행
Amazon DynamoDB관리형 NoSQL 데이타베이스
Amazon Kinesis실시간 스트리밍
데이타 작업
Amazon API Gateway
API 구축, 배포, 관리
Amazon SNS 푸쉬 알람 서비스
Amazon Redshift빠르고 간단하며비용 효과적인
데이터웨어하우스
Amazon Cognito사용자 자격 증명 및 앱
데이타 동기화
AWS IoT는 IoT구현을 쉽고 빠르게 가속화합니다
AWS IoT디바이스를
클라우드에 연결…and more
AWS Lambda이벤트에 대한
응답으로 코드실행
Amazon DynamoDB관리형 NoSQL 데이타베이스
Amazon Kinesis실시간 스트리밍
데이타 작업
Amazon API Gateway
API 구축, 배포, 관리
Amazon SNS 푸쉬 알람 서비스
Amazon Redshift빠르고 간단하며비용 효과적인
데이터웨어하우스
Amazon Cognito사용자 자격 증명 및 앱
데이타 동기화
AWS IoT
“하나 또는 수백억개의 사물을 안전하게 연결하여
어플리케이션과 사물간에 상호작용할 수 있게 합니다”
AWS IoT
디바이스 게이트웨이
인증 및 보안 정책
룰 엔진
섀도(shadow)
레지스트리
완전 관리형서비스
Seamless한 AWS서비스들과 연결
디바이스 SDK연결, 인증, 메시지 통신을
위한 클라이언트 라이브러리세트
디바이스게이트웨이
MQTT 및 HTTP를통해 디바이스와 통신
룰 엔진룰 기반으로메시지를
변형하고 AWS 서비스로 라우팅
AWS 서비스모든 AWS서비스에메시지 전달 가능
디바이스 섀도간혈적 통신에서도사물의 상태 확보
애플리케이션애플리케이션은 제공된api를 통해서 언제든지쉐도우에 연결 가능
레지스트리사물에 대한 ID관리
인증 및 인가상호 인증 및
암호화로 보안 강화
AWS IoT
디바이스 메시징
AWS IoT 디바이스 게이트웨이
디바이스 게이트웨이MQTT 및 HTTP를 통해
디바이스와 통신
Publish / Subscribe 라우팅
표준 프로토콜 지원MQTT, HTTP, WebSockets
토픽 / 채널 기반계층적 메시지 라우팅
보안성인증서와 TLS 1.2 기반 상호 인증
메시지 형식 (JSON)사용자 정의 JSON 포맷
고확장성의 관리형 서비스고확장성을 지닌
Device Gateway
수백만의 디바이스가수십억의 메시지를
전송
SubscribersPublishers
보안
AWS IoT 보안 : 인증 및 인가
AUTHENTICATIONSecure with mutual authentication and
encryption
AUTHENTICATIONAUTHORIZATION
Secure with mutual authentication and
encryption
인증 및 인가상호 인증 및 암호화로
보안 강화
AWS IoT 보안 : 인증/인가의 대상
AWS IoT 보안 : 사물의 인증
사물의 인증
- 안전한 통신 채널- 익명 사용자
- 안전한 통신 채널
- 익명 사물?
사물의 인증: TLS기반 상호 인증
- 안전한 통신 채널
- 상호 자격 증명
- 안전한 통신 채널- 익명 사용자
사물의 인증/인가
* 사설 CA인증서 지원 기능 추가 (4/11)
+Certificate Policy
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 토픽메시지 수신 불가
AWS IoT 보안 : 사용자/서비스리소스 인증/인가
IAM - Role
IAM
Cognito- Identity Pool
WebSockets- Signature Ver 4
의미있는 신호 찾기
AWS IoT 룰 엔진
RULES ENGINETransform messages based on rules and
route to AWS Services
룰 엔진룰 기반으로
메시지를 변형하고AWS 서비스로
라우팅
AWS IoT 룰 엔진 – SQL기반 필터
SELECT DATA FROM TOPIC WHERE FILTER
• 친숙함! : 데이타베이스 테이블 조회와 유사 (SUB SELECT 가능)
• MQTT 토픽을 데이타 소스로 적용• 시그널 처리를 위한 기능들 : 노이즈 제거
- 문자열 수정 (regex support)- 산술 계산
- Context 기반 Helper 기능- 암호화 지원
- UUID, Timestamp, rand, 등. • 조회 후 연속적인 action 수행
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)}",
}]
AWS IoT 룰 엔진 - 예시
AWS IoT 룰 엔진 – 액션
RULES ENGINETransform messages based on rules and
route to AWS Services
AWS Services- - - - -
3P Services
AWS Services- - - - -
3P Services
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
AWS IoT 룰 엔진 – 액션 구성 예시
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
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
AWS IoT 룰 엔진 & 머신 런닝
AWS IoT 룰 엔진에서 S3로 데이타 전송
S3 데이타를 참조하여 Amazon ML 의 model을 생성
실시간 예측을 Amazon ML에 활성화
Amazon ML을 통해 예측된 값에 대해 AWS IoT 룰이 평가하고 연계된 action을 수행
S3로 전송
S3
Train model
기준 설정
MachineLearning
디바이스 섀도(shadow)
AWS IoT 디바이스 섀도
THING SHADOWPersistent thing state during intermittent
connections
APPLICATIONS디바이스 섀도간혈적 통신에서도사물의 상태 확보
Shadow
클라우드 상에 존재하는디바이스의 가상적 실체(Virtual representation)
AWS IoT 디바이스 섀도
예시: 질량분석기의샘플 화학분석
연결된 질량분석기가 수시간동안 상태와 읽은 값을 전송
해당질량분석기는분석사이클이 완료되면offline 상태로 전환되나,
AWS IoT의 섀도는 마지막보고된 상태를 유지
간혈적인 연결
기술자들은 모바일 앱을 통해새로운 상태를 요청하거나 또는마지막 보고된 질량분석기의
상태를 조회
AWS IoT 디바이스 섀도
{"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 디바이스 섀도
디바이스 관리
AWS IoT 레지스트리
THING REGISTRYIdentity and Management of
your things
레지스트리사물에 대한 ID관리
• 사물과 관련된 정적인 속성을 저장
• 펌웨어 버젼• 시리얼 번호
• 디바이스 유형• 디바이스 그룹
• 디바이스 설명• 센서 설명
• 지원 및 유지보수 목적의 추가 속성• 설명서의 URL
• 부품 번호 등• 외부 시스템 연계도 가능
• AWS IoT에 연결된 모든 디바이스는 레지스트리에 등록
AWS IoT 레지스트리
AWS IoT – 디바이스 관리
Firmware Update
Stored in S3
Publish to groups of devices
• 글로벌 또는 리전내에서 업데이트
• 룰엔진은 업데이트상황을 보유, DynamoDB테이블에서의프로그레스를 추적
• 레지스트리 엔트리에버전 저장
• S3에 버전 관리 된 펌웨어를 관리
• 룰 엔진에서 토픽 패턴을 사용하여 디바이스 그룹에 통지. 통지 내용에 S3에
저장된 펌웨어 다운로드 URL 담기
AWS IoT 국내 사례
KOLON GLOBAL CORPORATION
TradingDistribution & Service
Construction SPOREX
코오롱글로벌㈜는 건설, 유통, 무역, 스포츠산업등 다양한 사업부문의 역량을보유하고 있는 종합기업입니다.특히, 건설분야에서는 한발 앞선 디자인과 기술력으로 주거문화를 선도하고 있습니다.
HousingPJT
양덕 하늘채 구미강변 하늘채 은어송 하늘채 꿈의숲 하늘채
KOLON GLOBAL HomeIoT – Device
Mobile
Beacon
Amazon echo
Window sensorPower Plug
Switch
Bulb
Doorlock
Gateway
Boiler
Siren
Camera
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
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
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
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
WHY AWS IoT ???ü 최소 비용으로 개발 시작 가능
• 2월 부터 현재까지 발생 비용 월 70 USD 안팎
ü Serverless 방식의 Architecture 구성 가능• APIGateway, Lambda, RDS
ü 하나의 IoT Framework에 여러 서비스 연결 쉽게 가능• Lambda, SNS, DynamoDB, RDS, CloudWatch
ü 관리 및 운영이 필요 없어서, 서비스 제공까지 단 시간 내 구현
ü Snapshot 이미지를 S3에 저장해서, 스토리지 걱정 없이 저장 가능
ü RAW 이벤트 데이터 저장에 DynamoDB선택
ü X509 인증서 사용으로 상호 인증하고, 데이터도 보안
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)
KGC’s Vision for Home IoT
코오롱글로벌㈜은 AWS IoT를 기반으로
기존 Hardware 중심의 주거시장에서
Platform과 Software 중심으로의 Paradigm Shift를 통해
주거문화의혁신을 이뤄낼 것 입니다.
AWS IoT
디바이스 SDK연결, 인증, 메시지 통신을
위한 클라이언트 라이브러리세트
디바이스게이트웨이
MQTT 및 HTTP를통해 디바이스와 통신
룰 엔진룰 기반으로메시지를
변형하고 AWS 서비스로 라우팅
AWS 서비스모든 AWS서비스에메시지 전달 가능
디바이스 섀도간혈적 통신에서도사물의 상태 확보
애플리케이션애플리케이션은 제공된api를 통해서 언제든지쉐도우에 연결 가능
레지스트리사물에 대한 ID관리
인증 및 인가상호 인증 및
암호화로 보안 강화
다수 플랫폼에서 공식 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)
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)
Pricing
• 사용한 만큼 지불. 최소 비용 없음.
• 메시지(AWS IoT로 게시, AWS IoT가 전송)1백만 개당 $5
• AWS IoT는 Lambda, DynamoDB, S3, Kinesis, SNS 및 SQS와 같은 AWS 엔드포인트로 전송되는 메시지에 대해서는 요금을 부과하지 않습니다
• Free Tier: 12개월 동안 매월 250,000건의메시지(게시 또는 전송)를 무료로 제공
AWS IoT
여러분의 피드백을 기다립니다!
https://www.awssummit.co.kr
모바일 페이지에 접속하셔서, 지금 세션 평가에참여하시면, 행사 후 기념품을 드립니다.
#AWSSummit 해시태그로 소셜 미디어에 여러분의행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜채널로 곧 공유될 예정입니다.
감사합니다