AWS IoT란 무엇입니까? - AWS IoT

AWS IoT란 무엇입니까?

AWS IoT은(는) 인터넷 연결 제품(센서, 액추에이터, 내장형 마이크로 컨트롤러, 스마트 애플리케이션 등)과 AWS 클라우드 간에 안전한 양방향 통신을 제공합니다. 이를 통해 여러 디바이스에서 원격 측정 데이터를 수집하고 해당 데이터를 저장 및 분석할 수 있습니다. 또한 사용자가 휴대전화 또는 태블릿에서 이러한 디바이스를 제어할 수 있게 해주는 애플리케이션을 만들 수도 있습니다.

AWS IoT 구성 요소

AWS IoT은(는) 다음과 같은 구성 요소로 이루어집니다.

AWS IoT용 Alexa Voice Service(AVS) 통합

연결된 모든 디바이스에 Alexa Voice를 도입합니다. AWS IoT용 AVS는 Alexa 통합의 비용 및 복잡성을 줄여줍니다. 이 기능은 AWS IoT를 활용하여 집중적인 계산 및 메모리 오디오 작업을 디바이스에서 클라우드로 오프로드합니다. 결과적으로 eBOM(Engineering Bill of Material) 비용이 절감되어 디바이스 제조업체에서 리소스 제약이 있는 IoT 디바이스에 Alexa를 비용 효율적으로 도입할 수 있으며 소비자는 집, 사무실 또는 호텔 방에서 Alexa와 직접 대화하면서 앰비언트 경험을 할 수 있습니다.

AWS IoT용 AVS를 통해 1MB 미만의 임베디드 RAM을 사용하는 ARM Cortex M 클래스와 같은 MCU에서 Alexa 내장 기능을 사용할 수 있습니다. 이를 위해 AVS는 메모리 및 컴퓨팅 작업을 클라우드의 가상 Alexa 내장 디바이스로 오프로드합니다. 따라서 eBOM 비용이 최대 50%까지 절감됩니다. 자세한 내용은 AWS IoT용 Alexa Voice Service(AVS) 통합 단원을 참조하십시오.

사용자 지정 인증 서비스

사용자 지정 인증 서비스와 Lambda 함수를 사용하여 자신의 인증 및 권한 부여 전략을 관리할 수 있도록 사용자 지정 권한 부여자를 정의할 수 있습니다. AWS IoT은(는) 이렇게 정의된 사용자 지정 권한 부여자를 통해 보유자 토큰(bearer token) 인증 및 권한 부여 전략으로 사용자의 디바이스를 인증하고 작업에 권한을 부여할 수 있습니다.

사용자 지정 권한 부여자는 다양한 인증 전략(예: JSON Web Token 확인, OAuth 공급자 호출 등)을 구현할 수 있으며, 디바이스 게이트웨이에서 MQTT 작업에 권한을 부여하는 데 사용하는 정책 문서를 반환해야 합니다. 자세한 내용은 사용자 지정 인증 단원을 참조하십시오.

디바이스 게이트웨이

디바이스가 안전하고 효율적으로 AWS IoT와(과) 통신할 수 있게 해줍니다.

디바이스 프로비저닝 서비스

디바이스에 필요한 리소스, 즉 사물, 인증서 및 한 가지 이상의 정책을 설명하는 템플릿을 사용하여 디바이스를 프로비저닝할 수 있습니다. 여기에서 사물이란 레지스트리에서 디바이스를 설명하는 속성이 포함된 항목을 말합니다. 인증서는 AWS IoT에서 디바이스를 인증할 때 필요합니다. 정책은 AWS IoT에서 실행할 수 있는 디바이스의 작업을 결정합니다.

템플릿에는 딕셔너리(맵)의 값으로 치환되는 변수가 포함됩니다. 딕셔너리에서 템플릿 변수 값만 다르게 전달하면 동일한 템플릿을 사용하여 다수의 디바이스를 프로비저닝하는 것도 가능합니다. 자세한 내용은 디바이스 프로비저닝 단원을 참조하십시오.

디바이스 섀도우

디바이스의 현재 상태 정보를 저장 및 검색하는 데 사용되는 JSON 문서입니다.

디바이스 섀도우 서비스

AWS 클라우드에서 디바이스의 영구적 표현을 제공합니다. 사용자는 디바이스 섀도우에 업데이트된 상태 정보를 게시할 수 있고, 디바이스 연결 시 상태를 동기화할 수 있습니다. 또한 디바이스는 애플리케이션 또는 다른 디바이스가 사용하도록 섀도우에 현재 상태를 게시할 수 있습니다. 자세한 내용은 AWS IoT 디바이스 섀도우 서비스 단원을 참조하십시오.

그룹 레지스트리

그룹을 사용하면 디바이스를 그룹별로 범주화하여 여러 디바이스를 한 번에 관리할 수 있습니다. 그룹은 다른 그룹을 포함할 수 있으므로—그룹 계층 구조를 만들 수 있습니다. 상위 그룹에서 수행한 모든 작업은 하위 그룹 및 그룹 내 모든 디바이스와 그러한 디바이스의 모든 하위 그룹에도 적용됩니다. 그룹에 부여된 권한은 해당 그룹과 해당 그룹의 모든 하위 그룹에 속하는 디바이스 전체에 적용됩니다. 자세한 내용은 AWS IoT에서 디바이스 관리 단원을 참조하십시오.

작업 서비스

