v0.0.1 — Apache 2.0 정식 공개
AWS IoT Core, ESP32 보드, 라즈베리파이 게이트웨이, 센서 플릿, MQTT 파이프라인

실물 디바이스를 연결하세요

디바이스, 인증서, 정책, IoT 인프라를 CLI 하나로 프로비저닝하세요. 비어 있는 AWS 계정에서 시작해 15분 안에 텔레메트리를 전송하는 디바이스까지 연결할 수 있습니다.

$pip install thingflash

이미 사용 중인 AWS 서비스를 그대로 프로비저닝합니다

  • IoT Core
  • Lambda
  • DynamoDB
  • S3
  • CloudWatch
  • Kinesis

디바이스 설정의 중심이 콘솔 클릭에서 CLI 한 줄로 옮겨가고 있습니다

디바이스 한 대를 손으로 연결하려면 Thing, X.509 인증서, 정책, 섀도우, 규칙, 스토리지를 각각 다른 콘솔 화면에서 만들어야 합니다. ThingFlash는 이 모든 과정을 init, plan, apply로 정리합니다 — 이미 익숙한 인프라 워크플로 그대로입니다.

모든 디바이스 정의가 버전 관리되는 YAML 매니페스트에 담기기 때문에, 100번째 디바이스도 첫 번째와 같은 노력으로 추가할 수 있습니다.

프로비저닝은 어느 IoT 프로젝트에서든 아무도 맡고 싶어 하지 않는 일이었습니다. 이제는 명령어 세 개와 저장소에 들어 있는 매니페스트 하나면 충분합니다.

— ThingFlash 설계 노트

설정 시간이 며칠에서 몇 분으로

96% 단축

텔레메트리가 스토리지로 들어오기까지 걸리는 시간

  • 콘솔 수동 설정480분
  • 범용 IaC 모듈180분
  • ThingFlash15분

IoT 인프라 전체를 CLI 하나로

커넥티드 디바이스에 필요한 AWS 리소스를 프로비저닝하고, 버전으로 관리하고, 적용 전에 검토합니다 — 리소스가 하나라도 생성되기 전에 말이죠.

thingflash — fleet/ap-northeast-2
$ thingflash init✓ Account 4120‑8817‑2043 · region ap-northeast-2✓ Wrote thingflash.yaml $ thingflash plan  + iot_thing        esp32-sensor-07  + iot_certificate  esp32-sensor-07-cert  + iot_policy       esp32-sensor-07-policy  (least privilege)  + iot_rule         telemetry-to-dynamodb  Plan: 4 to add, 0 to change, 0 to destroy. $ thingflash apply✓ Applied in 41s — device connected over MQTT

프로비저닝

IoT Thing, 인증서, 정책, 엔드포인트를 한 번에 생성합니다. 새 보드를 연결할 때 AWS 콘솔을 열 필요가 없습니다.

보안

디바이스마다 고유한 X.509 인증서와, Thing 이름 및 MQTT 토픽 범위로 제한된 최소 권한 정책이 발급됩니다.

섀도우와 규칙

디바이스 섀도우가 의도한 상태와 보고된 상태를 동기화하고, 규칙(Rules)이 텔레메트리를 필요한 서비스로 전달합니다.

관측 가능성

텔레메트리 파이프라인, 스토리지, CloudWatch 모니터링을 나중에 덧붙이지 않고 플릿과 함께 구성합니다.

매니페스트와 diff로 플릿을 관리하세요

디바이스 정의는 검토하고 브랜치하고 되돌릴 수 있는 평범한 YAML입니다. 확인하기 전에는 아무것도 적용되지 않습니다 — ESP32 프로토타입이든 1,000대 규모 플릿이든 같은 워크플로를 따릅니다.

thingflash.yaml

매니페스트 하나가 플릿 전체를 설명합니다

devices:
  - name: esp32-sensor-07
    type: esp32
    shadow: true
    topics: [things/telemetry]
18
적용 완료
6
적용 대기
  • esp32-sensor
  • rpi-gateway
  • camera-node

선언형 디바이스 매니페스트

Thing, 인증서, 정책, 섀도우, 규칙을 버전 관리되는 YAML로 기술합니다. 브랜치를 만들고 풀 리퀘스트에서 리뷰하고, 저장소의 다른 파일처럼 되돌릴 수 있습니다.

thingflash plan

AWS에 반영되기 전에 변경 사항을 확인합니다

  1. 10:04:12thingflash.yaml 읽는 중
  2. 10:04:13+ IoT Thing esp32-sensor-07
  3. 10:04:13+ 인증서 + 최소 권한 정책
  4. 10:04:14추가 3건, 변경 0건, 삭제 0건

적용 전에 계획 확인

실행할 때마다 생성·변경·삭제될 리소스를 그대로 보여줍니다. 인증서, 정책, 토픽 권한까지 미리 확인할 수 있어 예상치 못한 변경이 계정에 반영되지 않습니다.

모든 리전

같은 매니페스트를 어느 AWS 리전에서나

실시간 텔레메트리

MQTT 메시지가 도착하는 과정을 실시간으로

커넥티드 디바이스는 관리하는 팀보다 더 빠르게 늘어납니다

플릿은 계속 커지는데 이를 연결하는 사람은 그대로입니다. 반복 가능한 프로비저닝이 그 격차를 메웁니다.

커넥티드 제품의 병목은 펌웨어가 아닙니다. 첫 메시지가 도착하기까지 인증서와 정책, 권한에 쓰는 2주입니다.

— ThingFlash 설계 노트

첫 메시지까지

15분

비어 있는 AWS 계정에서

플릿 구성 명령어

3개

init · plan · apply

라이선스 비용

$0

Apache 2.0, 영구 무료

플릿 분석

플릿이 커져도 메시지 양과 디바이스 상태를 한눈에

  • 텔레메트리
  • 섀도우 업데이트
  • 규칙 실행

범용 IaC가 멈추는 지점에서 ThingFlash가 이어받습니다

Terraform은 AWS 리소스를 만드는 데 탁월합니다. 다만 인증서와 최소 권한 정책, 건강한 플릿의 기준에 대해서는 아무 판단도 하지 않습니다 — 그 몫은 그대로 여러분에게 남습니다.

Terraform과 ThingFlash가 다루는 IoT 기능 비교
기능TerraformThingFlash
AWS IoT 리소스 생성기본 제공기본 제공
디바이스 프로비저닝직접 구성기본 제공
인증서·정책 발급직접 구성기본 제공
안전한 기본값IoT 전용 기능 없음기본 제공
텔레메트리 파이프라인 구성직접 구성기본 제공
매니페스트 하나로 플릿 관리IoT 전용 기능 없음기본 제공
위험한 IoT 설정 탐지IoT 전용 기능 없음기본 제공
IoT 전용 배포 계획IoT 전용 기능 없음기본 제공
  • 기본 제공
  • 직접 구성
  • IoT 전용 기능 없음

Terraform은 HashiCorp, Inc.의 상표입니다.

자주묻는 질문(FAQ)

ThingFlash에 대해 자주묻는 질문(FAQ)

정식 출시까지
––일
––시간
––분
––초

오픈소스, 그리고 포크를 전제로 만들었습니다

ThingFlash는 Apache 2.0 라이선스입니다. 소스를 읽고, 이슈를 남기고, 풀 리퀘스트를 보내세요. 비용은 직접 만든 인프라의 AWS 리소스 사용량에 대해서만 발생합니다.

GitHub에서 보기

오픈소스 · Apache 2.0 · 기여를 환영합니다