Connecting
AWS IoT Greengrass windows 기반 설치 본문
AWS IoT Greengrass란
AWS IoT Greengrass는 IoT 디바이스에서 클라우드로 데이터를 보내거나 클라우드로부터 명령을 받을 수 있는 서비스입니다. 이를 통해 로컬 환경에서 디바이스 간의 통신과 처리가 가능해집니다.
Greengrass는 AWS 클라우드와 연결된 디바이스 그룹에 설치되며, 디바이스 간의 안전하고 신속한 통신을 제공합니다. 또한, 로컬에서 데이터를 처리하고 분석하는 기능도 제공하여 실시간으로 응답할 수 있습니다.
Greengrass는 자동화된 배포 및 관리 기능으로 개발자들에게 유연성과 용이성을 제공합니다. 이를 통해 비즈니스 요구사항에 맞춰 손쉽게 애플리케이션을 구축할 수 있습니다.
위의 이미지는 AWS IoT Greengrass 아키텍처의 예시입니다. 여기서 Device Gateway는 디바이스와 통신하기 위한 역할을 하며, Local Lambda 함수는 로컬에서 실행되어 데이터를 처리하고 응답합니다.
아래는 AWS IoT Greengrass의 주요 기능입니다:
- 로컬에서 실행되는 Lambda 함수
- MQTT 통신을 이용한 디바이스 간 메시징
- 데이터 필터링 및 변환
- 오프라인 동작 모드 지원
- 보안 및 권한 관리
AWS IoT Greengrass를 사용하면 디바이스와 클라우드 간의 통신을 손쉽게 구축하고, 실시간으로 데이터를 처리할 수 있습니다.
Windows Installation of AWS IoT Greengrass
일반적으로 AWS IoT Greengrass는 리눅스 환경에서만 설치할 수 있도록 제약이 있었습니다. 그러나 AWS IoT Greengrass v2에서는 윈도우 환경에서도 설치가 가능해 짐에 따라서 산업 자동화 환경에서 널리 사용되는 윈도우 운영체제를 활용하여 고객이 로컬 데이터를 수집하고 AWS IoT 및 다른 서비스로 데이터를 전송할 수 있는 기회를 제공합니다.
아래는 AWS IoT Greengrass v2를 윈도우 환경에서 설치하는 방법에 대한 가이드입니다.
Prerequisites
- AWS 계정이 존재해야 합니다.
- 윈도우 버전에 따라서 수행이 불가능 할 수 있습니다. 테스트 버전은 다음과 같습니다.
- Windows 10 22H2
- Windows 11 22H2
- Amazon Corretto 11 JDK 설치가 필요합니다.
- AWS CLI 설치가 필요합니다.
- PsExec 구성이 필요합니다.
- Windows Terminal 설치를 권장합니다.
Installation
STEP 1
아래 링크에서 Amazon Corretto 11 JDK를 다운받고 설치를 진행합니다.
STEP 2
아래 링크에서 AWS CLI Version 2를 다운로드 하고 설치를 진행합니다.
STEP 3
아래 링크에서 Windows Terminal 설치를 진행합니다.
Windows Terminal - Microsoft Store 공식 앱
Windows 터미널은 명령 프롬프트, PowerShell 및 WSL과 같은 명령 줄 도구 및 셸 사용자를 위한 최신의 빠르고 효율적이며 강력한 생산성의 터미널 응용 프로그램입니다. 주요 기능으로는 여러 탭, 창,
apps.microsoft.com
STEP 4
Windows Terminal을 관리자 권한으로 실행하고 위에서 설치한 명령이 정상적으로 설치가 완료 되었는지 확인합니다.
java --version
openjdk 11.0.21 2023-10-17 LTS
OpenJDK Runtime Environment Corretto-11.0.21.9.1 (build 11.0.21+9-LTS)
OpenJDK Server VM Corretto-11.0.21.9.1 (build 11.0.21+9-LTS, mixed mode, emulated-client)
aws --version
aws-cli/2.13.28 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
STEP 5
윈도우 환경에서 별도 계정 생성을 위해 사용되는 PsExec 프로그램을 사용하기 위해 해당 PC에 다음과 같은 명령을 입력하여 사용 가능한 환경인지 확인합니다.
net share
공유 이름 리소스 설명
-------------------------------------------------------------------------------
C$ C:\ 기본 공유
IPC$ 원격 IPC
ADMIN$ C:\Windows 원격 관리
명령을 잘 실행했습니다.
IPC, ADMIN 항목이 정상적으로 표기된다면 다음 링크에서 PsTool을 다운로드 받습니다.
다운로드 받은 파일의 압축을 풀고 PsExec 파일을 C\Windows\System32 폴더로 이동합니다.
관리자 권한으로 실행되어 있는 Windows Terminal 에서 cd C:\Windows\System32\ 경로로 이동하여 psexec 명령을 입력하여 정상적으로 동작하는지 확인합니다.
(권한 동의 화면이 나올경우 동의합니다.)
STEP 6
디바이스 프로비저닝 권한이 있는 IAM 사용자를 생성해야 합니다. AWS IAM 콘솔로 접속합니다.
사용자 → 사용자 생성을 클릭하여 사용자 이름을 GGv2ProvisionUser 으로 지정합니다.

