

# 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 디바이스를 프로비저닝합니다. 그런 다음 디바이스를 추가하고 *조인* 프로시저를 수행한 후에 업링크 메시지 전송을 시작할 수 있습니다.