

# VPNを使用して、LoRaゲートウェイをAWS アカウントに接続します
<a name="lorawan-vpc-vpn-connection"></a>

オンプレミスのゲートウェイを AWS アカウントに接続するには、Site-to-Site VPN 接続またはクライアント 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 を使用することをお勧めします。手順については、[クライアント VPN エンドポイント](#vpc-client-vpn) を参照してください。

Site-to-Site VPN を設定するには

1. サイト内で、接続のセットアップ元になる別の VPC を作成します。`VPC-A`には、先程作成した VPC を再利用できます。別の VPC を作成するには (例、`VPC-B`)、以前に作成した VPC の CIDR ブロックと重複しない CIDR ブロックを使用します。

   VPC のセットアップについては、[AWS setup Site-to-Site VPN connection](samples/Setup_Site_to_Site_VPN.zip) で説明されている手順に従ってください。
**注記**  
このドキュメントで説明されているSite-to-Site VPN VPN 方式では、VPN 接続に OpenSwan を使用しており、これは１つのVPNトンネルしかサポートしません。VPN 用に別の商用ソフトウェアを使用している場合は、サイト間の 2 つのトンネルを設定できる場合があります。

1. VPN 接続をセットアップしたら、AWS アカウントからのインバウンドリゾルバーの IP アドレスを追加して、`/etc/resolv.conf` ファイルを更新します。この IP アドレスは、ネームサーバーに使用します。この情報の入手方法については、「[Route 53 インバウンドリゾルバを設定します](create-vpc-lns-cups.md#configure-route53-resolver)」を参照してください。この例には、Route 53 リゾルバーを作成したときに割り当てられた 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)」を参照してください。

## クライアント VPN エンドポイント
<a name="vpc-client-vpn"></a>

AWS Client VPN は、AWS リソースとオンプレミスネットワーク内のリソースに安全にアクセスするための、クライアントベースのマネージド VPN サービスです。次に、クライアント VPN サービスのアーキテクチャを示します。

![AWS Client VPN を使用してオンプレミスの LoRa ゲートウェイに接続する方法を示す画像。](http://docs.aws.amazon.com/ja_jp/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)」で説明されている手順に従って、クライアント VPN エンドポイントを作成します。

1. オンプレミスネットワーク (例、Wi-Fi ルーター) に、そのルーターのアクセス URL (例、`192.168.1.1`) を使用してログインし、そしてルート名とパスワードを見つけます。

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 クライアントを設定します。有効になっていない場合は、「[Guide to install OpenVPN for OpenWrt](https://www.ovpn.com/en/guides/openwrt)」 (OpenWrt 用に OpenVPN をインストールするガイド) の手順に従ってください。
**注記**  
この例では、OpenVPN を使用します。クライアント VPN 接続のセットアップには、Site-to-Site VPN または AWS Direct Connect などの他の 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 接続の使用については、「[クライアント 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デバイスをプロビジョニングします。その後、デバイスを追加し、*join*プロシージャーを使用して、アップリンクメッセージの送信を開始できます。