IT/Network & OS

[AWS] IoT

루벤초이 2022. 2. 21. 23:33

튜토리얼 1편에서 EC2를 만들었을 때 MQTT broker를 설치해서 사용해봤는데요, 1편에서 만든 MQTT broker는 TLS가 적용되지 않은, 즉 HTTP에 해당하는 일반 웹소켓을 사용하므로 AWS Amplify로 호스팅된 HTTPS 사이트와 함께 사용할 때 Mixed Content 오류가 발생합니다.

 

AWS IoT

AWS IoT는 MQTT에 보안 및 AWS 서비스를 엮어 만든 서비스입니다. 당연히 HTTPS를 제공하기 위한 인증서 기반의 암호화 기능이 포함돼 있겠죠. 개념 및 원리는 아래 공식 홈페이지를 한 번 읽어보고

 

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

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

아직 이해가 덜 됐다면 AWS IoT 빠른 연결 시도도 한 번 따라해 봅니다.

이제 본격적으로 우리 앱/서버를 위한 AWS IoT를 설정해 봅시다. 먼저 아래 튜토리얼을 따라 웹 콘솔에서 리소스를 설정하고 인증서를 받습니다.

 

AWS IoT 리소스 만들기 - AWS IoT Core

편의를 위해 이 빠른 시작에서는 와일드카드(*) 문자가 사용됩니다. 보안을 강화하려면 와일드카드 문자 대신 클라이언트 ARN(Amazon 리소스 이름)을 리소스로 지정하여 메시지를 연결하고 게시할

docs.aws.amazon.com

 

 

튜토리얼에서는 인증서를 바탕으로 IoT 디바이스를 구성하는 총 3가지 방법을 소개하고 있어요. 

우리는 동일한 리눅스 PC에서 Node.js 앱과 Python 앱으로 통신해 보도록 합시다.

 

연습 - Sample Apps

먼저 아래 소스로 Node.js 앱을 깔고 cert/ 폴더를 만들어 인증서를 저장하고 samples/pub_sub_js 앱을 실행합니다.

 

 

GitHub - aws/aws-iot-device-sdk-js-v2: Next generation AWS IoT Client SDK for Node.js using the AWS Common Runtime

Next generation AWS IoT Client SDK for Node.js using the AWS Common Runtime - GitHub - aws/aws-iot-device-sdk-js-v2: Next generation AWS IoT Client SDK for Node.js using the AWS Common Runtime

github.com

다음은아래 Python 앱을 깔고 cert/ 폴더를 만들어 인증서를 저장하고 samples/pubsub.py 앱을 실행합니다.

 

GitHub - aws/aws-iot-device-sdk-python-v2: Next generation AWS IoT Client SDK for Python using the AWS Common Runtime

Next generation AWS IoT Client SDK for Python using the AWS Common Runtime - GitHub - aws/aws-iot-device-sdk-python-v2: Next generation AWS IoT Client SDK for Python using the AWS Common Runtime

github.com

두 앱간 통신이 되는 것을 확인합니다.

여기까지 됐다면, command line argument로 받지 않고 직접 코드 안에 하드코딩하여 실행해 봅니다.

728x90
반응형

'IT > Network & OS' 카테고리의 다른 글

[AWS] S3 SDK  (0) 2022.04.09
[AWS] IoT + React App + Amplify  (0) 2022.02.23
[AWS] HTTPS & WSS  (0) 2022.02.09
[AWS] Amplify  (0) 2022.02.09
[AWS] RDS MySQL Prisma  (0) 2022.02.06