기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
허브 온보딩 설정
플릿 프로비저닝 온보딩 프로세스를 시작하기 전에 각 허브 디바이스에 대해 다음 설정 단계를 완료합니다. 이 섹션에서는 관리형 사물을 생성하고, 디렉터리 구조를 설정하고, 필요한 인증서를 구성하는 방법을 설명합니다.
설정 단계
1단계: 사용자 지정 엔드포인트 등록
디바이스가 관리형 통합과 데이터를 교환하는 데 사용하는 전용 통신 엔드포인트를 생성합니다. 이 엔드포인트는 device-to-cloud 메시징에 대한 보안 연결 지점을 설정합니다.
엔드포인트를 등록하려면
-
RegisterCustomEndpoint API를 사용하여 device-to-managed 통합 통신을 위한 엔드포인트를 생성합니다.
RegisterCustomEndpoint 요청 예제
aws iot-managed-integrations register-custom-endpoint
응답:
{ [
ACCOUNT-PREFIX
]-ats.iot.AWS-REGION
.amazonaws.com }참고
엔드포인트 주소를 저장합니다. 향후 디바이스 통신에 필요합니다.
엔드포인트 정보를 반환하려면
GetCustomEndpoint
API를 사용합니다.자세한 내용은 관리형 통합 API 참조 안내서의 RegisterCustomEndpoint API 및 GetCustomEndpoint API를 참조하세요.
2단계: 프로비저닝 프로필 생성
프로비저닝 프로필에는 디바이스가 관리형 통합에 연결하는 데 필요한 보안 자격 증명 및 구성 설정이 포함되어 있습니다.
플릿 프로비저닝 프로필을 생성하려면
-
CreateProvisioningProfile API를 호출하여 다음을 생성합니다.
-
디바이스 연결 설정을 정의하는 프로비저닝 템플릿
-
디바이스 인증을 위한 클레임 인증서 및 프라이빗 키
중요
클레임 인증서, 프라이빗 키 및 템플릿 ID를 안전하게 저장합니다. 디바이스를 관리형 통합에 온보딩하려면 이러한 자격 증명이 필요합니다. 이러한 자격 증명을 분실한 경우 새 프로비저닝 프로파일을 생성해야 합니다.
-
CreateProvisioningProfile
예제 요청
aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME
응답:
{ "Arn":"arn:aws:iotmanagedintegrations:
AWS-REGION
:ACCOUNT-ID
:provisioning-profile/PROFILE-ID
", "ClaimCertificate": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ClaimCertificatePrivateKey": "-----BEGIN RSA PRIVATE KEY----- MIICiTCCAfICCQ...3rrszlaEXAMPLE= -----END RSA PRIVATE KEY-----", "Id": "PROFILE-ID
", "PROFILE-NAME
", "ProvisioningType": "FLEET_PROVISIONING" }
3단계: 관리형 사물 생성(플릿 프로비저닝)
CreateManagedThing
API를 사용하여 허브 디바이스에 대한 관리형 사물을 생성합니다. 각 허브에는 고유한 인증 자료가 있는 자체 관리형 사물이 필요합니다. 자세한 내용은 관리형 통합 API 참조의 CreateManagedThing API를 참조하세요.
관리형 사물을 생성할 때 다음 파라미터를 지정합니다.
-
Role
:이 값을 로 설정합니다CONTROLLER
. -
AuthenticationMaterial
: 다음 필드를 포함합니다.-
SN
:이 디바이스의 고유 일련 번호 -
UPC
:이 디바이스의 범용 제품 코드
-
-
Owner
:이 관리형 사물의 소유자 식별자입니다.
중요
각 디바이스의 인증 자료에는 고유한 일련 번호(SN)가 있어야 합니다.
CreateManagedThing
요청 예제:
{ "Role": "
CONTROLLER
", "Owner": "ThingOwner1
", "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE
", "AuthenticationMaterial": "SN:123456789524
;UPC:829576019524
" }
자세한 내용은 관리형 통합 API 참조의 CreateManagedThing을 참조하세요.
(선택 사항) 관리형 사물 가져오기
UNCLAIMED
계속하려면 관리형 사물ProvisioningStatus
의가 여야 합니다. GetManagedThing
API를 사용하여 관리형 사물이 존재하고 프로비저닝할 준비가 되었는지 확인합니다. 자세한 내용은 관리형 통합 API 참조의 GetManagedThing을 참조하세요.
4단계: 디렉터리 구조 생성
구성 파일 및 인증서의 디렉터리를 생성합니다. 기본적으로 허브 온보딩 프로세스는를 사용합니다/data/aws/iotmi/config/iotmi_config.json
.
구성 파일에서 인증서 및 프라이빗 키에 대한 사용자 지정 경로를 지정할 수 있습니다. 이 가이드에서는 기본 경로를 사용합니다/data/aws/iotmi/certs
.
mkdir -p /data/aws/iotmi/config mkdir -p /data/aws/iotmi/certs /data/ aws/ iotmi/ config/ certs/
5단계: 허브 디바이스에 인증 자료 추가
허브 디바이스에 인증서와 키를 복사한 다음 디바이스별 구성 파일을 생성합니다. 이러한 파일은 프로비저닝 프로세스 중에 허브와 관리형 통합 간의 보안 통신을 설정합니다.
클레임 인증서 및 키를 복사하려면
-
CreateProvisioningProfile
API 응답에서 허브 디바이스로 이러한 인증 파일을 복사합니다.-
claim_cert.pem
: 클레임 인증서(모든 디바이스에 공통) -
claim_pk.key
: 클레임 인증서의 프라이빗 키
/data/aws/iotmi/certs
디렉터리에 두 파일을 모두 배치합니다.중요
인증서와 프라이빗 키를 PEM 형식으로 저장할 때는 줄 바꿈 문자를 올바르게 처리하여 적절한 형식을 지정해야 합니다. PEM 인코딩 파일의 경우 이스케이프된 줄 바꿈을 저장하는 것만으로는 나중에 올바르게 검색되지 않으므로 줄 바꿈 문자를 실제 줄 구분자로 바꿔
(\n)
야 합니다.참고
보안 스토리지를 사용하는 경우 이러한 자격 증명을 파일 시스템 대신 보안 스토리지 위치에 저장합니다. 자세한 내용은 보안 스토리지를 위한 사용자 지정 인증서 핸들러 생성 단원을 참조하십시오.
-
6단계: 디바이스 구성 파일 생성
고유한 디바이스 식별자, 인증서 위치 및 프로비저닝 설정이 포함된 구성 파일을 생성합니다. SDK는 허브 온보딩 중에이 파일을 사용하여 디바이스를 인증하고, 프로비저닝 상태를 관리하고, 연결 설정을 저장합니다.
참고
각 허브 디바이스에는 고유한 디바이스별 값이 있는 자체 구성 파일이 필요합니다.
다음 절차에 따라 구성 파일을 생성하거나 수정하고 허브에 복사합니다.
-
구성 파일(플릿 프로비저닝)을 생성하거나 수정합니다.
디바이스 구성 파일에서 다음 필수 필드를 구성합니다.
-
인증서 경로
-
iot_claim_cert_path
: 클레임 인증서의 위치(claim_cert.pem
) -
iot_claim_pk_path
: 프라이빗 키의 위치(claim_pk.key
) -
보안 스토리지 인증서 핸들러를 구현할 때 두 필드 모두에
SECURE_STORAGE
사용
-
-
연결 설정
-
fp_template_name
: 이전의ProvisioningProfile
이름입니다. -
endpoint_url
:RegisterCustomEndpoint
API 응답의 관리형 통합 엔드포인트 URL입니다(리전의 모든 디바이스에 대해 동일).
-
-
디바이스 식별자
-
SN
:CreateManagedThing
API 호출과 일치하는 디바이스 일련 번호(디바이스당 고유) -
UPC
CreateManagedThing
API 직접 호출의 범용 제품 코드(이 제품의 모든 디바이스에서 동일)
-
{ "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "
<SPECIFY_THIS_FIELD>
", "iot_claim_pk_path": "<SPECIFY_THIS_FIELD>
", "fp_template_name": "<SPECIFY_THIS_FIELD>
", "endpoint_url": "<SPECIFY_THIS_FIELD>
", "SN": "<SPECIFY_THIS_FIELD>
", "UPC": "<SPECIFY_THIS_FIELD>
" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED" } } -
구성 파일의 내용
iotmi_config.json
파일의 내용을 검토합니다.
키 | 값 | 고객이 추가했나요? | Notes |
---|---|---|---|
iot_provisioning_method |
FLEET_PROVISIONING |
예 | 사용할 프로비저닝 방법을 지정합니다. |
iot_claim_cert_path |
또는를 지정하는 파일 경로입니다SECURE_STORAGE . 예: /data/aws/iotmi/certs/claim_cert.pem |
예 | 또는를 사용할 파일 경로를 지정합니다SECURE_STORAGE . |
iot_claim_pk_path |
또는를 지정하는 파일 경로입니다SECURE_STORAGE . 예: /data/aws/iotmi/certs/claim_pk.pem |
예 | 또는를 사용할 파일 경로를 지정합니다SECURE_STORAGE . |
fp_template_name |
플릿 프로비저닝 템플릿 이름은 이전에 ProvisioningProfile 사용된의 이름과 같아야 합니다. |
예 | 이전에 ProvisioningProfile 사용된의 이름과 동일 |
endpoint_url |
관리형 통합을 위한 엔드포인트 URL입니다. | 예 | 디바이스는이 URL을 사용하여 관리형 통합 클라우드에 연결합니다. 이 정보를 얻으려면 RegisterCustomEndpoint API를 사용합니다. |
SN |
디바이스 일련 번호입니다. 예를 들어 AIDACKCEVSQ6C2EXAMPLE 입니다. |
예 | 각 디바이스에 대해이 고유한 정보를 제공해야 합니다. |
UPC |
디바이스 범용 제품 코드. 예를 들어 841667145075 입니다. |
예 | 디바이스에 대해이 정보를 제공해야 합니다. |
managed_thing_id |
관리형 사물의 ID입니다. | 아니요 | 이 정보는 나중에 허브 프로비저닝 후 온보딩 프로세스에 의해 추가됩니다. |
iot_provisioning_state |
프로비저닝 상태입니다. | 예 | 프로비저닝 상태는 로 설정해야 합니다NOT_PROVISIONED . |
iot_permanent_cert_path |
IoT 인증서 경로입니다. 예를 들어 /data/aws/iotmi/iot_cert.pem 입니다. |
아니요 | 이 정보는 나중에 허브 프로비저닝 후 온보딩 프로세스에 의해 추가됩니다. |
iot_permanent_pk_path |
IoT 프라이빗 키 파일 경로입니다. 예를 들어 /data/aws/iotmi/iot_pk.pem 입니다. |
아니요 | 이 정보는 나중에 허브 프로비저닝 후 온보딩 프로세스에 의해 추가됩니다. |
client_id |
MQTT 연결에 사용할 클라이언트 ID입니다. | 아니요 | 이 정보는 나중에 다른 구성 요소가 사용할 수 있도록 허브 프로비저닝 후 온보딩 프로세스에 의해 추가됩니다. |
event_manager_upper_bound |
기본값은 500입니다. | 아니요 | 이 정보는 나중에 다른 구성 요소가 사용할 수 있도록 허브 프로비저닝 후 온보딩 프로세스에 의해 추가됩니다. |
7단계: 구성 파일을 허브에 복사
구성 파일을 /data/aws/iotmi/config
또는 사용자 지정 디렉터리 경로에 복사합니다. 온보딩 프로세스 중에 바이HubOnboarding
너리에 대한이 경로를 제공합니다.
플릿 프로비저닝의 경우
/data/ aws/ iotmi/ config/ iotmi_config.json certs/ claim_cert.pem claim_pk.key