AWS IoT에 연결되는 하나 이상의 디바이스로 전송 후 실행되는 원격 작업을 정의할 수 있습니다. 예를 들어 디바이스에게 애플리케이션 또는 펌웨어 업데이트를 다운로드 후 설치하거나, 재부팅하거나, 인증서를 교체하거나, 혹은 원격 문제 해결 작업을 실행하도록 지시하는 작업을 정의할 수 있습니다.

작업을 생성하려면 먼저 실행할 원격 작업에 대한 설명과 작업을 실행할 대상 목록을 지정합니다. 대상은 개별 디바이스, 그룹 또는 둘 다가 될 수 있습니다. 자세한 내용은 작업 단원을 참조하십시오.

메시지 브로커

디바이스와 AWS IoT 애플리케이션이 서로 메시지를 게시 및 수신할 수 있는 보안 메커니즘을 제공합니다. MQTT 프로토콜을 사용하여 직접 또는 MQTT over WebSocket을 사용하여 게시 및 구독할 수 있습니다. HTTP REST 인터페이스를 사용하여 게시할 수 있습니다. 자세한 내용은 AWS IoT 메시지 브로커 단원을 참조하십시오.

레지스트리

AWS 클라우드에서 각 디바이스에 연결된 리소스를 체계화합니다. 디바이스를 등록하고 각 디바이스에 최대 3개의 사용자 지정 속성을 연결할 수 있습니다. 또한 각 디바이스에 연결하여 인증서 및 MQTT 클라이언트 ID를 디바이스를 관리하고 문제 해결하는 능력을 개선할 수도 있습니다. 자세한 내용은 AWS IoT에서 디바이스 관리 단원을 참조하십시오.

규칙 엔진

메시지 처리 및 다른 AWS 서비스와 통합을 제공합니다. SQL 기반 언어를 사용하여 메시지 페이로드에서 데이터를 선택하여 처리하고, Amazon S3, Amazon DynamoDB, AWS Lambda같은 다른 서비스로 데이터를 전송할 수 있습니다. 또한 메시지 브로커를 사용하여 다른 구독자에게 메시지를 재게시할 수도 있습니다. 자세한 내용은 AWS IoT에 대한 규칙 단원을 참조하십시오.

보안 및 자격 증명 서비스

AWS 클라우드에서 보안에 대한 공동 책임을 제공합니다. 데이터를 안전하게 메시지 브로커로 전송하기 위해서는 디바이스가 자격 증명을 안전하게 보관해야 합니다. 메시지 브로커 및 규칙 엔진은 AWS 보안 기능을 사용하여 데이터를 디바이스 또는 다른 AWS 서비스로 안전하게 전송합니다. 자세한 내용은 인증 단원을 참조하십시오.

AWS IoT 제한에 대한 정보는 AWS IoT 제한 단원을 참조하십시오.

AWS IoT 시작 방법

AWS IoT에 액세스

AWS IoT은(는) 디바이스를 생성 및 상호 작용할 수 있도록 다음 인터페이스를 제공합니다.

  • AWS Command Line Interface(AWS CLI)—Windows, macOS 및 Linux에서 AWS IoT 명령을 실행합니다. 이러한 명령을 사용하여 사물, 인증서, 규칙 및 정책을 생성하고 관리할 수 있습니다. 시작하려면 AWS Command Line Interface 사용 설명서 단원을 참조하십시오. AWS IoT 명령어에 대한 자세한 정보는 AWS CLI Command Referenceiot 단원을 참조하십시오.

  • AWS IoT API—HTTP 또는 HTTPS 요청을 사용하여 IoT 애플리케이션을 빌드합니다. 이러한 API 작업을 사용하여 사물, 인증서, 규칙 및 정책을 프로그래밍 방식으로 생성하고 관리할 수 있습니다. AWS IoT용 API 작업에 대한 자세한 정보는 AWS IoT API 참조작업 단원을 참조하십시오.

  • AWS SDK—언어별 API를 사용하여 IoT 애플리케이션을 구축합니다. 이러한 SDK는 HTTP/HTTPS API를 래핑하고 지원되는 언어로 프로그램을 작성할 수 있게 해줍니다. 자세한 정보는 AWS SDK 및 도구 단원을 참조하십시오.

  • AWS IoT 디바이스 SDK—디바이스에서 실행되며 AWS IoT와(과) 메시지를 송수신하는 애플리케이션을 구축합니다. 자세한 정보는 AWS IoT SDK 단원을 참조하십시오.

AWS IoT은(는) 다음 AWS 서비스와 직접 통합됩니다.

  • Amazon Simple Storage Service—AWS 클라우드에서 확장 가능한 스토리지를 제공합니다. 자세한 내용은 Amazon S3 단원을 참조하십시오.

  • Amazon DynamoDB—관리되는 NoSQL 데이터베이스를 제공합니다. 자세한 내용은 Amazon DynamoDB 단원을 참조하십시오.

  • Amazon Kinesis—은(는) 실시간으로 대규모 데이터 스트리밍을 처리합니다. 자세한 내용은 Amazon Kinesis 단원을 참조하십시오.

  • AWS Lambda—이벤트에 대한 응답으로 Amazon EC2의 가상 서버에서 코드를 실행합니다. 자세한 내용은 AWS Lambda를 참조하십시오.

  • Amazon Simple Notification Service—알림을 송수신합니다. 자세한 내용은 Amazon SNS 단원을 참조하십시오.

  • Amazon Simple Queue Service—애플리케이션이 검색할 데이터를 대기열에 저장합니다. 자세한 내용은 Amazon SQS 단원을 참조하십시오.