AWS FOTA를 위한 S3 준비
S3는 Cloud Storage에 대한 AWS 서비스 중에 하나이다.
AWS 기반의 IoT를 구현한다고 해서 반드시 S3를 이용해 FOTA를 구현해야 하는 것은 아니므로 여기서는 단지 참고용으로 보면 되겠다.
이 페이지에서는 AWS S3에 Bucket을 만들고 파일을 Upload하는 방법에 대해서 간단히 살펴 볼 것이다.
1. S3 Storage Service 진입
AWS Management Console → Storage → S3 선택
2. Bucket 만들기
S3 에서 Bucket 만들기 클릭 → Bucket 이름을 임으로 정해 기입 → 저아래로 화면 스크롤해서 “Bucket 만들기 클릭”
3. Bucket에 File/FW 업로드
♦ FW Upload
Bucket에서 “Upload” 클릭 → “File 추가”에서 Upload할 FW 선택 → 화면을 스크롤 하여 저아래에 있는 “Upload” 실행
♦ Job Description File Upload
Job은 AWS IoT에 접속된 디바이스로 보내져, FW updates, Reboot, 등 디바이스가 수행해야하는 일련의 명령을 전달할 수 있는 수단중 하나이다.
Job에 대한 명세는 JSON 구문(Job Description)으로 작성된다. 간단하게 Job을 Description 하여 S3 버킷에 업로드 해보자.
예로, 아래와 같은 JSON 형식의 내용을 윈도우즈 메모장에서 작성 →”momo-fota.json” 으로 제목을 붙이고 Bucket에 Upload 해 둔다.
추후 이 파일의 내용(Jobs)는 MQTT를 통해 메시지로 Publish 될 수 있을 것이다.
{
“operation”: “OTA.Host”,
“firmware_version”: “1.0.0.1”,
“url”: “https://- – – – – – – – – – – helloworld@emc3280.ota.bin”
}
4. Bucket과 객체의 Access 권한 설정
♦ Bucket에 대한 Access 권한 설정
아직 Access 권한에 대한 정책을 잘 모르거나, 없으므로 시험을 단순하게 진행하기 위해서
Public Access 차단을 활성화 → 비활성화로 변경하여 Bucket의 객체/리소스를 자유롭게 액세스할 수 있도록 잠시 개방한다.
주의: Public Access 차단을 비활성화 한 상태에서는 리소스의 URL을 안다면 누근든지 버킷의 리소스에 액세스가 가능하게 된다.
이로 인해, AWS로 부터 과도한 과금이 청구 될 수 있으니, 시험을 완료한 후에는 반드시 다시 활성화를 해놓도록 한다.
추후 S3에 대해 충분히 학습한 후 Access 권한 등, S3에 대한 정책을 수립한 뒤 권한이 없이는 액세스를 할 수 없도록 설정한다.
.
♦ 객체에 대한 Access 권한 설정
시험을 완료한 후에는 반드시 Bucket의 Public 액세스 차단을 활성화 해주어 권한이 없이는 액세스를 할 수 없도록 각별히 주의한다.