

# 加入 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
```