インターフェイス VPC AWS IoT Core エンドポイントでの使用 - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

インターフェイス VPC AWS IoT Core エンドポイントでの使用

AWS IoT Coreでは、インターフェイス VPC エンドポイントを使用して、仮想プライベートクラウド (VPC) 内に IoT データエンドポイントを作成できます。インターフェイス VPC エンドポイントは AWS PrivateLink、プライベート IP AWS アドレスを使用して実行中のサービスにアクセスするために使用できるテクノロジーを利用しています。 AWS 詳細については、「Amazon Virtual Private Cloud」を参照してください。

企業ネットワークなどのリモートネットワーク上の現場のデバイスを Amazon VPC に接続するには、ネットワークと Amazon VPC 間の接続マトリックスに記載されているオプションを参照してください

AWS IoT Core データプレーン用の VPC エンドポイントの作成

AWS IoT Core データプレーン API の VPC エンドポイントを作成して、 AWS IoT AWS デバイスをサービスや他のサービスに接続できます。VPC エンドポイントを使い始めるには、インターフェイス VPC エンドポイントを作成し、 AWS IoT Core サービスとして選択します。 AWS CLI を使用している場合は、describe-vpc-endpoint-servicesまず電話して、特定のアベイラビリティーゾーンを選択していることを確認してください AWS リージョン。 AWS IoT Core 例えば、us-east-1 では、このコマンドは以下のようになります。

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

DNS レコードを自動的に作成するための VPC 機能は無効になっています。これらのエンドポイントを接続するには、プライベート DNS レコードを手動で作成する必要があります。プライベート VPC DNS レコードの詳細については、インターフェイスエンドポイントのプライベート DNS を参照してください。 AWS IoT Core VPC の制限の詳細については、を参照してください制限事項

MQTT クライアントを VPC エンドポイントインターフェースに接続するには:

  • VPC にアタッチされたプライベートホストゾーンに DNS レコードを手動で作成する必要があります。はじめに、「プライベートホストゾーンの作成」を参照してください。

  • プライベートホストゾーン内で、VPC エンドポイントの各 elastic network interface IP のエイリアスレコードを作成します。複数の VPC エンドポイントに複数のネットワークインターフェイス IP がある場合、すべての加重レコードを通して等しい加重の DNS レコードを作成する必要があります。これらの IP アドレスは、説明フィールドの VPC エンドポイント ID でフィルタリングすると DescribeNetworkInterfacesAPI 呼び出しから取得できます。

Amazon VPC AWS IoT Core インターフェイスエンドポイントの作成とデータプレーンのプライベートホストゾーンの設定については、以下の詳細な手順を参照してください。

認証情報プロバイダーの VPC エンドポイントの作成 AWS IoT Core

AWS IoT Core 認証情報プロバイダー用の VPC エンドポイントを作成して、クライアント証明書ベースの認証を使用してデバイスを接続し、Signature Version 4 AWSAWS 形式で一時的な認証情報を取得できます。 AWS IoT Core 認証情報プロバイダーの VPC エンドポイントを使い始めるには、create-vpc-endpointCLI コマンドを実行してインターフェイス VPC エンドポイントを作成し、 AWS IoT Core 認証情報プロバイダーをサービスとして選択します。 AWS AWS IoT Core 特定の場所に存在するアベイラビリティーゾーンを選択していることを確認するには AWS リージョン、まずコマンドを実行します。describe-vpc-endpoint-services例えば、us-east-1 では、このコマンドは以下のようになります。

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

DNS レコードを自動的に作成するための VPC 機能は無効になっています。これらのエンドポイントを接続するには、プライベート DNS レコードを手動で作成する必要があります。プライベート VPC DNS レコードの詳細については、インターフェイスエンドポイントのプライベート DNS を参照してください。 AWS IoT Core VPC の制限の詳細については、を参照してください制限事項

HTTP クライアントを VPC エンドポイントインターフェイスに接続するには:

  • VPC にアタッチされたプライベートホストゾーンに DNS レコードを手動で作成する必要があります。はじめに、「プライベートホストゾーンの作成」を参照してください。

  • プライベートホストゾーン内で、VPC エンドポイントの各 elastic network interface IP のエイリアスレコードを作成します。複数の VPC エンドポイントに複数のネットワークインターフェイス IP がある場合、すべての加重レコードを通して等しい加重の DNS レコードを作成する必要があります。これらの IP アドレスは、説明フィールドの VPC エンドポイント ID でフィルタリングすると DescribeNetworkInterfacesAPI 呼び出しから取得できます。

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 インターフェイスエンドポイントを作成するプロセスは似ていますが、接続を機能させるにはエンドポイント固有の変更を行う必要があります。

VPC エンドポイントコンソールを使用してインターフェイス VPC エンドポイントを作成するには

  1. VPC エンドポイントコンソールに移動し、左側のメニューの [仮想プライベートクラウド] で [エンドポイント] を選択し、[エンドポイントの作成] を選択します。

  2. [エンドポイントの作成] ページで、次の情報を指定します。

    • [Service category] (サービスカテゴリ) には [AWS のサービス s] を選択します。

    • [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] と [Subnets] (サブネット) には、エンドポイントを作成する VPC と、エンドポイントネットワークを作成するアベイラビリティーゾーン (AZ) を選択します。

    • [Enable DNS name] (DNS 名を有効にする) で、[Enable for this endpoint] (このエンドポイントで有効にする) が選択されていないことを確認してください。 AWS IoT Core AWS IoT Core データプレーンも認証情報プロバイダーもまだプライベート DNS 名をサポートしていません。

    • [Security group] (セキュリティグループ) には、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。

    • オプションで、タグを追加または削除できます。タグとは名前と値のペアで、エンドポイントに関連付けるために使用します。

  3. [Create Endpoint] (エンドポイントの作成) をクリックして、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-ATSiot: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. プライベートホストゾーンを作成するには、ホストゾーンの作成を選んでください。

