

# AWS IoT Core for LoRaWAN 데이터 영역 API 엔드포인트 온보딩
<a name="onboard-lns-cups-endpoints"></a>

AWS IoT Core for LoRaWAN 데이터 영역 엔드포인트는 다음 엔드포인트로 구성됩니다. 게이트웨이를 AWS IoT Core for LoRaWAN에 추가할 때 이러한 엔드포인트를 얻습니다. 자세한 내용은 [AWS IoT Core for LoRaWAN에 게이트웨이 추가](lorawan-onboard-gateway-add.md) 단원을 참조하십시오.
+ 

**LoRaWAN 네트워크 서버(LNS) 엔드포인트**  
LNS 엔드포인트의 형식은 `account-specific-prefix.lns.lorawan.region.amazonaws.com`입니다. 이 엔드포인트를 사용하여 LoRA 업링크 및 다운링크 메시지를 교환하기 위한 연결을 설정할 수 있습니다.
+ 

**Configuration and Update Server(CUPS) 엔드포인트**  
CUPS 엔드포인트의 형식은 `account-specific-prefix.cups.lorawan.region.amazonaws.com`입니다. 게이트웨이의 자격 증명 관리, 원격 구성 및 펌웨어 업데이트에 이 엔드포인트를 사용할 수 있습니다.

