AWS IoT 클래식 섀도우는 디바이스의 상태를 클라우드에 저장하고 애플리케이션과 동기화하는 핵심 기능으로, 2026년에도 IoT 서비스 구축의 기본입니다. 단일 Thing에 하나만 존재하며 JSON 형태로 상태를 관리하여 디바이스 오프라인 시에도 상태 유지가 가능합니다.
AWS IoT 클래식 섀도우란 무엇인가요?
AWS IoT 클래식 섀도우는 물리적 IoT 디바이스(Thing)의 현재 상태를 클라우드에 가상의 문서, 즉 JSON 형태로 저장하고 관리하는 서비스입니다. 이는 AWS IoT Core의 핵심 구성 요소 중 하나로, 디바이스가 네트워크에 연결되지 않은 오프라인 상태일 때에도 애플리케이션이 해당 디바이스의 상태를 조회하거나 원하는 상태로 업데이트할 수 있도록 지원합니다. 클래식 섀도우는 각 Thing에 대해 단 하나만 존재하며, 디바이스의 'reported' 상태와 애플리케이션이 원하는 'desired' 상태를 구분하여 관리함으로써 양방향 상태 동기화를 가능하게 합니다. 예를 들어, 스마트 홈 디바이스의 전원 상태를 'on' 또는 'off'로 설정하고, 실제 디바이스가 이를 반영했는지 확인할 수 있습니다.
클래식 섀도우의 기본 구조와 동작 흐름은 어떻게 되나요?
클래식 섀도우의 핵심은 JSON 형식으로 표현되는 상태 정보입니다. 기본 구조는 다음과 같습니다: `{"state": {"desired": {...}, "reported": {...}, "delta": {...}}}`. 여기서 `desired`는 클라우드 애플리케이션이나 서버가 디바이스에 설정하고자 하는 희망 상태를 나타냅니다. 예를 들어, 스마트 조명의 전원을 'on'으로 설정하는 것입니다. `reported`는 실제 디바이스가 현재 가지고 있는 상태를 AWS IoT Core에 보고한 값입니다. 만약 디바이스의 전원이 'off'라면, `reported` 값은 'off'가 됩니다. `delta`는 `desired` 상태와 `reported` 상태가 일치하지 않을 때 자동으로 생성되는 필드로, 디바이스가 업데이트해야 할 변경 사항을 명확히 보여줍니다. 동작 흐름은 다음과 같습니다: 애플리케이션이 `desired` 상태를 업데이트하면, AWS IoT는 `desired`와 `reported` 상태를 비교하여 `delta`를 생성합니다. 디바이스는 이 `delta` 정보를 수신하여 자신의 실제 상태를 업데이트하고, 업데이트된 상태를 다시 `reported` 값으로 AWS IoT Core에 보고함으로써 동기화가 완료됩니다. 이 과정을 통해 디바이스의 상태를 안정적으로 관리할 수 있습니다.
자세한 내용은 원본 글에서 확인하세요.