詳細については、「プライベートホストゾーンの作成」を参照してください。

レコードを作成する

プライベートホストゾーンを作成したら、そのドメインにトラフィックをルーティングする方法を DNS に指示するレコードを作成できます。

レコードを作成するには

  1. 表示されるホストゾーンのリストで、前に作成したプライベートホストゾーンを選び、レコードを作成するを選びます。

  2. ウィザードを使用してレコードを作成します。コンソールに [Quick create] (クイック作成) 方式が表示された場合は、[Switch to wizard] (ウィザードに切り替える) をクリックします。

  3. [Routing policy] (ルーティングポリシー) に [Simple Routing] (シンプルルーティング) を選択し、[Next] (次へ) を選びます。

  4. [Configure records] (レコードを設定)ページで、[Define simple record] (シンプルなレコードを定義) を選択します。

  5. [Define simple record] (シンプルなレコードを定義) ページで

    • [レコード名] に、iot:Data-ATSiot:CredentialProviderエンドポイントまたはエンドポイントを入力します。これは、プライベートホストゾーン名と同じである必要があります。

    • [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 インターフェイスエンドポイントの作成」の説明に従って先ほど作成したエンドポイントを選択します。

  6. [Define simple record] (シンプルなレコードを定義) をクリックしてレコードを作成します。

VPC AWS IoT Core エンドポイントへのアクセスの制御

VPC 条件コンテキストキーを使用して、 AWS IoT Core デバイスアクセスを VPC エンドポイント経由でのみ許可するように制限できます。 AWS IoT Core 次の VPC 関連のコンテキストキーをサポートします。

たとえば、次のポリシーは、特定の VPC エンドポイント ID を持つ VPC エンドポイントに接続するデバイスを条件として、Thing 名と一致するクライアント ID AWS IoT Core を使用して接続し、Thing 名のプレフィックスが付いた任意のトピックに公開する権限を付与します。このポリシーでは、パブリック 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 CoreAWS IoT Core データエンドポイントと認証情報プロバイダーエンドポイントでのみサポートされています

IoT データ VPC エンドポイントの制限

このセクションでは、IoT データ VPC エンドポイントの制限について説明します。

  • MQTT キープアライブ期間は 230 秒に制限されています。これより長いキープアライブ時間は自動的に 230 秒に短縮されます。

  • 各 VPC エンドポイントは、合計で 100,000 台の同時接続デバイスをサポートします。より多くの接続が必要な場合は、による VPC エンドポイントのスケーリング AWS IoT Coreを参照してください。

  • VPC エンドポイントは IPv4 トラフィックのみをサポートします。

  • VPC エンドポイントは ATS 証明書のみに対応します (カスタムドメインを除く)。

  • VPC エンドポイントポリシーはサポートされていません

  • AWS IoT Core データプレーン用に作成された VPC エンドポイントでは、ゾーンまたはリージョンのパブリック DNS AWS IoT Core レコードの使用はサポートされていません。

認証情報プロバイダーエンドポイントの制限事項

このセクションでは、認証情報プロバイダー VPC エンドポイントの制限について説明します。

  • VPC エンドポイントは IPv4 トラフィックのみをサポートします。

  • VPC エンドポイントは ATS 証明書のみを提供します

  • VPC エンドポイントポリシーはサポートされていません

  • 認証情報プロバイダーのエンドポイントではカスタムドメインはサポートされていません。

  • AWS IoT Core 認証情報プロバイダー用に作成された VPC エンドポイントでは、ゾーンまたはリージョンのパブリック DNS AWS IoT Core レコードの使用はサポートされていません。

による VPC エンドポイントのスケーリング AWS IoT Core

AWS IoT Core インターフェイス VPC エンドポイントは、1 つのインターフェイスエンドポイントで接続できるデバイス数は 100,000 台に制限されています。ユースケースでブローカーに対する同時接続がこれ以上必要になる場合は、複数の VPC エンドポイントを使用して、インターフェイスエンドポイント間でのデバイスのルーティングを手動で行うことをお勧めします。VPC エンドポイントにトラフィックをルーティングするプライベート DNS レコードを作成するときは、VPC エンドポイントと同じ数の加重レコードを作成して、複数のエンドポイント全体にトラフィックを分散するようにしてください。

VPC エンドポイントでのカスタムドメインの使用

VPC エンドポイントでカスタムドメインを使用する場合は、プライベートホストゾーンでカスタムドメイン名レコードを作成し、Route53 でルーティングレコードを作成する必要があります。詳細については、「プライベートホストゾーンの作成」を参照してください。

注記

AWS IoT Core カスタムドメインはデータエンドポイントでのみサポートされます。

の VPC エンドポイントの可用性 AWS IoT Core

AWS IoT Core インターフェイス VPC エンドポイントは、AWS IoT Core サポートされているすべてのリージョンで使用できます。 AWS IoT Core AWS IoT Core 認証情報プロバイダーのインターフェイス VPC エンドポイントは、中国リージョンおよびではサポートされていません。 AWS GovCloud (US) Regions