AWS IoT Core 搭配介面VPC端點使用 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT Core 搭配介面VPC端點使用

透過 AWS IoT Core,您可以使用介面端點在虛擬私有雲 (VPC) 中建立 IoT 資料VPC端點。介面VPC端點的支援是一項 AWS 技術 AWS PrivateLink,您可以使用私有 IP 位址存取執行的服務。 AWS 如需詳細資訊,請參閱 Amazon Virtual Private Cloud

若要將遠端網路 (例如公司網路) 上的現場裝置連接到 AmazonVPC,請參閱網路到 Amazon 連VPC線矩陣中列出的選項。

建立 AWS IoT Core 資料平面的VPC端點

您可以為 AWS IoT Core 資料平面建立VPC端點,將裝置連線API至 AWS IoT 服務和其他 AWS 服務。若要開始使用VPC端點,請建立介面VPC端點並選取 AWS IoT Core 為 AWS 服務。如果您正在使用CLI,請先呼叫describe-vpc-endpoint-services以確保您選擇的可用區域存在於您的特定位 AWS IoT Core 置 AWS 區域。例如,在 us-east-1 中,此命令將如下所示:

aws ec2 describe-vpc-endpoint-services --service-name com.amazonaws.us-east-1.iot.data
注意

自動建立DNS記錄的VPC功能已停用。若要連線到這些端點,您必須手動建立私人DNS記錄。如需私人VPCDNS記錄的詳細資訊,請參閱介面端點DNS的私人。如需有關 AWS IoT Core VPC限制的更多資訊,請參閱限制

如果要將MQTT用戶端連線到VPC端點介面:

  • 您必須在附加至您的私人託管區域中手動建立DNS記錄VPC。若要開始使用,請參閱建立私有託管區域

  • 在您的私有託管區域中,為VPC端點的每個 elastic network interface IP 建立別名記錄。如果多個VPC端點有多個網路介面IPs,請在所有加權DNS記錄中建立具有相同權重的加權記錄。在說明欄位中按VPC端點 ID 篩選後,可從DescribeNetworkInterfacesAPI呼叫中使用這些 IP 位址。

請參閱下面的詳細說明,以建立 Amazon VPC 界面端點和為 AWS IoT Core 資料平面設定私有託管區域

建立 AWS IoT Core 認證提供者的VPC端點

您可以為認證提供者建立VPC端點,以使用用戶端 AWS IoT Core 憑證型驗證連線裝置,並取得「AWS 簽章版本 4」格式的臨時認 AWS 證。若要開始使用 AWS IoT Core 認證提供者的VPC端點,請執行create-vpc-endpointCLI命令以建立介面VPC端點,然後選取 AWS IoT Core 認證提供者作為 AWS 服務。為了確保您選擇的可用區域存在於您的特定區域 AWS 區域,您第一次運行describe-vpc-endpoint-services命令。 AWS IoT Core 例如,在 us-east-1 中,此命令將如下所示:

aws ec2 describe-vpc-endpoint-services --service-name com.amazonaws.us-east-1.iot.credentials
注意

自動建立DNS記錄的VPC功能已停用。若要連線到這些端點,您必須手動建立私人DNS記錄。如需私人VPCDNS記錄的詳細資訊,請參閱介面端點DNS的私人。如需有關 AWS IoT Core VPC限制的更多資訊,請參閱限制

如果要將HTTP用戶端連線到VPC端點介面:

  • 您必須在附加至您的私人託管區域中手動建立DNS記錄VPC。若要開始使用,請參閱建立私有託管區域

  • 在您的私有託管區域中,為VPC端點的每個 elastic network interface IP 建立別名記錄。如果多個VPC端點有多個網路介面IPs,請在所有加權DNS記錄中建立具有相同權重的加權記錄。在說明欄位中按VPC端點 ID 篩選後,可從DescribeNetworkInterfacesAPI呼叫中使用這些 IP 位址。

請參閱下面的詳細說明,以建立 Amazon VPC 界面端點和為 AWS IoT Core 登入資料提供者設定私有託管區域

