AWS IoT Core for LoRaWAN에 대상 추가 - AWS IoT Wireless

AWS IoT Core for LoRaWAN에 대상 추가

AWS IoT Core for LoRaWAN 대상은 AWS 서비스에서 사용할 디바이스의 데이터를 처리하는 AWS IoT 규칙을 설명합니다.

대부분의 LoRaWAN 디바이스는 데이터를 AWS 서비스에서 사용되는 형식으로 AWS IoT Core for LoRaWAN에 전송하지 않기 때문에 AWS IoT 규칙이 이를 먼저 처리해야 합니다. AWS IoT 규칙은 디바이스의 데이터를 해석하는 SQL 문과, SQL 문의 결과를 사용할 서비스로 보내는 주제 규칙 작업을 포함합니다.

대상을 처음으로 추가하는 경우 콘솔을 사용하는 것이 좋습니다.

콘솔을 사용하여 대상 추가

콘솔을 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가에 설명된 대로 콘솔을 사용하여 무선 디바이스를 추가하는 경우, 앞서 설명한 대로 무선 디바이스 사양 및 프로파일을 AWS IoT Core for LoRaWAN에 이미 추가했다면 다음 단계로 진행하여 대상을 추가할 수 있습니다.

또는 AWS IoT 콘솔의 대상(Destinations) 페이지에서 AWS IoT Core for LoRaWAN 대상을 추가할 수도 있습니다.

디바이스의 데이터를 처리하려면, AWS IoT Core for LoRaWAN 대상을 생성할 때 다음 필드를 지정한 다음 대상 추가를 선택합니다.

  • 대상 세부 사항

    대상 이름을 입력하고 대상의 설명(선택 사항)을 입력합니다.

  • 규칙 이름

    디바이스에서 보낸 메시지를 평가하고 디바이스의 데이터를 처리하도록 구성된 AWS IoT 규칙입니다. 규칙 이름이 대상에 매핑됩니다. 대상은 수신하는 메시지를 처리하기 위한 규칙이 필요합니다. AWS IoT 규칙을 호출하거나 AWS IoT 메시지 브로커에 게시하여 메시지를 처리하도록 선택할 수 있습니다.

    • 규칙 이름 입력(Enter a rule name)을 선택하는 경우 이름을 입력한 다음 복사(Copy)를 선택하여 규칙 이름(AWS IoT 규칙을 생성할 때 입력)을 복사합니다. 규칙 생성을 선택하여 지금 규칙을 생성하거나, AWS IoT 콘솔의 규칙 허브로 이동하여 해당 이름으로 규칙을 생성할 수 있습니다.

      규칙을 입력하고 고급(Advanced) 설정을 사용하여 주제 이름을 지정할 수도 있습니다. 주제 이름은 규칙 호출 중에 제공되며 규칙 내에서 topic 표현식을 사용하여 액세스됩니다. AWS IoT 규칙에 대한 자세한 내용은 https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html 섹션을 참조하세요.

    • AWS IoT 메시지 브로커에 게시를 선택하는 경우 주제 이름을 입력합니다. 그런 다음 MQTT 주제 이름을 복사하면 여러 구독자가 이 주제를 구독하여 해당 주제에 게시된 메시지를 받을 수 있습니다. 자세한 내용은 https://docs.aws.amazon.com/iot/latest/developerguide/topics.html 단원을 참조하십시오.

    대상의 AWS IoT 규칙에 대한 자세한 내용은 LoRaWAN 디바이스 메시지를 처리하는 규칙 만들기 단원을 참조하세요.

  • 역할 이름

    규칙 이름(Rule name)에서 명명된 규칙에 액세스할 수 있는 디바이스의 데이터 권한을 부여하는 IAM 역할입니다. 콘솔에서 새 서비스 역할을 생성하거나 기존 서비스 역할을 선택합니다. 새 서비스 역할을 생성하는 경우 역할 이름(예: IoTWirelessDestinationRole)을 입력하거나 AWS IoT Core for LoRaWAN이 새 역할 이름을 생성할 수 있도록 비워 둘 수 있습니다. 그러면 AWS IoT Core for LoRaWAN이 사용자를 대신하여 적절한 권한이 있는 IAM 역할을 자동으로 생성합니다.

    IAM 역할에 대한 자세한 내용은 IAM 역할 사용을 참조하세요.

API를 사용하여 대상 추가

대신 CLI를 사용하여 대상을 추가하려면 이미 대상에 대한 규칙 및 IAM 역할을 생성했어야 합니다. 역할에서 대상에 필요한 세부 정보에 대한 자세한 내용은 대상에 대한 IAM 역할 생성 섹션을 참조하세요.

