기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 Raspberry Pi 프로비저닝 AWS IoT
이 섹션의 절차는 및 AWS IoT Device Client가 AWS CLI 설치된 저장된 microSD 이미지로 시작하여 에서 Raspberry Pi를 프로비저닝하는 AWS IoT 리소스 및 디바이스 인증서를 생성합니다 AWS IoT.
Raspberry Pi에 microSD 카드를 설치합니다.
이 절차는 필요한 소프트웨어가 로드되고 Raspberry Pi에 구성된 상태로 microSD 카드를 설치하고 이 학습 경로의 자습서를 계속할 수 AWS 계정 있도록 를 구성합니다.
이 학습 경로의 연습 및 튜토리얼에 필요한 소프트웨어가 있는 (선택 사항) microSD 카드 이미지 저장의 microSD 카드를 사용합니다.
Raspberry Pi에 microSD 카드를 설치하려면
-
Raspberry Pi의 전원을 분리한 상태에서 microSD 카드를 Raspberry Pi에 삽입합니다.
-
Raspberry Pi에 전원을 공급합니다.
-
약 1분 후 로컬 호스트 컴퓨터에서 터미널 창 세션을 다시 시작하고 Raspberry Pi에 로그인합니다.
-
로컬 호스트 컴퓨터의 터미널 창에서 Raspberry Pi의 액세스 키 ID(Access Key ID) 및 비밀 액세스 키(Secret Access Key) 자격 증명을 사용하여
-
다음 명령을 사용하여 앱 AWS 구성을 실행합니다.
aws configure
-
메시지가 표시되면 AWS 계정 자격 증명 및 구성 정보를 입력합니다.
AWS Access Key ID [****************YXYX]:
your Access Key ID
AWS Secret Access Key [****************YXYX]:your Secret Access Key
Default region name [us-west-2]:your AWS 리전 code
Default output format [json]:json
-
AWS 계정 자격 증명을 복원한 후에는 로 계속 진행할 준비가 되었습니다에서 디바이스 프로비저닝 AWS IoT Core.
에서 디바이스 프로비저닝 AWS IoT Core
이 섹션의 절차는 에서 Raspberry Pi를 프로비저닝하는 AWS IoT 리소스를 생성합니다 AWS IoT. 이러한 리소스를 생성할 때 다양한 정보를 기록하라는 메시지가 나타납니다. 이 정보는 다음 절차에서 AWS IoT Device Client 구성에 사용됩니다.
Raspberry Pi가 에서 작동하려면 프로비저닝해야 AWS IoT합니다. 프로비저닝은 Raspberry Pi를 IoT 디바이스로 지원하는 데 필요한 AWS IoT 리소스를 생성하고 구성하는 프로세스입니다.
Raspberry Pi의 전원을 켜고 다시 시작한 상태에서 로컬 호스트 컴퓨터의 터미널 창을 Raspberry Pi에 연결하고 이 절차를 완료합니다.
이 섹션의 절차:
디바이스 인증서 파일 생성 및 다운로드
이 절차는 이 데모에 대한 디바이스 인증서 파일을 생성합니다.
Raspberry Pi에 대한 디바이스 인증서 파일을 생성하고 다운로드하려면
-
로컬 호스트 컴퓨터의 터미널 창에서 이 명령을 입력하여 디바이스에 대한 디바이스 인증서 파일을 생성합니다.
mkdir ~/certs/testconn aws iot create-keys-and-certificate \ --set-as-active \ --certificate-pem-outfile "~/certs/testconn/device.pem.crt" \ --public-key-outfile "~/certs/testconn/public.pem.key" \ --private-key-outfile "~/certs/testconn/private.pem.key"
이 명령은 다음과 같은 응답을 반환합니다. 나중에 사용하기 위해
값을 적어 둡니다.certificateArn
{ "certificateArn": "
arn:aws:iot:us-west-2:57EXAMPLE833:cert/76e7e4edb3e52f52334be2f387a06145b2aa4c7fcd810f3aea2d92abc227d269
", "certificateId": "76e7e4edb3e52f5233EXAMPLE7a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgI_SHORTENED_FOR_EXAMPLE_Lgn4jfgtS\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BA_SHORTENED_FOR_EXAMPLE_ImwIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQE_SHORTENED_FOR_EXAMPLE_T9RoDiukY\n-----END RSA PRIVATE KEY-----\n" } } -
이 명령을 입력하여 인증서 디렉터리와 해당 파일에 대한 권한을 설정합니다.
chmod 745 ~ chmod 700 ~/certs/testconn chmod 644 ~/certs/testconn/* chmod 600 ~/certs/testconn/private.pem.key
-
이 명령을 실행하여 인증서 디렉터리 및 파일에 대한 권한을 검토합니다.
ls -l ~/certs/testconn
명령의 출력은 파일 날짜와 시간이 다르다는 점을 제외하고 여기에 표시되는 것과 같아야 합니다.
-rw-r--r-- 1 pi pi 1220 Oct 28 13:02 device.pem.crt -rw------- 1 pi pi 1675 Oct 28 13:02 private.pem.key -rw-r--r-- 1 pi pi 451 Oct 28 13:02 public.pem.key
이 시점에서 Raspberry Pi에 디바이스 인증서 파일이 설치되어 있고 AWS IoT 리소스 생성을 계속할 수 있습니다.
AWS IoT 리소스 생성
이 절차는 디바이스가 AWS IoT 기능 및 서비스에 액세스하는 데 필요한 리소스를 생성 AWS IoT 하여 디바이스를 에 프로비저닝합니다.
에서 디바이스를 프로비저닝하려면 AWS IoT
-
로컬 호스트 컴퓨터의 터미널 창에서 이 명령을 입력하여 AWS 계정의 디바이스 데이터 엔드포인트 주소를 가져옵니다.
aws iot describe-endpoint --endpoint-type IoT:Data-ATS
이전 단계의 명령에서 다음과 같은 응답이 반환됩니다. 나중에 사용하기 위해
값을 적어 둡니다.endpointAddress
{ "endpointAddress": "
a3qjEXAMPLEffp-ats.iot.us-west-2.amazonaws.com
" } -
Raspberry Pi에 대한 AWS IoT 사물 리소스를 생성하려면 이 명령을 입력합니다.
aws iot create-thing --thing-name "DevCliTestThing"
AWS IoT 사물 리소스가 생성된 경우 명령은 이와 같은 응답을 반환합니다.
{ "thingName": "DevCliTestThing", "thingArn": "arn:aws:iot:us-west-2:57EXAMPLE833:thing/DevCliTestThing", "thingId": "8ea78707-32c3-4f8a-9232-14bEXAMPLEfd" }
-
터미널 창에서
-
nano
등의 텍스트 편집기를 엽니다. -
이 JSON 정책 문서를 복사하여 열린 텍스트 편집기에 붙여넣습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect" ], "Resource": [ "*" ] } ] }
참고
이 정책 문서는 모든 리소스에 연결, 수신, 게시 및 구독을 위한 권한을 충분히 부여합니다. 일반적으로 정책은 특정 리소스에만 특정 작업을 수행할 수 있는 권한만 부여합니다. 그러나 초기 디바이스 연결 테스트의 경우 이 테스트 중 액세스 문제 발생 가능성을 최소화하기 위해 이 지나치게 일반적이고 허용적인 정책이 사용됩니다. 후속 튜토리얼에서는 정책 설계의 더 나은 사례를 보여주기 위해 보다 좁은 범위의 정책 문서를 사용할 것입니다.
-
텍스트 편집기에서 파일을
~/policies/dev_cli_test_thing_policy.json
으로 저장합니다.
-
-
이 명령을 실행하여 이전 단계의 정책 문서를 사용하여 AWS IoT 정책을 생성합니다.
aws iot create-policy \ --policy-name "DevCliTestThingPolicy" \ --policy-document "file://~/policies/dev_cli_test_thing_policy.json"
정책이 생성되면 명령에서 다음과 같은 응답을 반환합니다.
{ "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy", "policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Publish\",\n \"iot:Subscribe\",\n \"iot:Receive\",\n \"iot:Connect\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n", "policyVersionId": "1" }
-
이 명령을 실행하여 디바이스 인증서에 정책을 연결합니다.
을 이전에 저장한certificateArn
certificateArn
값으로 바꿉니다.aws iot attach-policy \ --policy-name "DevCliTestThingPolicy" \ --target "
certificateArn
"성공한 경우 이 명령은 아무 것도 반환하지 않습니다.
-
이 명령을 실행하여 디바이스 인증서를 AWS IoT 사물 리소스에 연결합니다.
을 이전에 저장한certificateArn
certificateArn
값으로 바꿉니다.aws iot attach-thing-principal \ --thing-name "DevCliTestThing" \ --principal "
certificateArn
"성공한 경우 이 명령은 아무 것도 반환하지 않습니다.
에서 디바이스를 성공적으로 프로비저닝한 후에는 로 계속할 준비가 AWS IoT되었습니다연결을 테스트하도록 AWS IoT Device Client 구성.