創建 Amazon VPC 界面端點

您可以建立介面VPC端點,以連線至提供支援的 AWS 服務 AWS PrivateLink。使用下列程序建立連線至 AWS IoT Core 資料平面或 AWS IoT Core 認證提供者的介面VPC端點。如需詳細資訊,請參閱使用介面VPC端點存取 AWS 服務

注意

為資料平面和 AWS IoT Core 登入 AWS IoT Core 資料提供者建立 Amazon VPC 界面端點的程序類似,但是您必須進行端點特定變更才能使連線正常運作。

使用端點主控台建立介面VPCVPC端點

  1. 瀏覽至 Endpoint 主控台,在左側功能表的「虛擬私有雲」下,選擇「端點」,然後選擇「建立端點VPC

  2. 在「建立端點」頁面中,指定下列資訊。

    • 選擇服務類別AWS 服務

    • 針對 Service Name (服務名稱),輸入關鍵字 iot 進行搜尋。在顯示的iot服務清單中,選擇端點。

      如果您為 AWS IoT Core 資料平面建立VPC端點,請為您的區域選擇 AWS IoT Core 資料平面API端點。端點的格式為 com.amazonaws.region.iot.data

      如果您為 AWS IoT Core 憑證提供者建立VPC端點,請為您的區域選擇 AWS IoT Core 認證提供者端點。端點的格式為 com.amazonaws.region.iot.credentials

      注意

      中國地區資 AWS IoT Core 料平面的服務名稱格式為cn.com.amazonaws.region.iot.data。中國地區不支援為 AWS IoT Core 憑證提供者建立VPC端點。

    • 對於VPC子網路,請選擇您VPC要建立端點的位置,以及要在其中建立端點網路的可用區域 (AZs)。

    • 對於 [啟用DNS名稱],確定未選取 [為此端點啟用]。 AWS IoT Core 資料平面和 AWS IoT Core 憑證提供者都不支援私人DNS名稱。

    • 針對 Security group (安全群組),選擇要與端點網路介面建立關聯的安全群組。

    • 您可以選擇性地新增或移除標籤。標籤是您用來與端點建立關聯的名稱值對。

  3. 若要建立VPC端點,請選擇 [建立端點]。

建立端點後,您會在 AWS PrivateLink 端點的「詳細資料」索引標籤中看到名DNS稱清單。您可以使用您在本節中建立的其中一個DNS名稱來設定您的私有託管區域

配置私有託管區域

您可以使用您在上一節中建立的其中一個DNS名稱來設定您的私有託管區域。

對於 AWS IoT Core 資料平面

該DNS名稱必須是您的網域組態名稱或IoT:Data-ATS端點。範例DNS名稱可以是:xxx-ats.data.iot.region.amazonaws.com

對於 AWS IoT Core 憑證提供者

名DNS稱必須是您的iot:CredentialProvider端點。範例DNS名稱可以是:xxxx.credentials.iot.region.amazonaws.com

注意

為 AWS IoT Core 資料平面和 AWS IoT Core 認證提供者設定私有託管區域的程序類似,但是您必須進行端點特定變更才能使連線正常運作。

建立私有託管區域

若要使用 Route 53 主控台建立私有託管區域

  1. 導覽至 Route 53 Hosted zones (託管區域) 主控台,然後選擇 Create hosted zone (建立託管區域)。

  2. Create hosted zone (建立託管區域) 頁面中,指定下列資訊。

    • 在「網域名稱」中,輸入您iot:Data-ATS或端點的iot:CredentialProvider端點位址。下列 AWS CLI命令顯示如何透過公用網路取得端點:aws iot describe-endpoint --endpoint-type iot:Data-ATS、或aws iot describe-endpoint --endpoint-type iot:CredentialProvider

      注意

      如果您使用自訂網域,請參閱搭配VPC端點使用自訂網域。 AWS IoT Core 認證提供者不支援自訂網域。

    • 針對 Type (類型),選擇 Private Hosted Zone (私有託管區域)。

    • 或者,您可以新增或移除要與託管區域建立關聯的標籤。

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