다음 목록에는 대상 추가, 업데이트 또는 삭제와 관련된 작업을 수행하는 API 작업이 포함되어 있습니다.

AWS IoT Core for LoRaWAN 리소스 생성 및 관리에 사용할 수 있는 작업 및 데이터 유형의 전체 목록은 AWS IoT Wireless API 참조를 참조하세요.

AWS CLI를 사용하여 대상을 추가하는 방법

AWS CLI를 사용하여 create-destination 명령으로 대상을 추가할 수 있습니다. 다음 예에서는 RuleNameexpression-type 파라미터 값으로 사용하여 규칙 이름을 입력하여 대상을 생성하는 방법을 보여줍니다. 메시지 브로커에 게시하거나 구독하기 위한 주제 이름을 지정하려면 expression-type 파라미터의 값을 MqttTopic으로 변경합니다.

aws iotwireless create-destination \ --name IoTWirelessDestination \ --expression-type RuleName \ --expression IoTWirelessRule \ --role-arn arn:aws:iam::123456789012:role/IoTWirelessDestinationRole

이 명령을 실행하면 지정된 대상 이름, 규칙 이름 및 역할 이름을 가진 대상이 만들어집니다. 대상의 규칙 및 역할 이름에 대한 자세한 내용은 LoRaWAN 디바이스 메시지를 처리하는 규칙 만들기대상에 대한 IAM 역할 생성 단원을 참조하세요.

사용할 수 있는 CLI에 대한 자세한 내용은 AWS CLI참조를 참조하세요.

대상에 대한 IAM 역할 생성

AWS IoT Core for LoRaWAN 대상은 AWS IoT 규칙으로 데이터를 전송하는 데 필요한 권한을 AWS IoT Core for LoRaWAN에 부여하는 IAM 역할이 필요합니다. 이러한 역할이 아직 정의되지 않은 경우 역할 목록에 표시되도록 정의해야 합니다.

콘솔을 사용하여 대상을 추가하면 이 주제의 앞부분에서 설명한 대로 AWS IoT Core for LoRaWAN에서 자동으로 IAM 역할을 생성합니다. API 또는 CLI를 사용하여 대상을 추가하는 경우 대상에 대한 IAM 역할을 생성해야 합니다.

AWS IoT Core for LoRaWAN 대상 역할에 대한 IAM 정책을 생성하는 방법
  1. IAM 콘솔의 정책 허브를 엽니다.

  2. 정책 생성을 선택한 후 JSON 탭을 선택합니다.

  3. 편집기에서 편집기의 모든 내용을 삭제하고 이 정책 문서를 붙여 넣습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:DescribeEndpoint", "iot:Publish" ], "Resource": "*" } ] }
  4. 정책 검토를 선택하고 이름에 이 정책의 이름을 입력합니다. 다음 절차에서 이 이름을 사용해야 합니다.

    또한 이 정책을 설명에 기술할 수도 있습니다(원하는 경우).

  5. 정책 생성을 선택합니다.

AWS IoT Core for LoRaWAN 대상에 대한 IAM 역할을 생성하는 방법
  1. IAM 콘솔의 역할 허브를 열고 역할 생성을 선택합니다.

  2. 신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)에서 다른 AWS 계정을 선택합니다.

  3. 계정 ID에 AWS 계정 ID를 입력한 후 다음: 권한을 선택합니다.

  4. 검색 상자에 이전 절차에서 생성한 IAM 정책의 이름을 입력합니다.

  5. 검색 결과에서 이전 절차에서 생성한 IAM 정책의 이름을 선택합니다.

  6. Next: Tags(다음: 태그)를 선택한 후 Next: Review(다음: 검토)를 선택합니다.

  7. 역할 이름에 이 역할의 이름을 입력한 후 역할 생성을 선택합니다.

  8. 확인 메시지에서 생성한 역할의 이름을 선택하여 새 역할을 편집합니다.

  9. 요약(Summary)에서 신뢰 관계(Trust relationships) 탭을 선택한 다음 신뢰 관계 편집(Edit trust relationship)을 선택합니다.

  10. 정책 문서에서 Principal 속성을 다음 예시처럼 변경합니다.

    "Principal": { "Service": "iotwireless.amazonaws.com" },

    Principal 속성을 변경한 후 전체 정책 문서가 다음 예시와 같은 형식이어야 합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotwireless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
  11. 변경 사항을 저장하고 종료하려면 신뢰 정책 업데이트(Update Trust Policy)를 선택합니다.

이 역할이 정의되어 있으면 AWS IoT Core for LoRaWAN 대상을 구성할 때 역할 목록에서 해당 역할을 찾을 수 있습니다.