翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インターフェイス 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 の詳細については、「ネットワークから 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 エンドポイントの作成
VPC エンドポイント AWS IoT Core の認証情報プロバイダーを作成して、クライアント証明書ベースの認証を使用してデバイスに接続し、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
エンドポイントコンソールに移動し、左側のメニューの [仮想プライベートクラウド] で [エンドポイント]、[エンドポイントを作成] を選択します。 -
[エンドポイントの作成] ページで、以下の情報を指定します。
-
[Service category] (サービスカテゴリ) には [AWS のサービス s] を選択します。
-
[Service Name] (サービス名) については、キーワード
iot
を入力して検索します。表示されたiot
サービスのリストで、エンドポイントを選択します。AWS IoT Core データプレーンの VPC エンドポイントを作成する場合は、リージョン AWS IoT Core のデータプレーン API エンドポイントを選択します。エンドポイントは
com.amazonaws.
の形式です。region
.iot.dataAWS IoT Core 認証情報プロバイダーの VPC エンドポイントを作成する場合は、リージョンの AWS IoT Core 認証情報プロバイダーエンドポイントを選択します。エンドポイントは
com.amazonaws.
の形式です。region
.iot.credentials注記
中国リージョン AWS IoT Core のデータプレーンのサービス名は、 の形式になります
cn.com.amazonaws.
。 AWS IoT Core 認証情報プロバイダーの VPC エンドポイントの作成は、中国リージョンではサポートされていません。region
.iot.data -
[VPC] と [Subnets] (サブネット) には、エンドポイントを作成する VPC と、エンドポイントネットワークを作成するアベイラビリティーゾーン (AZ) を選択します。
-
[Enable DNS name] (DNS 名を有効にする) で、[Enable for this endpoint] (このエンドポイントで有効にする) が選択されていないことを確認してください。 AWS IoT Core データプレーンも AWS IoT Core 認証情報プロバイダーもプライベート DNS 名をまだサポートしていません。
-
[Security group] (セキュリティグループ) には、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。
-
オプションで、タグを追加または削除できます。タグとは名前と値のペアで、エンドポイントに関連付けるために使用します。
-
-
[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 コンソールを使用してプライベートホストゾーンを作成するには
-
Route 53
の [Hosted zones] (ホストゾーン) コンソールに移動して、[Create hosted zone] (ホストゾーンの作成) をクリックします。 -
[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 認証情報プロバイダーではサポートされていません。
-
[タイプ] には、[プライベートホストゾーン] を選択します。
-
必要に応じて、タグを追加または削除してホストゾーンに関連付けることができます。
-
-
プライベートホストゾーンを作成するには、ホストゾーンの作成を選んでください。
詳細については、「プライベートホストゾーンの作成」を参照してください。
レコードを作成する
プライベートホストゾーンを作成したら、そのドメインにトラフィックをルーティングする方法を DNS に指示するレコードを作成できます。
レコードを作成するには
-
表示されるホストゾーンのリストで、前に作成したプライベートホストゾーンを選び、レコードを作成するを選びます。
-
ウィザードを使用してレコードを作成します。コンソールに [Quick create] (クイック作成) 方式が表示された場合は、[Switch to wizard] (ウィザードに切り替える) をクリックします。
-
[Routing policy] (ルーティングポリシー) に [Simple Routing] (シンプルルーティング) を選択し、[Next] (次へ) を選びます。
-
[Configure records] (レコードを設定)ページで、[Define simple record] (シンプルなレコードを定義) を選択します。
-
[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 インターフェイスエンドポイントの作成」の説明に従って先ほど作成したエンドポイントを選択します。
-
-
[Define simple record] (シンプルなレコードを定義) をクリックしてレコードを作成します。
VPC エンドポイント AWS IoT Core を介した へのアクセスの制御
VPC 条件コンテキストキーを使用して、VPC エンドポイントを介してのみデバイスアクセスを許可する AWS IoT Core ように制限できます。 は、次の VPC 関連のコンテキストキー AWS IoT Core をサポートしています。
注記
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 認証情報プロバイダーエンドポイントでのみサポートされています。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 エンドポイントは、1 つのインターフェイスエンドポイントで 100,000 台の接続デバイスに制限されています。ユースケースでブローカーに対する同時接続がこれ以上必要になる場合は、複数の VPC エンドポイントを使用して、インターフェイスエンドポイント間でのデバイスのルーティングを手動で行うことをお勧めします。VPC エンドポイントにトラフィックをルーティングするプライベート DNS レコードを作成するときは、VPC エンドポイントと同じ数の加重レコードを作成して、複数のエンドポイント全体にトラフィックを分散するようにしてください。
VPC エンドポイントでのカスタムドメインの使用
VPC エンドポイントでカスタムドメインを使用する場合は、プライベートホストゾーンにカスタムドメイン名レコードを作成し、Route53 でルーティングレコードを作成する必要があります。詳細については、「プライベートホストゾーンの作成」を参照してください。
注記
カスタムドメインは AWS IoT Core データエンドポイントでのみサポートされています。
の VPC エンドポイントの可用性 AWS IoT Core
AWS IoT Core インターフェイス VPC エンドポイントは、AWS IoT Core サポートされているすべてのリージョン