

# AWS IoT Core for LoRaWAN 제어 영역 API 엔드포인트 온보딩
<a name="lorawan-onboard-control-endpoint"></a>

AWS IoT Core for LoRaWAN 제어 영역 API 엔드포인트를 사용하여 AWS IoT 무선 API와 상호 작용할 수 있습니다. 예를 들어 이 엔드포인트를 사용하여 [SendDataToWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html) API를 실행해 AWS IoT에서 LoRaWAN 디바이스로 데이터를 전송할 수 있습니다. 자세한 내용은 [AWS IoT Core for LoRaWAN 제어 영역 API 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core.html#iot-wireless-control-plane-endpoints)를 참조하세요.

Amazon VPC에서 호스팅되는 클라이언트를 사용하여 AWS PrivateLink에서 구동되는 제어 영역 엔드포인트에 액세스할 수 있습니다. 이러한 엔드포인트는 공용 인터넷을 통해 연결하는 대신 Virtual Private Cloud(VPC)의 인터페이스 엔드포인트를 통해 AWS IoT 무선 API에 연결하는 데 사용할 수 있습니다.

**Topics**
+ [Amazon VPC 및 서브넷 생성](#create-vpc)
+ [서브넷에서 Amazon EC2 인스턴스 시작](#launch-ec2-instance)
+ [Amazon VPC 인터페이스 엔드포인트 생성](#create-vpc-endpoint)
+ [엔드포인트 인터페이스와의 연결 테스트](#connect-vpc-endpoint)

## Amazon VPC 및 서브넷 생성
<a name="create-vpc"></a>

인터페이스 엔드포인트에 연결하려면 먼저 VPC 및 서브넷을 생성해야 합니다. 그런 다음 서브넷에서 EC2 인스턴스를 시작하여 인터페이스 엔드포인트에 연결하는 데 사용할 수 있습니다.

VPC를 생성하려면:

1. Amazon VPC 콘솔의 [VPC](https://console.aws.amazon.com/vpc/home#/vpcs) 페이지로 이동하여 **VPC 생성**을 선택합니다.

1. **VPC 생성** 페이지에서:
   + **VPC 이름 태그 - 선택 사항**에 이름(예: **VPC-A**)을 입력합니다.
   + IPv4 CIDR 블록에서 VPC의 IPv4 주소 범위(예: **10.100.0.0/16**)를 입력합니다.

1. 다른 필드에 대한 기본값을 유지하고 **VPC 생성**을 선택합니다.

서브넷을 생성하려면:

1. Amazon VPC 콘솔의 [서브넷](https://console.aws.amazon.com/vpc/home#/subnets) 페이지로 이동하여 **서브넷 생성**을 선택합니다.

1. **서브넷 생성** 페이지에서:
   + **VPC ID**에서, 앞서 생성한 VPC(예: `VPC-A`)를 선택합니다.
   + **서브넷 이름**에 이름(예: **Private subnet**)을 입력합니다.
   + 서브넷의 **가용 영역**을 선택합니다.
   + **IPv4 CIDR 블록**에 서브넷의 IP 주소 블록(예: **10.100.0.0/24**)을 CIDR 형식으로 입력합니다.

1. 서브넷을 생성하여 VPC에 추가하려면 **서브넷 생성**을 선택합니다.

자세한 내용은 [VPC 및 서브넷 관련 작업](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)을 참조하세요.

## 서브넷에서 Amazon EC2 인스턴스 시작
<a name="launch-ec2-instance"></a>

EC2 인스턴스를 시작하려면:

1. [Amazon EC2](https://console.aws.amazon.com/ec2/home#/) 콘솔로 이동하여 **인스턴스 시작**을 선택합니다.

1. AMI의 경우 **Amazon Linux 2 AMI(HVM), SSD 볼륨 유형**을 선택한 다음 **t2 micro** 인스턴스 유형을 선택합니다. 인스턴스 세부 정보를 구성하려면 **다음**을 선택합니다.

1. **인스턴스 세부 정보 구성** 페이지에서:
   + **네트워크**에서, 앞서 생성한 VPC(예: `VPC-A`)를 선택합니다.
   + **서브넷**에서, 앞서 생성한 서브넷(예: **Private subnet**)을 선택합니다.
   + **IAM 역할(IAM role)**에서 **AWSIoTWirelessFullAccess** 역할을 선택하여 AWS IoT Core for LoRaWAN 전체 액세스 정책을 부여합니다. 자세한 내용은 [`AWSIoTWirelessFullAccess` 정책 요약](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullAccess$serviceLevelSummary)을 참조하세요.
   + **프라이빗 IP 가정(Assume Private IP)**에서 IP 주소(예: **10.100.0.42**)를 사용합니다.

1. **다음: 스토리지 추가**를 선택한 후 **다음: 태그 추가**를 선택합니다. 필요에 따라 EC2 인스턴스에 연결하기 위해 태그를 추가할 수 있습니다. **다음: 보안 그룹 구성(Next: Configure Security Group)**을 선택합니다.

1. **보안 그룹 구성** 페이지에서 다음을 허용하도록 보안 그룹을 구성합니다.
   + 소스의 **모든 TCP**를 `10.200.0.0/16`(으)로 엽니다.
   + 소스의 **모든 ICMP - IPV4**를 `10.200.0.0/16`(으)로 엽니다.

1. 인스턴스 세부 정보를 검토하고 EC2 인스턴스를 시작하려면 **검토 및 시작**을 선택합니다.

자세한 내용은 [Amazon EC2 Linux 인스턴스 시작하기](https://docs.aws.amazon.com/AWSEC2/latest/userguide/EC2_GetStarted.html)를 참조하세요.

## Amazon VPC 인터페이스 엔드포인트 생성
<a name="create-vpc-endpoint"></a>

VPC에 대한 VPC 엔드포인트를 생성한 다음 EC2 API에서 액세스할 수 있습니다. 엔드포인트를 생성하려면:

1. [VPC](https://console.aws.amazon.com/vpc/home#/endpoints) **엔드포인트** 콘솔로 이동하고 **엔드포인트 생성**을 선택합니다.

1. **엔드포인트 생성** 페이지에서 다음 정보를 지정합니다.
   + **서비스 범주**에서 **AWS 서비스**를 선택합니다.
   + **서비스 이름**에 키워드 **iotwireless**를 입력하여 검색합니다. 표시된 `iotwireless` 서비스 목록에서 해당 리전의 제어 영역 API 엔드포인트를 선택합니다. 엔드포인트 형식은 `com.amazonaws.region.iotwireless.api`이(가) 될 것입니다.
   + **VPC** 및 **서브넷**에서 엔드포인트를 생성하려는 VPC 및 엔드포인트 네트워크를 생성하려는 가용 영역(AZ)을 선택합니다.
**참고**  
`iotwireless` 서비스가 모든 가용 영역을 지원할 수 있는 것은 아닙니다.
   + **DNS 이름 활성화(Enable DNS name)**에서 **이 엔드포인트에 대해 활성화(Enable for this endpoint)**를 선택합니다.

     이 옵션을 선택하면 DNS가 자동으로 확인되고 Amazon Route 53 Public Data Plane의 경로가 생성되므로 나중에 연결을 테스트하는 데 사용하는 API가 privatelink 엔드포인트를 통과합니다.
   + **보안 그룹**에서 엔드포인트 네트워크 인터페이스와 연결하려는 보안 그룹을 선택합니다.
   + 선택적으로 태그를 추가하거나 제거할 수 있습니다. 태그는 엔드포인트와 연결하는 데 사용하는 이름-값 페어입니다.

1. VPC 엔드포인트를 생성하려면 **엔드포인트 생성**을 선택합니다.

## 엔드포인트 인터페이스와의 연결 테스트
<a name="connect-vpc-endpoint"></a>

SSH를 사용하여 Amazon EC2 인스턴스에 액세스한 다음 AWS CLI를 사용하여 프라이빗 링크 인터페이스 엔드포인트에 연결할 수 있습니다.

인터페이스 엔드포인트에 연결하기 전에 [Linux에서 AWS CLI 버전 2 설치, 업그레이드 및 설치 제거](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html)에 설명된 지침에 따라 최신 AWS CLI 버전을 다운로드합니다.

다음 예제에서는 CLI를 사용하여 인터페이스 엔드포인트에 대한 연결을 테스트하는 방법을 보여줍니다.

```
aws iotwireless create-service-profile \ 
    --endpoint-url https://api.iotwireless.region.amazonaws.com  \ 
    --name='test-privatelink'
```

다음 예제에서는 명령 실행 예제를 보여줍니다.

```
Response:
{
 "Arn": "arn:aws:iotwireless:region:acct_number:ServiceProfile/1a2345ba-4c5d-67b0-ab67-e0c8342f2857",
 "Id": "1a2345ba-4c5d-67b0-ab67-e0c8342f2857"
}
```

마찬가지로 다음 명령을 실행하여 서비스 프로파일 정보를 가져오거나 모든 서비스 프로파일을 나열할 수 있습니다.

```
aws iotwireless get-service-profile \ 
    --endpoint-url https://api.iotwireless.region.amazonaws.com  
    --id="1a2345ba-4c5d-67b0-ab67-e0c8342f2857"
```

다음은 list-device-profiles 명령의 예입니다.

```
aws iotwireless list-device-profiles \ 
    --endpoint-url https://api.iotwireless.region.amazonaws.com
```