如需詳細資訊,請參閱建立私有託管區域

建立記錄

建立私人託管區域之後,您可以建立記錄,告知您希望DNS如何將流量路由至該網域。

若要建立記錄

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

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

  3. Routing policy (路由政策) 選擇 Simple Routing (簡易路由),然後選擇 Next (下一步)。

  4. Configure records (設定記錄) 頁面中,選擇 Define simple record (定義簡易記錄)。

  5. Define simple record (定義簡易記錄) 頁面中:

    • 在「記錄名稱」中,輸入iot:Data-ATS端點或iot:CredentialProvider端點。這必須與私有託管區域名稱相同。

    • 針對 Record type (紀錄類型),將值保留為 A - Routes traffic to an IPv4 address and some AWS resources

    • 對於值/路由傳送流量,請選擇端點的別名。VPC接著,選擇您的 Region (區域),然後從顯示的端點清單中選擇您先前建立的端點,如創建 Amazon VPC 界面端點所述。

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

控制VPC端點 AWS IoT Core 上的存取

您可以使用VPC條件上下文密鑰將設備訪問限制 AWS IoT Core 為僅允許通過VPC端點。 AWS IoT Core 支援下列VPC相關內容索引鍵:

注意

AWS IoT Core 不支援端點的端VPC點策略

例如,下列策略授與使用符合物名稱的 AWS IoT Core 用戶端 ID 連線的權限,以及發佈至以物件名稱為前置詞的任何主題,視連線至具有特定 VPC End VPC point ID 之端點的裝置而定。此政策會拒絕與公有 IoT 資料端點的連線嘗試。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "StringEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/${iot:Connection.Thing.ThingName}/*" ] } ] }

限制

VPC端點目前僅支援AWS IoT Core 資料端點AWS IoT Core 認證提供者端點。VPC聯邦資訊處理標準 (FIPS) 端點不支援端點

IoT 數據VPC端點的局限性

本節涵蓋 IoT 資料VPC端點的限制。

  • MQTT保持活力期限制為 230 秒。保持活躍時間超過此時間將自動減少到 230 秒。

  • 每個VPC端點支援總共 100,000 個並行連線裝置。如果您需要更多連線,請參閱 調整VPC端點的比例 AWS IoT Core

  • VPC端點僅支援IPv4流量。

  • VPC端點將僅提供ATS憑證 (自訂網域除外)。

  • VPC不支援端點策略

  • 針對為 AWS IoT Core 資料平面建立的VPC端點, AWS IoT Core 不支援使用區域或地區公用DNS記錄。

憑證提供者端點的限制

本節涵蓋認證提供者VPC端點的限制。

  • VPC端點僅支援IPv4流量。

  • VPC端點將僅提供ATS憑證

  • VPC不支援端點策略

  • 認證提供者端點不支援自訂網域。

  • 針對為 AWS IoT Core 認證提供者建立的VPC端點, AWS IoT Core 不支援使用區域或地區公用DNS記錄。

調整VPC端點的比例 AWS IoT Core

AWS IoT Core 透過單一介面VPC端點,介面端點限制為 100,000 個已連線裝置。如果您的使用案例要求更多同時連線至代理程式,建議您使用多個VPC端點,並在介面端點之間手動路由您的裝置。建立私人DNS記錄以將流量路由到VPC端點時,請務必建立與端點相同數量的加權記錄,以將流量分散到多個端點。VPC

搭配VPC端點使用自訂網域

如果您想要將自訂網域與VPC端點搭配使用,則必須在私人託管區域中建立自訂網域名稱記錄,並在 Route53 中建立路由記錄。如需詳細資訊,請參閱建立私有託管區域

注意

自訂網域僅支援資 AWS IoT Core 料端點。

VPC端點的可用性 AWS IoT Core

AWS IoT Core 所有AWS IoT Core 支援的區域均提供介面VPC端點。 AWS IoT Core 中國地區和 AWS IoT Core 認證提供者的介面VPC端點不支援 AWS GovCloud (US) Regions。