자세한 내용은 [CUPS 및 LNS 프로토콜 사용](lorawan-manage-gateways.md#lorawan-cups-lns-protocols) 단원을 참조하십시오.

AWS 계정 및 리전에 대한 데이터 영역 API 엔드포인트를 찾으려면 여기에 표시된 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-service-endpoint.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-service-endpoint.html) CLI 명령 또는 [https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html) REST API를 사용합니다. 자세한 내용은 [AWS IoT Core for LoRaWAN 데이터 영역 API 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core.html#iot-wireless-data-plane-endpoints)를 참조하세요.

온프레미스에서 LoRaWAN 게이트웨이를 연결하여 AWS IoT Core for LoRaWAN 엔드포인트와 통신할 수 있습니다. 이 연결을 설정하려면 먼저 VPN 연결을 사용하여 VPC의 AWS 계정에 온프레미스 게이트웨이를 연결합니다. 그런 다음 프라이빗 링크로 구동되는 AWS IoT Core for LoRaWAN VPC의 데이터 영역 인터페이스 엔드포인트와 통신할 수 있습니다.

**Topics**
+ [VPC 인터페이스 엔드포인트 및 프라이빗 호스팅 영역 생성](create-vpc-lns-cups.md)
+ [VPN을 사용하여 LoRa 게이트웨이를 AWS 계정에 연결](lorawan-vpc-vpn-connection.md)

# VPC 인터페이스 엔드포인트 및 프라이빗 호스팅 영역 생성
<a name="create-vpc-lns-cups"></a>

AWS IoT Core for LoRaWAN에는 두 개의 데이터 영역 엔드포인트인 구성 및 업데이트 서버(CUPS) 엔드포인트와 LoRaWAN 네트워크 서버(LNS) 엔드포인트가 있습니다. 두 엔드포인트에 대한 프라이빗 링크 연결을 설정하는 설치 프로세스는 동일하므로 설명을 위해 LNS 엔드포인트를 사용할 수 있습니다.

데이터 영역 엔드포인트의 경우 LoRA 게이트웨이는 먼저 Amazon VPC의 AWS 계정에 연결합니다. 그런 다음 AWS IoT Core for LoRaWAN VPC의 VPC 엔드포인트에 연결합니다.

엔드포인트에 연결할 때 DNS 이름은 하나의 VPC 내에서 확인할 수 있지만 여러 VPC에서 확인할 수는 없습니다. 엔드포인트를 생성할 때 프라이빗 DNS를 비활성화하려면 **DNS 이름 활성화** 설정을 비활성화합니다. 프라이빗 호스팅 영역을 사용하여 Route 53가 VPC의 DNS 쿼리에 응답하는 방법에 대한 정보를 제공할 수 있습니다. VPC를 온프레미스 환경과 공유하려면 Route 53 Resolver를 사용하여 하이브리드 DNS를 용이하게 할 수 있습니다.

**Topics**
+ [Amazon VPC 및 서브넷 생성](#lns-create-vpc)
+ [Amazon VPC 엔드포인트 생성](#lns-create-vpc-endpoint)
+ [프라이빗 호스팅 영역 구성](#create-phz-lns)
+ [Route 53 인바운드 해석기 구성](#configure-route53-resolver)
+ [다음 단계](#lns-cups-next-steps)

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

제어 영역 엔드포인트를 온보딩할 때 생성한 Amazon VPC와 서브넷을 재사용할 수 있습니다. 자세한 내용은 [Amazon VPC 및 서브넷 생성](lorawan-onboard-control-endpoint.md#create-vpc) 단원을 참조하십시오.

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

VPC에 대한 VPC 엔드포인트를 생성할 수 있습니다. 이는 제어 영역 엔드포인트에 대한 VPC 엔드포인트를 생성하는 방법과 유사합니다.

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

1. **엔드포인트 생성** 페이지에서 다음 정보를 지정합니다.
   + **서비스 범주**에서 **AWS 서비스**를 선택합니다.
   + **서비스 이름**에 키워드 **lns**를 입력하여 검색합니다. 표시된 `lns` 서비스 목록에서 해당 리전의 LNS 데이터 영역 API 엔드포인트를 선택합니다. 엔드포인트 형식은 `com.amazonaws.region.lorawan.lns`이(가) 될 것입니다.
**참고**  
CUPS 엔드포인트에 대해 이 절차를 따르는 경우 `cups`을(를) 검색합니다. 엔드포인트 형식은 `com.amazonaws.region.lorawan.cups`이(가) 될 것입니다.
   + **VPC** 및 **서브넷**에서 엔드포인트를 생성하려는 VPC 및 엔드포인트 네트워크를 생성하려는 가용 영역(AZ)을 선택합니다.
**참고**  
`iotwireless` 서비스가 모든 가용 영역을 지원할 수 있는 것은 아닙니다.
   + **DNS 이름 활성화**에서 **이 엔드포인트에 대해 활성화**를 선택하지 않도록 합니다.

     이 옵션을 선택하지 않으면 VPC 엔드포인트에 대해 프라이빗 DNS를 비활성화하고 대신 프라이빗 호스팅 영역을 사용할 수 있습니다.
   + **보안 그룹**에서 엔드포인트 네트워크 인터페이스와 연결하려는 보안 그룹을 선택합니다.
   + 선택적으로 태그를 추가하거나 제거할 수 있습니다. 태그는 엔드포인트와 연결하는 데 사용하는 이름-값 페어입니다.

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

## 프라이빗 호스팅 영역 구성
<a name="create-phz-lns"></a>

프라이빗 링크 엔드포인트를 만든 후 엔드포인트의 **세부 정보** 탭에서 DNS 이름 목록이 표시됩니다. 이러한 DNS 이름 중 하나를 사용하여 프라이빗 호스팅 영역을 구성할 수 있습니다. DNS 이름의 형식은 `vpce-xxxx.lns.lorawan.region.vpce.amazonaws.com`이 됩니다.

**프라이빗 호스팅 영역 생성**  
프라이빗 호스팅 영역을 생성하려면

1. [Route 53](https://console.aws.amazon.com/route53/v2/hostedzones#/) **호스팅 영역** 콘솔로 이동하여 **호스팅 영역 생성**을 선택합니다.

1. **호스팅 영역 생성** 페이지에서 다음 정보를 지정합니다.
   + **도메인 이름**에 LNS 엔드포인트의 전체 서비스 이름(**lns.lorawan.region.amazonaws.com**)을 입력합니다.
**참고**  
CUPS 엔드포인트에 대해 이 절차를 따르는 경우 **cups.lorawan.region.amazonaws.com**을(를) 입력합니다.
   + **유형** 목록에서 **프라이빗 호스팅 영역**을 선택합니다.
   + 필요에 따라 호스팅 영역과 연결할 태그를 추가하거나 제거할 수 있습니다.

1. 프라이빗 호스팅 영역을 생성하려면 **호스팅 영역 생성**을 선택합니다.

자세한 내용은 [프라이빗 호스팅 영역 생성](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)을 참조하세요.

프라이빗 호스팅 영역을 생성한 후 DNS에 트래픽을 해당 도메인으로 라우팅할 방법을 알려주는 레코드를 생성할 수 있습니다.

**레코드 생성**  
프라이빗 호스팅 영역을 생성한 후 DNS에 트래픽을 해당 도메인으로 라우팅할 방법을 알려주는 레코드를 생성할 수 있습니다. 레코드를 생성하려면:

1. 표시된 호스팅 영역 목록에서 이전에 생성한 프라이빗 호스팅 영역을 선택하고 **레코드 생성**을 선택합니다.

1. 마법사 메서드를 사용하여 레코드를 만듭니다. 콘솔이 **빠른 생성** 메서드를 제공하는 경우 **마법사로 전환**을 선택합니다.

1. **라우팅 정책**에서 **단순 라우팅**을 선택한 후 **다음**을 선택합니다.

1. **레코드 구성** 페이지에서 **단순 레코드 정의**를 선택합니다.

1. **단순 레코드 정의** 페이지에서:
   + **레코드 이름**에 AWS 계정 번호의 별칭을 입력합니다. 게이트웨이를 온보딩할 때 또는[https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html) REST API를 사용하여 이 값을 얻습니다.
   + **레코드 유형**에서 값을 `A - Routes traffic to an IPv4 address and some AWS resources`로 유지합니다.
   + **값/트래픽 라우팅 대상(Value/Route traffic to)**에서 **VPC 엔드포인트에 대한 별칭(Alias to VPC endpoint)**을 선택합니다. 그리고 나서 **리전**을 선택한 다음 [Amazon VPC 엔드포인트 생성](#lns-create-vpc-endpoint)에 설명된 대로 표시된 엔드포인트 목록에서 이전에 생성한 엔드포인트를 선택합니다.

1. **단순 레코드 정의**를 선택하여 레코드를 만듭니다.

## Route 53 인바운드 해석기 구성
<a name="configure-route53-resolver"></a>

VPC 엔드포인트를 온프레미스 환경과 공유하려면 Route 53 Resolver를 사용하여 하이브리드 DNS를 용이하게 할 수 있습니다. 인바운드 해석기를 사용하면 공용 인터넷을 거치지 않고도 온프레미스 네트워크에서 데이터 영역 엔드포인트로 트래픽을 라우팅할 수 있습니다. 서비스의 프라이빗 IP 주소 값을 반환하려면 VPC 엔드포인트와 동일한 VPC에서 Route 53 Resolver를 생성합니다.

인바운드 해석기를 생성할 때 VPC 및 이전에 가용 영역(AZ)에서 생성한 서브넷만 지정하면 됩니다. Route 53 Resolver는 이 정보를 사용하여 트래픽을 각 서브넷으로 라우팅하는 IP 주소를 자동으로 할당합니다.

인바운드 해석기를 생성하려면 다음과 같이 하세요.

1. [Route 53](https://console.aws.amazon.com/route53/v2/inbound-endpoints#/) **인바운드 엔드포인트** 콘솔로 이동하고 **인바운드 엔드포인트 생성**을 선택합니다.
**참고**  
엔드포인트 및 프라이빗 호스팅 영역을 생성할 때 사용한 것과 동일한 AWS 리전을 사용 중이어야 합니다.

1. **인바운드 엔드포인트 생성** 페이지에서 다음 정보를 지정합니다.
   + **엔드포인트 이름**에 이름(예: **VPC\$1A\$1Test**)을 입력합니다.
   + **리전의 VPC**에서, VPC 엔드포인트를 생성할 때 사용한 것과 동일한 VPC를 선택합니다.
   + **이 엔드포인트에 대한 보안 그룹(Security group for this endpoint)**을 구성하여 온프레미스 네트워크에서 들어오는 트래픽을 허용할 수 있습니다.
   + IP 주소에서, **자동으로 선택된 IP 주소 사용(Use an IP address that is selected automatically)**을 선택합니다.

1. **제출**을 클릭하여 인바운드 해석기를 만듭니다.

이 샘플의 경우 IP 주소 `10.100.0.145` 및 `10.100.192.10`이 트래픽 라우팅을 위한 인바운드 Route 53 Resolver에 할당되었습니다.

## 다음 단계
<a name="lns-cups-next-steps"></a>

프라이빗 호스팅 영역과 인바운드 해석기를 생성하여 DNS 항목의 트래픽을 라우팅했습니다. 이제 Site-to-Site VPN 또는 Client VPN 엔드포인트를 사용할 수 있습니다. 자세한 내용은 [VPN을 사용하여 LoRa 게이트웨이를 AWS 계정에 연결](lorawan-vpc-vpn-connection.md) 단원을 참조하십시오.

# VPN을 사용하여 LoRa 게이트웨이를 AWS 계정에 연결
<a name="lorawan-vpc-vpn-connection"></a>

온프레미스의 게이트웨이를 AWS 계정에 연결하려면 Site-to-Site VPN 연결이나 Client VPN 엔드포인트를 사용할 수 있습니다.

온프레미스 게이트웨이를 연결하려면 먼저 VPC 엔드포인트를 생성하고, 게이트웨이의 트래픽이 공용 인터넷을 거치지 않도록 프라이빗 호스팅 영역 및 인바운드 해석기를 구성해야 합니다. 자세한 내용은 [VPC 인터페이스 엔드포인트 및 프라이빗 호스팅 영역 생성](create-vpc-lns-cups.md) 단원을 참조하십시오.

## Site-to-Site VPN 엔드포인트
<a name="vpc-site-vpn"></a>

게이트웨이 하드웨어가 없거나 다른 AWS 계정을 사용하여 VPN 연결을 테스트하려면 Site-to-Site VPN 연결을 사용할 수 있습니다. Site-to-Site VPN을 사용하여 동일한 AWS 계정, 또는 다른 AWS 리전에서 사용할 수 있는 다른 AWS 계정의 VPC 엔드포인트에 연결할 수 있습니다.

**참고**  
게이트웨이 하드웨어를 사용하고 있고 VPN 연결을 설정하려는 경우 Client VPN을 대신 사용하는 것이 좋습니다. 지침은 [Client VPN 엔드포인트](#vpc-client-vpn)을(을) 참조하십시오.

Site-to-Site VPN을 설정하려면:

1. 연결을 설정하려는 사이트에서 다른 VPC를 생성합니다. `VPC-A`에 대해 이전에 생성한 VPC를 재사용할 수 있습니다. 다른 VPC(예: `VPC-B`)를 생성하려면 이전에 생성한 VPC의 CIDR 블록과 겹치지 않는 CIDR 블록을 사용합니다.

   VPC 설정에 대한 자세한 내용은 [AWS Site-to-Site VPN 연결 설정](samples/Setup_Site_to_Site_VPN.zip)에 설명된 지침을 따르세요.
**참고**  
이 문서에 설명된 Site-to-Site VPN 메서드는 VPN 연결에 OpenSWAN을 사용합니다. 이는 하나의 VPN 터널만 지원합니다. VPN에 다른 상용 소프트웨어를 사용하는 경우 사이트 사이에 두 개의 터널을 설정할 수 있습니다.

1. VPN 연결을 설정한 후 AWS 계정에서 인바운드 해석기의 IP 주소를 추가하여 `/etc/resolv.conf` 파일을 업데이트합니다. 이 IP 주소는 nameserver에 사용합니다. 이 IP 주소를 얻는 방법에 대한 자세한 내용은 [Route 53 인바운드 해석기 구성](create-vpc-lns-cups.md#configure-route53-resolver) 단원을 참조하세요. 이 예에서는 Route 53 Resolver를 만들 때 할당한 IP 주소 `10.100.0.145`를 사용할 수 있습니다.

   ```
   options timeout:2 attempts:5
   ; generated by /usr/sbin/dhclient-script
   search region.compute.internal
   nameserver 10.100.0.145
   ```

1. 이제 `nslookup` 명령을 사용하여 VPN 연결이 공용 인터넷을 통하지 않고 AWS PrivateLink 엔드포인트를 사용하는지 테스트할 수 있습니다. 다음 예제에서는 명령 실행 예제를 보여줍니다.

   ```
   nslookup account-specific-prefix.lns.lorawan.region.amazonaws.com
   ```

   다음 예제에서는 AWS PrivateLink LNS 엔드포인트에 대한 연결이 설정된 프라이빗 IP 주소를 표시하는 명령 실행의 출력을 보여 줍니다.

   ```
   Server: 10.100.0.145
   Address: 10.100.0.145
   
   Non-authoritative answer:
   Name: https://xxxxx.lns.lorawan.region.amazonaws.com
   Address: 10.100.0.204
   ```

Site-to-Site VPN 연결 사용에 대한 자세한 내용은 [Site-to-Site VPN 작동 방식](https://docs.aws.amazon.com/vpn/latest/s2svpn/how_it_works.html)을 참조하세요.

## Client VPN 엔드포인트
<a name="vpc-client-vpn"></a>

AWS Client VPN은 AWS 리소스와 온프레미스 네트워크 리소스를 안전하게 액세스할 수 있게 해주는 관리형 클라이언트 기반 VPN 서비스입니다. 다음은 클라이언트 VPN 서비스의 아키텍처를 보여 줍니다.

![\[AWS Client VPN을 사용하여 온프레미스의 LoRa 게이트웨이를 연결하는 방법을 보여주는 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/iot-wireless/latest/developerguide/images/lorawan-privatelink-client-vpn.png)


Client VPN 엔드포인트에 대한 VPN 연결을 설정하려면:

1. [AWS Client VPN 시작하기](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html)에 설명된 지침에 따라 Client VPN 엔드포인트를 생성합니다.

1. 해당 라우터의 액세스 URL(예: `192.168.1.1`)을 사용하여 온프레미스 네트워크(예: Wi-Fi 라우터)에 로그인하고 루트 이름과 암호를 찾습니다.

1. 게이트웨이 설명서의 지침을 따라 LoRaWAN 게이트웨이를 설정한 다음 게이트웨이를 AWS IoT Core for LoRaWAN에 추가합니다. 게이트웨이를 추가하는 방법에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 게이트웨이 온보딩](lorawan-onboard-gateways.md) 단원을 참조하세요.

1. 게이트웨이의 펌웨어가 최신 상태인지 확인합니다. 펌웨어가 오래된 경우 온프레미스 네트워크에 제공된 지침에 따라 게이트웨이의 펌웨어를 업데이트할 수 있습니다. 자세한 내용은 [AWS IoT Core for LoRaWAN에서 CUPS 서비스를 사용하여 게이트웨이 펌웨어 업데이트](lorawan-update-firmware.md) 단원을 참조하십시오.

1. OpenVPN이 활성화되었는지 확인합니다. 활성화된 경우 다음 단계로 건너뛰고 온프레미스 네트워크 내에서 OpenVPN 클라이언트를 구성합니다. 활성화되지 않은 경우 [OpenVPN for OpenWrt 설치 가이드](https://www.ovpn.com/en/guides/openwrt)의 지침을 따릅니다.
**참고**  
이 예제에서는 OpenVPN을 사용합니다. 다른 VPN 클라이언트(예: Site-to-Site VPN 또는 AWS Direct Connect)를 사용하여 Client VPN 연결을 설정할 수 있습니다.

1. 클라이언트 구성의 정보와, [LuCi를 사용하는 OpenVPN 클라이언트](https://openwrt.org/docs/guide-user/services/vpn/openvpn/client-luci)의 사용 방법에 따라 OpenVPN 클라이언트를 구성합니다.

1. 온프레미스 네트워크에 SSH 연결하고, AWS 계정에서 인바운드 해석기의 IP 주소(`10.100.0.145`)를 추가하여 `/etc/resolv.conf` 파일을 업데이트합니다.

1. AWS PrivateLink를 사용하여 엔드포인트에 연결하는 게이트웨이 트래픽의 경우, 게이트웨이의 첫 번째 DNS 항목을 인바운드 해석기의 IP 주소로 바꿉니다.

Site-to-Site VPN 연결 사용에 대한 자세한 내용은 [Client VPN 시작하기](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/user-getting-started.html)를 참조하세요.

## LNS 및 CUPS VPC 엔드포인트에 연결
<a name="vpc-vpn-connect"></a>

다음은 LNS 및 CUPS VPC 엔드포인트에 대한 연결을 테스트하는 방법을 보여줍니다.

**CUPS 엔드포인트 테스트**  
LoRa 게이트웨이에서 CUPS 엔드포인트로의 AWS PrivateLink 연결을 테스트하려면 다음 명령을 실행합니다.

```
curl -k -v -X POST https://xxxx.cups.region.iotwireless.iot:443/update-info 
     --cacert cups.trust --cert cups.crt --key cups.key --header "Content-Type: application/json" 
     --data '{ 
              "router": "xxxxxxxxxxxxx", 
              "cupsUri": "https://xxxx.cups.lorawan.region.amazonaws.com:443",
              "cupsCredCrc":1234, "tcCredCrc":552384314
             }' 
      —output cups.out
```

**LNS 엔드포인트 테스트**  
LNS 엔드포인트를 테스트하려면 먼저 무선 게이트웨이와 함께 작동하는 LoRaWAN 디바이스를 프로비저닝합니다. 그런 다음 디바이스를 추가하고 *조인* 프로시저를 수행한 후에 업링크 메시지 전송을 시작할 수 있습니다.