

# AWS IoT Core for LoRaWAN 和介面 VPC 端點 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

您可以透過 Virtual Private Cloud (VPC) 中的[介面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) 直接連接至 AWS IoT Core for LoRaWAN，而非透過公有網際網路進行連接。使用 VPC 介面端點時，VPC 和 AWS IoT Core for LoRaWAN 之間的通訊會完全在 AWS 網路內安全地進行。

AWS IoT Core for LoRaWAN 支援採用 AWS PrivateLink 技術的 Amazon Virtual Private Cloud 介面端點。每個 VPC 端點皆會由一個或多個在您的 VPC 子網路上具私有 IP 地址的[彈性網路界面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)來表示。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[介面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。

如需 VPC 和端點的詳細資訊，請參閱[什麼是 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink)。

如需 AWS PrivateLink 的詳細資訊，請參閱 [AWS PrivateLink 和 VPC 端點](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-services-overview.html)。

## AWS IoT Wireless VPC 端點的考量事項
<a name="vpc-endpoint-considerations"></a>

設定 AWS IoT Wireless 的介面 VPC 端點前，請務必檢閱《Amazon VPC 使用者指南》**中的[介面端點屬性和限制](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations)。

AWS IoT Wireless 支援從您的 VPC 呼叫其所有 API 動作。AWS IoT Wireless 不支援 VPC 端點政策。根據預設，您可透過端點完整存取 AWS IoT Wireless。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[使用 VPC 端點控制對服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

## AWS IoT Core for LoRaWAN PrivateLink 架構
<a name="vpc-endpoint-architecture"></a>

下方圖表顯示 AWS IoT Core for LoRaWAN 的 Privatelink 架構。此架構使用 Transit Gateway 和 Route 53 解析程式，在 VPC、AWS IoT Core for LoRaWAN 和內部部署環境之間共用 AWS PrivateLink 介面端點。設定與 VPC 介面端點的連線時，您會發現更詳細的架構圖。

![\[顯示如何使用 AWS PrivateLink 連接到 AWS IoT Core for LoRaWAN 端點的影像。\]](http://docs.aws.amazon.com/zh_tw/iot-wireless/latest/developerguide/images/iot-lorawan-privatelink-architecture.png)


## AWS IoT Core for LoRaWAN 端點
<a name="vpc-lorawan-endpoints"></a>

AWS IoT Core for LoRaWAN 有三個公有端點。每個公有端點都有對應的 VPC 介面端點。公有端點可以分類為控制平面和資料平面端點。如需這些端點的相關資訊，請參閱 [AWS IoT Core for LoRaWAN API 端點](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-wireless_region)。
+ 

**控制平面 API 端點**  
 您可以使用控制平面 API 端點與 AWS IoT Wireless API 互動。您可以使用 AWS PrivateLink，從 Amazon VPC 中託管的用戶端存取這些端點。
+ 

**資料平面 API 端點**  
資料平面 API 端點是 LoRaWAN 網路伺服器 (LNS) 以及組態與更新伺服器 (CUPS) 端點，您可以使用這些端點與 AWS IoT Core for LoRaWAN LNS 和 CUPS 端點互動。這些端點可以從 LoRa 閘道內部部署中存取，方法為使用 Site-to-Site VPN 或 AWS Direct Connect。將您的閘道加入至 AWS IoT Core for LoRaWAN 時，您可以取得這些端點。如需詳細資訊，請參閱[將閘道新增至 AWS IoT Core for LoRaWAN](lorawan-onboard-gateway-add.md)。

**Topics**
+ [AWS IoT Wireless VPC 端點的考量事項](#vpc-endpoint-considerations)
+ [AWS IoT Core for LoRaWAN PrivateLink 架構](#vpc-endpoint-architecture)
+ [AWS IoT Core for LoRaWAN 端點](#vpc-lorawan-endpoints)
+ [加入 AWS IoT Core for LoRaWAN 控制平面 API 端點](lorawan-onboard-control-endpoint.md)
+ [加入 AWS IoT Core for LoRaWAN 資料平面 API 端點](onboard-lns-cups-endpoints.md)

# 加入 AWS IoT Core for LoRaWAN 控制平面 API 端點
<a name="lorawan-onboard-control-endpoint"></a>

您可以使用 AWS IoT Core for LoRaWAN 控制平面 API 端點與 AWS IoT Wireless 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 Wireless 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) 頁面，然後選擇 **Create VPC** (建立 VPC)。

1. 在 **Create VPC** (建立 VPC) 頁面上：
   + 輸入 **VPC Name tag - optional** (VPC 名稱標籤 - 選用) 的名稱 (例如，**VPC-A**)。
   + 在 IPv4 CIDR 區塊中輸入 VPC 的 IPv4 位址範圍 (例如，**10.100.0.0/16**)。

1. 保留其他欄位的預設值，然後選擇 **Create VPC** (建立 VPC)。

若要建立您的子網路：

1. 導覽至 Amazon VPC 主控台的 [Subnets](https://console.aws.amazon.com/vpc/home#/subnets) (子網路) 頁面，然後選擇 **Create subnet** (建立子網路)。

1. 在 **Create subnet** (建立子網路) 頁面上：
   + 針對 **VPC ID**，選擇您稍早建立的 VPC (例如，`VPC-A`)。
   + 輸入 **Subnet name** (子網路名稱) 的名稱(例如，**Private subnet**)。
   + 為您的子網路選擇 **Availability Zone** (可用區域)。
   + 在 **IPv4 CIDR block** (IPv4 CIDR 區塊) 中輸入子網路的 IP 地址區塊 (例如，**10.100.0.0/24**)。

1. 若要建立子網路並將其新增至 VPC，請選擇 **Create subnet** (建立子網路)。

如需詳細資訊，請參閱[使用 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#/) 主控台，然後選擇 **Launch Instance** (啟動執行個體)。

1. 針對 AMI，選擇 **Amazon Linux 2 AMI (HVM), SSD Volume Type** (Amazon Linux 2 AMI (HVM)，SSD 磁碟區類型)，然後選擇 **t2 micro** 執行個體類型。若要設定執行個體詳細資訊，請選擇 **Next** (下一步)。

1. 在 **Configure Instance Details** (設定執行個體詳細資訊) 頁面中：
   + 針對 **Network** (網路)，選擇您稍早建立的 VPC (例如，`VPC-A`)。
   + 針對 **Subnet** (子網路)，選擇您稍早建立的子網路 (例如，**Private subnet**)。
   + 針對 **IAM role** (IAM 角色)，選擇角色 **AWSIoTWirelessFullAccess** 將完整存取政策授予 AWS IoT Core for LoRaWAN。如需詳細資訊，請參閱 [`AWSIoTWirelessFullAccess` 政策摘要](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullAccess$serviceLevelSummary)。
   + 針對 **Assume Private IP** (採用私有 IP)，使用 IP 地址，例如，**10.100.0.42**。

1. 選擇 **Next: Add Storage** (下一步：新增儲存體)，然後選擇 **Next：Add tags** (下一步：新增標籤)。您可以選擇性地新增任何標籤，與您的 EC2 執行個體建立關聯。選擇 **Next: Configure Security Group (下一步：設定安全群組)**。

1. 在 **Configure Security Group** (設定安全群組) 頁面中，設定要允許的安全群組：
   + 將來源的 **All TCP** (所有 TCP) 開啟為 `10.200.0.0/16`。
   + 將來源的 **All ICMP - IPV4** (所有 ICMP - IPV4) 開啟為 `10.200.0.0/16`。

1. 若要檢閱執行個體詳細資訊並啟動 EC2 執行個體，請選擇 **Review and Launch** (檢閱並發佈)。

如需詳細資訊，請參閱 [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) **Endpoints** (端點) 主控台，然後選擇 **Create Endpoint** (建立端點)。

1. 在 **Create Endpoint** (建立端點) 頁面中，指定下列資訊。
   + 選擇**服務類別**的 **AWS 服務**。
   + 針對 **Service Name** (服務名稱)，輸入關鍵字 **iotwireless** 進行搜尋。在顯示的 `iotwireless` 服務清單中，請為您的區域選擇控制平面 API 端點。端點的格式為 `com.amazonaws.region.iotwireless.api`。
   + 針對 **VPC** 和 **Subnets** (子網路)，選擇要在其中建立端點的 VPC，以及要在其中建立端點網路的可用區域 (AZ)。
**注意**  
`iotwireless` 服務可能無法支援所有可用區域。
   + 針對 **Enable DNS name** (啟用 DNS 名稱)，選擇 **Enable for this endpoint** (為此端點啟用)。

     選擇此選項會自動解析 DNS，並在 Amazon Route 53 Public Data Plane 中建立路由，以便您稍後用來測試連線的 API 將通過 Privatelink 端點。
   + 針對 **Security group** (安全群組)，選擇要與端點網路介面建立關聯的安全群組。
   + 您可以選擇性地新增或移除標籤。標籤是您用來與端點建立關聯的名稱值對。

1. 若要建立 VPC 端點，請選擇 **Create endpoint** (建立端點)。

## 測試您與介面端點的連線
<a name="connect-vpc-endpoint"></a>

您可以使用 SSH 存取 Amazon EC2 執行個體，然後使用 AWS CLI 以連接至 Privatelink 介面端點。

在您連接至介面端點之前，請遵循[在 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
```

# 加入 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 上行和下行訊息的連線。
+ 

**組態與更新伺服器 (CUPS) 端點**  
CUPS 端點的格式為 `account-specific-prefix.cups.lorawan.region.amazonaws.com`。您可以將此端點用於閘道的憑證管理、遠端組態和韌體更新。

如需詳細資訊，請參閱[使用 CUPS 和 LNS 通訊協定](lorawan-manage-gateways.md#lorawan-cups-lns-protocols)。

若要尋找適用於 AWS 帳戶 和 Region 的資料平面 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 中 Privatelink 提供的資料平面介面端點通訊。

**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) 端點。建立與這兩個端點的 Privatelink 連線的設定程序相同，因此我們基於說明目的使用 LNS 端點。

對於您的資料平面端點，LoRa 閘道首先會連接到 Amazon VPC 中的 AWS 帳戶，然後連接到 AWS IoT Core for LoRaWAN VPC 中的 VPC 端點。

連接到端點時，DNS 名稱可以在一個 VPC 內進行解析，但無法跨多個 VPC 進行解析。若要在建立端點時停用私有 DNS，請停用 **Enable DNS name** (啟用 DNS 名稱) 設定。您可以使用私有託管區域，以提供您想要 Route 53 如何針對 VPC 回應 DNS 查詢的相關資訊。若要與內部部署環境共用 VPC，您可以使用 Route 53 解析程式來協助混合 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 端點，這與您為控制平面端點建立一個端點的方式類似。

1. 導覽至 [VPC](https://console.aws.amazon.com/vpc/home#/endpoints) **Endpoints** (端點) 主控台，然後選擇 **Create Endpoint** (建立端點)。

1. 在 **Create Endpoint** (建立端點) 頁面中，指定下列資訊。
   + 選擇**服務類別**的 **AWS 服務**。
   + 針對 **Service Name** (服務名稱)，輸入關鍵字 **lns** 進行搜尋。在顯示的 `lns` 服務清單中，請為您的區域選擇 LNS 資料平面 API 端點。端點的格式為 `com.amazonaws.region.lorawan.lns`。
**注意**  
如果您是針對 CUPS 端點遵循此程序，請搜尋 `cups`。端點的格式為 `com.amazonaws.region.lorawan.cups`。
   + 針對 **VPC** 和 **Subnets** (子網路)，選擇要在其中建立端點的 VPC，以及要在其中建立端點網路的可用區域 (AZ)。
**注意**  
`iotwireless` 服務可能無法支援所有可用區域。
   + 針對 **Enable DNS name** (啟用 DNS 名稱)，確定未選取 **Enable for this endpoint** (為此端點啟用)。

     透過不選取此選項，您可以停用 VPC 端點的私有 DNS，並改用私有託管區域。
   + 針對 **Security group** (安全群組)，選擇要與端點網路介面建立關聯的安全群組。
   + 您可以選擇性地新增或移除標籤。標籤是您用來與端點建立關聯的名稱值對。

1. 若要建立 VPC 端點，請選擇 **Create endpoint** (建立端點)。

## 設定私有託管區域
<a name="create-phz-lns"></a>

在建立 Privatelink 端點之後，您會在端點的 **Details** (詳細資訊) 標籤中看到 DNS 名稱清單。您可以使用其中一個 DNS 名稱來設定私有託管區域。DNS 名稱的格式為 `vpce-xxxx.lns.lorawan.region.vpce.amazonaws.com`。

**建立私有託管區域**  
若要建立私有託管區域：

1. 導覽至 [Route 53](https://console.aws.amazon.com/route53/v2/hostedzones#/) **Hosted zones** (託管區域) 主控台，然後選擇 **Create hosted zone** (建立託管區域)。

1. 在 **Create hosted zone** (建立託管區域) 頁面中，指定下列資訊。
   + 針對 **Domain name** (網域名稱)，請為您的 LNS 端點 **lns.lorawan.region.amazonaws.com** 輸入完整服務名稱。
**注意**  
如果您是針對 CUPS 端點遵循此程序，請輸入 **cups.lorawan.region.amazonaws.com**。
   + 針對 **Type** (類型)，選擇 **Private Hosted Zone** (私有託管區域)。
   + 或者，您可以新增或移除要與託管區域建立關聯的標籤。

1. 若要建立私有託管區域，請選擇 **Create hosted zone** (建立託管區域)。

如需詳細資訊，請參閱[建立私有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)。

在建立了私有託管區域之後，您可以建立記錄，告訴 DNS 您想要流量路由至該網域的方式。

**建立記錄**  
在建立了私有託管區域之後，您可以建立記錄，告訴 DNS 您想要流量路由至該網域的方式。若要建立記錄：

1. 在顯示的託管區域清單，選擇您先前建立的私有託管區域，然後選擇 **Create record** (建立記錄)。

1. 使用精靈方法來建立記錄。如果主控台呈現 **Quick create** (快速建立) 方法，請選擇 **Switch to wizard** (切換至精靈)。

1. 為 **Routing policy** (路由政策) 選擇 **Simple Routing** (簡易路由)，然後選擇 **Next** (下一步)。

1. 在 **Configure records** (設定記錄) 頁面中，選擇 **Define simple record** (定義簡易記錄)。

1. 在 **Define simple record** (定義簡易記錄) 頁面中：
   + 針對 **Record name** (記錄名稱)，輸入 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 取得此值。
   + 針對 **Record type** (紀錄類型)，將值保留為 `A - Routes traffic to an IPv4 address and some AWS resources`。
   + 針對 **Value/Route traffic to** (值/路由流量至)，選擇 **Alias to VPC endpoint** (VPC 端點的別名)。接著，選擇您的 **Region** (區域)，然後從顯示的端點清單中選擇您先前建立的端點，如[建立 Amazon VPC 介面端點](#lns-create-vpc-endpoint)所述。

1. 選擇 **Define simple record** (定義簡易記錄) 來建立您的記錄。

## 設定 Route 53 傳入解析程式
<a name="configure-route53-resolver"></a>

若要與內部部署環境共用 VPC 端點，Route 53 解析程式可以用來協助混合 DNS。傳入解析程式可讓您將流量從內部部署網路路由至資料平面端點，無需通過公有網際網路。若要傳回服務的私有 IP 地址值，請在與 VPC 端點相同的 VPC 中建立 Route 53 解析程式。

當您建立傳入解析程式時，只須指定 VPC 和先前在可用區域 (AZ) 中建立的子網路。Route 53 解析程式會使用此資訊來自動指派 IP 地址，以將流量路由至每個子網路。

若要建立傳入解析程式：

1. 導覽至 [Route 53](https://console.aws.amazon.com/route53/v2/inbound-endpoints#/) **Inbound endpoints** (傳入端點) 主控台，然後選擇 **Create inbound endpoint** (建立傳入端點)。
**注意**  
確定您使用的是您在建立端點和私有託管區域時所使用的同一個 AWS 區域。

1. 在 **Create inbound endpoint** (建立傳入端點) 頁面中，指定下列資訊。
   + 輸入 **Endpoint name** (端點名稱) 的名稱(例如，**VPC\$1A\$1Test**)。
   + 針對 **VPC in the region** (區域中的 VPC)，選擇您在建立 VPC 端點時使用的同一個 VPC。
   + 設定 **Security group for this endpoint** (此端點的安全群組)，以允許內部部署網路的傳入流量。
   + 針對 IP 地址，選擇 **Use an IP address that is selected automatically** (使用自動選取的 IP 地址)。

1. 選擇 **Submit** (提交) 來建立您的傳入解析程式。

針對這個範例，讓我們假設 IP 地址 `10.100.0.145` 和 `10.100.192.10` 指派給路由流量的傳入 Route 53 解析程式。

## 後續步驟
<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。如需指示，請參閱 [用戶端 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 方法會使用 OpenSWAN 進行 VPN 連線，而 VPN 連線只支援一個 VPN 通道。如果您針對 VPN 使用不同的商務軟體，您或許可以在網站之間設定兩個通道。

1. 在設定 VPN 連線之後，請從您的 AWS 帳戶 新增傳入解析程式的 IP 地址來更新 `/etc/resolv.conf` 檔案。您可以針對名稱伺服器使用此 IP 地址。如需如何取得此 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
   ```

   下列顯示執行命令的範例輸出，其中顯示私有 IP 地址，指出已建立與 AWS PrivateLink LNS 端點的連線。

   ```
   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 是以用戶端為基礎的受管 VPN 服務，能讓您安全地存取 AWS 資源，以及內部部署網路中的資源。下列顯示用戶端 VPN 服務的架構。

![\[顯示如何使用 AWS Client VPN 來連接 LoRa 閘道內部部署的影像。\]](http://docs.aws.amazon.com/zh_tw/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. 檢查閘道的韌體是否為最新版本。如果韌體過期，您可以遵循內部部署網路中提供的指示來更新閘道的韌體。如需詳細資訊，請參閱[使用 CUPS 服務搭配 AWS IoT Core for LoRaWAN 來更新閘道韌體](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 連接到您的內部署網路，並更新 `/etc/resolv.conf` 檔案，方法為在 AWS 帳戶 (`10.100.0.145`) 中新增傳入解析程式的 IP 地址。

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 閘道測試 AWS PrivateLink 與 CUPS 端點的連線，請執行下列命令：

```
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 裝置。然後，您可以新增裝置並執行「聯結」**程序，然後您就可以開始傳送上行訊息。