다음을 클릭하고, 직접 정책 연결을 선택하여 다음 권한을 추가합니다.
- IAMFullAccess
- AWSIoTFullAccess
- AWSGreengrassFullAccess
사용자를 생성하고, GGv2ProvisionUser 클릭합니다.

보안 자격 증명 → 액세스 키로 이동하여 액세스 키 만들기를 클릭합니다.



STEP 7
위에서 생성한 IAM 사용자 정보를 통해 AWS CLI 설정을 진행합니다.
aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
다음 명령을 입력하여 정상적으로 계정 정보가 등록되었는지 확인합니다.
aws sts get-caller-identity
STEP 8
AWS IoT Greengrass 디바이스에서 사용할 로컬 사용자를 생성합니다. psexec.exe를 실행하기 위해 C:\Windows\System32 위치로 이동합니다.
이때 반드시 Windows Terminal은 관리자 권한으로 실행되고 있어야 합니다.
net user /add ggc_user <password>
psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:<password>
STEP 9
AWS IoT 콘솔에서 관리 → Greengrass 디바이스 -> 코어 디바이스로 이동합니다.
Greengrass 코어 디바이스 1개 설정 1단계, 2단계 항목에 적절한 이름을 부여하고 3단계 Greengrass 코어 소프트웨어 설치 부분에서 Windows를 선택합니다.

아래 항목 중 설치 관리자 다운로드 및 압축 해제 부분에 명령어 부분을 복사하여 터미널에 붙여넣기 합니다.

이때 터미널 경로는 홈 디렉토리로 지정하여 시스템 폴더에서 작업하지 않도록 합니다.
- 본 예제는 C:\Users\team2 에서 진행하겠습니다.
설치 관리자 파일을 다운로드 진행한 이후, 실행 명령을 입력합니다.

위의 스크린샷과 같이 Successfully set up Nucleus as a system service 출력되면 설치가 잘 진행된 것으로 판단할 수 있습니다.
서비스 등록이 정상적인지 확인하기 위해서 실행 -> services.msc을 입력합니다. 이후 greengrass 서비스가 running 상태로 확인되어야 합니다.
AWS IoT 콘솔로 돌아와서 코어 디바이스 보기를 클릭하여 Greengrass 코어 디바이스가 정상적으로 등록되었는지 확인합니다.

ETC
문제가 발생한 경우 로그 기록은 다음 위치에서 확인할 수 있습니다.
- C:\greengrass\v2\logs
'클라우드' 카테고리의 다른 글
AWS EIC (EC2 Instance Connect) 연결 및 장애 조치 방법 (0) | 2023.11.28 |
---|---|
AWS 전용 호스트를 활용하여 MAC 환경 구축 (0) | 2023.11.06 |
Clickstream Analytics 101 서울리전 배포 (0) | 2023.09.19 |
AWS IoT Core 연동하기 (2) | 2023.09.11 |
AWS RDS for Oracle DB 계정간 마이그레이션 방법 (0) | 2023.06.19 |