기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
자습서: AWS IoT에서 디바이스 프로비저닝
이 섹션에서는 튜토리얼에서 사용할 AWS IoT Core 리소스를 생성합니다.
AWS IoT에서 디바이스를 프로비저닝하는 단계
1단계: 디바이스 섀도우에 대한 AWS IoT 정책 생성
X.509 인증서는 AWS IoT Core로 디바이스를 인증합니다. AWS IoT 정책은 디바이스가 디바이스 섀도우 서비스에서 사용하는 MQTT 예약 주제에 대한 구독 또는 게시와 같은 AWS IoT 작업을 수행하도록 허용하는 인증서에 연결됩니다. 디바이스는 AWS IoT Core에 연결하고 메시지를 전송할 때 인증서를 제시합니다.
이 절차에서는 디바이스가 예제 프로그램을 실행하는 데 필요한 AWS IoT 작업을 수행하도록 허용하는 정책을 만듭니다. 작업을 수행하는 데 필요한 권한만 부여하는 정책을 생성하는 것이 좋습니다. 먼저 AWS IoT 정책을 만든 다음 나중에 만들 디바이스 인증서에 연결합니다.
AWS IoT 정책을 생성하려면
-
왼쪽 메뉴에서 보안(Secure)을 선택한 다음 정책(Policies)을 선택합니다. 계정에 기존 정책이 있는 경우 생성(Create)을 선택하고, 그렇지 않은 경우 아직 정책이 없습니다(You don’t have a policy yet) 페이지에서 정책 생성(Create a policy)을 선택합니다.
-
정책 생성 페이지에서 다음을 수행합니다.
-
이름(Name) 필드에 정책 이름(예:
My_Device_Shadow_policy
)을 입력합니다. 정책 이름에 개인 식별 정보를 사용하면 안 됩니다. -
정책 문서에서, MQTT 예약 주제를 게시하고 구독할 수 있는 권한을 디바이스에 부여하는 연결, 구독, 수신 및 게시 작업을 설명합니다.
다음 샘플 정책을 복사하여 정책 문서에 붙여넣습니다.
thingname
을, 생성할 사물의 이름(예:My_light_bulb
)으로 바꾸고,region
을, 서비스를 사용 중인 AWS IoT 리전으로 바꾸고,account
를 AWS 계정 번호로 바꿉니다. AWS IoT 정책에 대한 자세한 내용은 AWS IoT Core 정책 단원을 참조하세요.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:region:account:client/test-*" } ] }
-
2단계: 사물 리소스를 만들고 정책을 사물에 연결
AWS IoT에 연결된 디바이스는 AWS IoT 레지스트리에서 사물 리소스로 표현됩니다. 사물 리소스는 이 자습서의 전구와 같은 특정 디바이스 또는 논리적 엔터티를 나타냅니다.
AWS IoT에서 사물을 만드는 방법을 배우려면 사물 객체 만들기에 설명된 단계를 따르세요. 이 자습서의 단계를 수행할 때 주의해야 할 주요 사항은 다음과 같습니다.
-
단일 사물 생성(Create a single thing)을 선택하고 이름(Name) 필드에 이전에 정책을 생성할 때 지정한
thingname
(예:My_light_bulb
)과 동일한 사물의 이름을 입력합니다.사물 이름이 생성된 이후에는 그 이름을 바꿀 수 없습니다.
thingname
이 아닌 다른 이름을 부여했다면thingname
이라는 이름으로 새 것을 만들고 이전 것을 삭제하세요.참고
사물 이름에 개인 식별 정보를 사용하면 안 됩니다. 사물 이름은 암호화되지 않은 통신 및 보고서에 나타날 수 있습니다.
-
인증서 생성됨(Certificate created!) 페이지의 각 인증서 파일을, 쉽게 찾을 수 있는 위치에 다운로드하는 것이 좋습니다. 샘플 애플리케이션을 실행하려면 이러한 파일을 설치해야 합니다.
Raspberry Pi의
home
디렉터리에 있는certs
하위 디렉터리에 파일을 다운로드하고 다음 표에서 제안하는 대로 각각의 이름을 더 간단한 이름으로 지정하는 것이 좋습니다.인증서 파일 이름 파일
파일 경로
루트 CA 인증서
~/certs/Amazon-root-CA-1.pem
디바이스 인증서
~/certs/device.pem.crt
프라이빗 키
~/certs/private.pem.key
-
AWS IoT에 대한 연결을 활성화하기 위해 인증서를 활성화한 후 정책 연결(Attach a policy)을 선택하고 이전에 생성한 정책(예:
My_Device_Shadow_policy
)을 사물에 연결했는지 확인합니다.사물을 생성한 후에는 AWS IoT 콘솔의 사물 목록에 사물 리소스가 표시되는 것을 볼 수 있습니다.
3단계: 결과 및 다음 단계 검토
이 자습서에서는 다음을 수행하는 방법을 알아보았습니다.
-
Raspberry Pi 디바이스 설정 및 구성.
-
디바이스가 AWS IoT 서비스와 상호 작용할 수 있도록 승인하는 AWS IoT 정책 문서 생성.
-
사물 리소스 및 연결된 X.509 디바이스 인증서를 만들고 여기에 정책 문서 연결.
다음 단계
이제 AWS IoT Device SDK for Python을 설치하고, shadow.py
샘플 애플리케이션을 실행하고, 디바이스 섀도우를 사용하여 상태를 제어할 수 있습니다. 이 자습서를 실행하는 방법에 대한 자세한 내용은 자습서: 디바이스 SDK 설치 및 디바이스 섀도우용 샘플 애플리케이션 실행 단원을 참조하세요.