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

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

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

では AWS IoT Core、インターフェイス VPC エンドポイント を使用して、Virtual Private Cloud (VPC) 内に IoT データエンドポイントを作成できます。 https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpointインターフェイス VPC エンドポイントは AWS PrivateLink、プライベート IP アドレスを使用して で実行されているサービスにアクセスするために使用できる テクノロジーである AWS AWS を利用しています。詳細については、「Amazon Virtual Private Cloud」を参照してください。

企業ネットワークなどのリモートネットワークの フィールドのデバイスを Amazon VPC に接続するには、「Network-to-Amazon VPC 接続マトリックス」に記載されているオプションを参照してください。

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

AWS IoT Core データプレーン API 用の VPC エンドポイントを作成して、デバイスを AWS IoT サービスやその他の AWS サービスに接続できます。VPC エンドポイントの使用を開始するには、インターフェイス VPC エンドポイントを作成し、 を AWS サービス AWS IoT Core として選択します。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 レコードを手動で作成する必要があります。プライベート VPC DNS レコードの詳細については、インターフェイスエンドポイントのプライベート DNS を参照してください。 AWS IoT Core VPC の制限の詳細については、「」を参照してください制限事項

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

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

  • プライベートホストゾーン内で、VPC エンドポイントの Elastic Network Interface IP ごとにエイリアスレコードを作成します。複数の VPC エンドポイントに複数のネットワークインターフェイス IP がある場合、すべての加重レコードを通して等しい加重の DNS レコードを作成する必要があります。これらの IP アドレスは、説明フィールドの VPC エンドポイント ID でフィルタリングされたときに DescribeNetworkInterfaces API コールから使用できます。

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

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

AWS IoT Core 認証情報プロバイダーの VPC エンドポイントを作成して、クライアント証明書ベースの認証を使用してデバイスに接続し、AWS 署名バージョン 4 形式で一時的な AWS 認証情報を取得できます。 AWS IoT Core 認証情報プロバイダーの VPC エンドポイントの使用を開始するには、create-vpc-endpoint CLI コマンドを実行してインターフェイス VPC エンドポイントを作成し、 AWS サービスとして AWS IoT Core 認証情報プロバイダーを選択します。 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 でフィルタリングされたときに DescribeNetworkInterfaces API コールから使用できます。

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:CredentialProviderエンドポイントアドレスを入力します。 iot:Data-ATS次の 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-ATSエンドポイントまたはiot: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 条件コンテキストキー を使用して、VPC エンドポイントを介してのみデバイスアクセスを許可する AWS IoT Core ように制限できます。 は、次の VPC 関連のコンテキストキー AWS IoT Core をサポートします。 https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html

注記

AWS IoT Core は、VPC エンドポイント のエンドポイントポリシーをサポートしていません。

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

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 エンドポイントは、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。