X.509 証明書を使用して IoT Edge デバイスを作成およびプロビジョニングするCreate and provision an IoT Edge device using X.509 certificates

Azure IoT Hub Device Provisioning Service (DPS) では、X.509 証明書を使用して IoT Edge デバイスを自動的にプロビジョニングできます。With the Azure IoT Hub Device Provisioning Service (DPS), you can automatically provision IoT Edge devices using X.509 certificates. 自動プロビジョニングの処理に慣れていない場合は、「自動プロビジョニングの概念」を読んでから先に進んでください。If you're unfamiliar with the process of auto-provisioning, review the auto-provisioning concepts before continuing.

この記事では、次の手順に従って、IoT Edge デバイスで X.509 証明書を使用して Device Provisioning Service への登録を作成する方法について説明します。This article shows you how to create a Device Provisioning Service enrollment using X.509 certificates on an IoT Edge device with the following steps:

  • 証明書とキーを生成する。Generate certificates and keys.
  • デバイスの個別登録を作成するか、一連のデバイスに対してグループ登録を作成する。Create either an individual enrollment for a device, or a group enrollment for a set of devices.
  • IoT Edge ランタイムをインストールし、デバイスを IoT Hub に登録する。Install the IoT Edge runtime and register the device with IoT Hub.

X.509 証明書を構成証明メカニズムとして使用することは、実稼働環境を拡張し、デバイスのプロビジョニングを簡素化するための優れた方法です。Using X.509 certificates as an attestation mechanism is an excellent way to scale production and simplify device provisioning. 通常、X.509 証明書は信頼する証明書チェーンに配置されます。Typically, X.509 certificates are arranged in a certificate chain of trust. 自己署名証明書または信頼されたルート証明書から開始して、チェーン内の各証明書によって、それよりも 1 つ下位にある証明書が署名されます。Starting with a self-signed or trusted root certificate, each certificate in the chain signs the next lower certificate. このパターンにより、ルート証明書から各中間証明書を経由して、デバイスにインストールされた最終的な "リーフ" 証明書に至る、信頼する委任チェーンが作成されます。This pattern creates a delegated chain of trust from the root certificate down through each intermediate certificate to the final "leaf" certificate installed on a device.

前提条件Prerequisites

  • アクティブな IoT Hub。An active IoT Hub.
  • IoT Edge デバイスとなる物理デバイスまたは仮想デバイス。A physical or virtual device to be the IoT Edge device.
  • Git の最新バージョンがインストールされている。The latest version of Git installed.
  • 自分の IoT ハブにリンクした、Azure 内の IoT Hub Device Provisioning Service のインスタンス。An instance of the IoT Hub Device Provisioning Service in Azure, linked to your IoT hub.
    • Device Provisioning Service インスタンスがない場合は、IoT Hub DPS を設定する手順に従ってください。If you don't have a Device Provisioning Service instance, follow the instructions in Set up the IoT Hub DPS.
    • Device Provisioning Service を実行した後、概要ページから [ID スコープ] の値をコピーします。After you have the Device Provisioning Service running, copy the value of ID Scope from the overview page. この値は、IoT Edge ランタイムを構成するときに使用します。You use this value when you configure the IoT Edge runtime.

デバイス ID 証明書を生成するGenerate device identity certificates

デバイス ID 証明書は、信頼する証明書チェーンを介して最上位の X.509 証明機関 (CA) 証明書につながるリーフ証明書です。The device identity certificate is a leaf certificate that connects through a certificate chain of trust to the top X.509 certificate authority (CA) certificate. デバイス ID 証明書の共通名 (CN) は、IoT ハブ内のデバイスに付けるデバイス ID に設定されている必要があります。The device identity certificate must have it common name (CN) set to the device ID that you want the device to have in your IoT hub.

デバイス ID 証明書は、IoT Edge デバイスのプロビジョニングと、Azure IoT Hub でのデバイス認証を行うためにのみ使用されます。Device identity certificates are only used for provisioning the IoT Edge device and authenticating the device with Azure IoT Hub. 証明書に署名するためのものではありません (IoT Edge デバイスから確認のためにモジュールまたはリーフ デバイスに提示される CA 証明書とは異なります)。They aren't signing certificates, unlike the CA certificates that the IoT Edge device presents to modules or leaf devices for verification. 詳細については、Azure IoT Edge 証明書の使用方法に関する詳細のページを参照してください。For more information, see Azure IoT Edge certificate usage detail.

デバイス ID 証明書を作成すると、2 つのファイルができます。証明書の公開部分を含む .cer または pem ファイルと、証明書の秘密キーを含む .cer または pem ファイルです。After you create the device identity certificate, you should have two files: a .cer or .pem file that contains the public portion of the certificate, and a .cer or .pem file with the private key of the certificate. DPS でグループ登録を使用する予定がある場合は、同じ信頼する証明書チェーン内にある中間証明書またはルート CA 証明書の公開部分も必要です。If you plan to use group enrollment in DPS, you also need the public portion of an intermediate or root CA certificate in the same certificate chain of trust.

X.509 を使用して自動プロビジョニングを設定するには、次のファイルが必要です。You need the following files to set up automatic provisioning with X.509:

  • デバイス ID 証明書とその秘密キー証明書。The device identity certificate and its private key certificate. 個別登録を作成すると、デバイス ID 証明書が DPS にアップロードされます。The device identity certificate is uploaded to DPS if you create an individual enrollment. 秘密キーは IoT Edge ランタイムに渡されます。The private key is passed to the IoT Edge runtime.
  • 完全なチェーン証明書。少なくともデバイス ID と中間証明書が含まれている必要があります。A full chain certificate, which should have at least the device identity and the intermediate certificates in it. 完全なチェーン証明書は IoT Edge ランタイムに渡されます。The full chain certificate is passed to the IoT Edge runtime.
  • 信頼する証明書チェーンからの中間証明書またはルート CA 証明書。An intermediate or root CA certificate from the certificate chain of trust. グループ登録を作成すると、この証明書は DPS にアップロードされます。This certificate is uploaded to DPS if you create a group enrollment.

テスト証明書を使用するUse test certificates

新しい ID 証明書を作成するために使用できる証明機関がない場合、このシナリオを試すには、Azure IoT Edge の Git リポジトリにあるスクリプトを使用してテスト証明書を生成できます。If you don't have a certificate authority available to create new identity certs and want to try out this scenario, the Azure IoT Edge git repository contains scripts that you can use to generate test certificates. それらの証明書は開発テスト専用に設計されているため、運用環境では使用できません。These certificates are designed for development testing only, and must not be used in production.

テスト証明書を作成するには、「IoT Edge デバイスの機能をテストするためのデモ用の証明書を作成する」の手順に従います。To create test certificates, follow the steps in Create demo certificates to test IoT Edge device features. 証明書生成スクリプトを設定してルート CA 証明書を作成するために必要とされる、2 つのセクションを完了します。Complete the two required sections to set up the certificate generation scripts and to create a root CA certificate. 次に、手順に従ってデバイス ID 証明書を作成します。Then, follow the steps to create a device identity certificate. 完了すると、次の証明書チェーンとキーの組が作成されます。When you're finished, you should have the following certificate chain and key pair:

Linux:Linux:

  • <WRKDIR>/certs/iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>/private/iot-edge-device-identity-<name>.key.pem

Windows:Windows:

  • <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem

これらの証明書の両方が IoT Edge デバイス上に必要です。You need both these certificates on the IoT Edge device. DPS で個別登録を使用する場合は、.cert.pem ファイルをアップロードします。If you're going to use individual enrollment in DPS, then you will upload the .cert.pem file. DPS でグループ登録を使用する場合は、同じ信頼する証明書チェーン内に、アップロードする中間証明書またはルート CA 証明書も必要です。If you're going to use group enrollment in DPS, then you also need an intermediate or root CA certificate in the same certificate chain of trust to upload. デモ用の証明書を使用している場合は、グループ登録用に <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem 証明書を使用します。If you're using demo certs, use the <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem certificate for group enrollment.

DPS 個別登録を作成するCreate a DPS individual enrollment

生成された証明書とキーを使用して、単一の IoT Edge デバイスに対して DPS で個別登録を作成します。Use your generated certificates and keys to create an individual enrollment in DPS for a single IoT Edge device. 個別登録では、デバイスの ID 証明書の公開部分が渡され、デバイス上の証明書と照合されます。Individual enrollments take the public portion of a device's identity certificate and match that to the certificate on the device.

複数の IoT Edge デバイスをプロビジョニングする場合は、次のセクション「DPS グループ登録を作成する」の手順に従います。If you're looking to provision multiple IoT Edge devices, follow the steps in the next section, Create a DPS group enrollment.

DPS 内に登録を作成するときに、デバイス ツインの初期状態を宣言する機会があります。When you create an enrollment in DPS, you have the opportunity to declare an Initial Device Twin State. デバイス ツインでは、ソリューションで必要な任意のメトリック (リージョン、環境、場所、デバイスの種類など) によってデバイスをグループ化するためのタグを設定できます。In the device twin, you can set tags to group devices by any metric you need in your solution, like region, environment, location, or device type. これらのタグは、自動展開を作成するために使用されます。These tags are used to create automatic deployments.

Device Provisioning Service での登録の詳細については、デバイス登録の管理方法に関するページを参照してください。For more information about enrollments in the Device Provisioning Service, see How to manage device enrollments.

ヒント

Azure CLI では、登録または登録グループを作成し、Edge 対応フラグを使用して、デバイスまたはデバイスのグループが IoT Edge デバイスになるよう指定できます。In the Azure CLI, you can create an enrollment or an enrollment group and use the edge-enabled flag to specify that a device, or group of devices, is an IoT Edge device.

  1. Azure portal で、IoT Hub Device Provisioning Service のインスタンスに移動します。In the Azure portal, navigate to your instance of IoT Hub Device Provisioning Service.

  2. [設定] の下の [登録の管理] を選択します。Under Settings, select Manage enrollments.

  3. [Add individual enrollment](個別登録の追加) を選択し、登録を構成する次の手順を完了します。Select Add individual enrollment then complete the following steps to configure the enrollment:

    • メカニズム: [X.509] を選択します。Mechanism: Select X.509.

    • [プライマリ証明書の .pem ファイルまたは .cer ファイル] : デバイス ID 証明書からパブリック ファイルをアップロードします。Primary Certificate .pem or .cer file: Upload the public file from the device identity certificate. スクリプトを使用してテスト証明書を生成した場合は、次のファイルを選択します。If you used the scripts to generate a test certificate, choose the following file:

      <WRKDIR>/certs/iot-edge-device-identity-<name>.cert.pem

    • [IoT Hub のデバイス ID] : 必要に応じて、デバイス ID を指定します。IoT Hub Device ID: Provide an ID for your device if you'd like. デバイス ID を使用して、個々のデバイスをモジュール展開のターゲットにすることができます。You can use device IDs to target an individual device for module deployment. デバイス ID を指定しない場合は、X.509 証明書内の共通名 (CN) が使用されます。If you don't provide a device ID, the common name (CN) in the X.509 certificate is used.

    • [IoT Edge デバイス] : [True] を選択して、その登録が IoT Edge デバイス用のものであることを宣言します。IoT Edge device: Select True to declare that the enrollment is for an IoT Edge device.

    • [このデバイスを割り当てることができる IoT ハブを選択する] : デバイスの接続先になるリンクされた IoT ハブを選択します。Select the IoT hubs this device can be assigned to: Choose the linked IoT hub that you want to connect your device to. 複数のハブを選択でき、デバイスは、選択した割り当てポリシーに従ってそれらのハブの 1 つに割り当てられます。You can choose multiple hubs, and the device will be assigned to one of them according to the selected allocation policy.

    • [デバイス ツインの初期状態] : 必要に応じて、デバイス ツインに追加するタグ値を追加します。Initial Device Twin State: Add a tag value to be added to the device twin if you'd like. タグを使用して、デバイス グループを自動展開のターゲットにすることができます。You can use tags to target groups of devices for automatic deployment. 次に例を示します。For example:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. [保存] を選択します。Select Save.

これで、このデバイスの登録が存在しているので、IoT Edge ランタイムによってインストール時にデバイスを自動的にプロビジョニングできます。Now that an enrollment exists for this device, the IoT Edge runtime can automatically provision the device during installation. IoT Edge ランタイムをインストールする」セクションに進み、IoT Edge デバイスを設定します。Continue to the Install the IoT Edge runtime section to set up your IoT Edge device.

DPS グループ登録を作成するCreate a DPS group enrollment

生成された証明書とキーを使用して、複数の IoT Edge デバイスに対して DPS でグループ登録を作成します。Use your generated certificates and keys to create a group enrollment in DPS for multiple IoT Edge devices. グループ登録では、個々のデバイス ID 証明書の生成に使用された信頼する証明書チェーンから、中間証明書またはルート CA 証明書を使用します。Group enrollments use an intermediate or root CA certificate from the certificate chain of trust used to generate the individual device identity certificates.

または、単一の IoT Edge デバイスをプロビジョニングする場合は、前のセクション「DPS 個別登録を作成する」の手順に従います。If you're looking to provision a single IoT Edge device instead, follow the steps in the previous section, Create a DPS individual enrollment.

DPS 内に登録を作成するときに、デバイス ツインの初期状態を宣言する機会があります。When you create an enrollment in DPS, you have the opportunity to declare an Initial Device Twin State. デバイス ツインでは、ソリューションで必要な任意のメトリック (リージョン、環境、場所、デバイスの種類など) によってデバイスをグループ化するためのタグを設定できます。In the device twin, you can set tags to group devices by any metric you need in your solution, like region, environment, location, or device type. これらのタグは、自動展開を作成するために使用されます。These tags are used to create automatic deployments.

ルート証明書を確認するVerify your root certificate

登録グループを作成するときに、確認済みの証明書を使用することもできます。When you create an enrollment group, you have the option of using a verified certificate. ルート証明書の所有権があることを示すことによって、DPS で証明書を確認できます。You can verify a certificate with DPS by proving that you have ownership of the root certificate. 詳細については、X.509 CA 証明書の所有証明を行う方法に関するページを参照してください。For more information, see How to do proof-of-possession for X.509 CA certificates.

  1. Azure portal で、IoT Hub Device Provisioning Service のインスタンスに移動します。In the Azure portal, navigate to your instance of IoT Hub Device Provisioning Service.

  2. 左側のメニューから [証明書] を選択します。Select Certificates from the left-hand menu.

  3. [追加] を選択して新しい証明書を追加します。Select Add to add a new certificate.

  4. 証明書のフレンドリ名を入力し、X.509 証明書の公開部分を表す .cer または .pem ファイルを参照します。Enter a friendly name for your certificate, then browse to the .cer or .pem file that represents the public part of your X.509 certificate.

    デモ用の証明書を使用している場合は、<wrkdir>/certs/azure-iot-test-only.root.ca.cert.pem 証明書をアップロードします。If you're using the demo certificates, upload the <wrkdir>/certs/azure-iot-test-only.root.ca.cert.pem certificate.

  5. [保存] を選択します。Select Save.

  6. これで、その証明書が [証明書] ページに表示されます。Your certificate should now be listed on the Certificates page. それを選択して証明書の詳細を開きます。Select it to open the certificate details.

  7. [確認コードを生成します] を選択した後、生成されたコードをコピーします。Select Generate Verification Code then copy the generated code.

  8. 独自の CA 証明書を入手したか、デモ用の証明書を使用しているかにかかわらず、IoT Edge リポジトリに用意されている検証ツールを使用して、所有証明を確認することができます。Whether you brought your own CA certificate or are using the demo certificates, you can use the verification tool provided in the IoT Edge repository to verify proof of possession. 検証ツールでは、CA 証明書を使用して、指定された確認コードをサブジェクト名として持つ新しい証明書に署名します。The verification tool uses your CA certificate to sign a new certificate that has the provided verification code as the subject name.

    • Windows:Windows:

      New-CACertsVerificationCert "<verification code>"
      
    • Linux:Linux:

      ./certGen.sh create_verification_certificate <verification code>
      
  9. Azure portal の同じ証明書詳細ページで、新しく生成された検証証明書をアップロードします。In the same certificate details page in the Azure portal, upload the newly generated verification certificate.

  10. [認証] を選択します。Select Verify.

登録グループを作成するCreate enrollment group

Device Provisioning Service での登録の詳細については、デバイス登録の管理方法に関するページを参照してください。For more information about enrollments in the Device Provisioning Service, see How to manage device enrollments.

  1. Azure portal で、IoT Hub Device Provisioning Service のインスタンスに移動します。In the Azure portal, navigate to your instance of IoT Hub Device Provisioning Service.

  2. [設定] の下の [登録の管理] を選択します。Under Settings, select Manage enrollments.

  3. [登録グループの追加] を選択し、登録を構成する以下の手順を完了します。Select Add enrollment group then complete the following steps to configure the enrollment:

    • [グループ名] : このグループ登録の覚えやすい名前を入力します。Group name: Provide a memorable name for this group enrollment.

    • [構成証明の種類] : [Certificate] を選択します。Attestation Type: Select Certificate.

    • [IoT Edge デバイス] : [True] を選択します。IoT Edge device: Select True. グループ登録の場合、すべてのデバイスを IoT Edge デバイスにする必要があります。そうしない場合、いずれも IoT Edge デバイスにすることはできません。For a group enrollment, all devices must be IoT Edge devices or none of them can be.

    • [証明書の種類] : DPS に格納された確認済みの CA 証明書がある場合は、 [CA 証明書] を選択します。または、この登録だけのために新しいファイルをアップロードする場合は、 [中間証明書] を選択します。Certificate Type: Select CA Certificate if you have a verified CA certificate stored with DPS, or Intermediate Certificate if you want to upload a new file for just this enrollment.

    • [プライマリ証明書] : 直前のセクションで CA 証明書を選択した場合は、ドロップダウン リストから該当する証明書を選択します。Primary certificate: If you chose CA certificate in the last section, choose your certificate from the dropdown list. 中間証明書を選択した場合は、デバイス ID 証明書の生成に使用された信頼する証明書チェーン内の CA 証明書から、パブリック ファイルをアップロードします。If you chose intermediate certificate, upload the public file from a CA certificate in the certificate chain of trust that was used to generate the device identity certificates.

    • [このデバイスを割り当てることができる IoT ハブを選択する] : デバイスの接続先になるリンクされた IoT ハブを選択します。Select the IoT hubs this device can be assigned to: Choose the linked IoT hub that you want to connect your device to. 複数のハブを選択でき、デバイスは、選択した割り当てポリシーに従ってそれらのハブの 1 つに割り当てられます。You can choose multiple hubs, and the device will be assigned to one of them according to the selected allocation policy.

    • [デバイス ツインの初期状態] : 必要に応じて、デバイス ツインに追加するタグ値を追加します。Initial Device Twin State: Add a tag value to be added to the device twin if you'd like. タグを使用して、デバイス グループを自動展開のターゲットにすることができます。You can use tags to target groups of devices for automatic deployment. 次に例を示します。For example:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. [保存] を選択します。Select Save.

これで、このデバイスの登録が存在しているので、IoT Edge ランタイムによってインストール時にデバイスを自動的にプロビジョニングできます。Now that an enrollment exists for this device, the IoT Edge runtime can automatically provision the device during installation. 次のセクションに進み、IoT Edge デバイスをセットアップします。Continue to the next section to set up your IoT Edge device.

IoT Edge ランタイムをインストールするInstall the IoT Edge runtime

IoT Edge ランタイムはすべての IoT Edge デバイスに展開されます。The IoT Edge runtime is deployed on all IoT Edge devices. そのコンポーネントはコンテナー内で実行されるため、デバイスに追加のコンテナーを展開して、Edge でコードを実行できるようにすることができます。Its components run in containers, and allow you to deploy additional containers to the device so that you can run code at the edge.

DPS による x.509 のプロビジョニングは、IoT Edge バージョン 1.0.9 以降でのみサポートされています。X.509 provisioning with DPS is only supported in IoT Edge version 1.0.9 or newer.

デバイスをプロビジョニングする際には、次の情報が必要になります。You'll need the following information when provisioning your device:

  • DPS の ID スコープ値。The DPS ID Scope value. Azure portal で、使用している DPS インスタンスの概要ページから、この値を取得できます。You can retrieve this value from the overview page of your DPS instance in the Azure portal.
  • デバイス上のデバイス ID 証明書チェーン ファイル。The device identity certificate chain file on the device.
  • デバイス上のデバイス ID キー ファイル。The device identity key file on the device.
  • オプションの登録 ID (指定しない場合、デバイス ID 証明書内の共通名から取得されます)。An optional registration ID (pulled from the common name in the device identity certificate if not supplied).

Linux デバイスLinux device

以下のリンクを使用して、デバイスのアーキテクチャに適したコマンドを使ってデバイスに Azure IoT Edge ランタイムをインストールします。Use the following link to install the Azure IoT Edge runtime on your device, using the commands appropriate for your device's architecture. セキュリティ デーモンの構成に関するセクションまで進んだら、X.509 の手動プロビジョニングではなく自動プロビジョニング用に IoT Edge ランタイムを構成します。When you get to the section on configuring the security daemon, configure the IoT Edge runtime for X.509 automatic, not manual, provisioning. この記事にあるここまでのセクションを完了すると、必要なすべての情報と証明書ファイルが用意できます。You should have all the information and certificate files that you need after completing the previous sections of this article.

Linux に Azure IoT Edge ランタイムをインストールするInstall the Azure IoT Edge runtime on Linux

X.509 証明書とキー情報を config.yaml ファイルに追加する場合、パスはファイル URI として指定する必要があります。When you add the X.509 certificate and key information to the config.yaml file, the paths should be provided as file URIs. 次に例を示します。For example:

  • file:///<path>/identity_certificate_chain.pem
  • file:///<path>/identity_key.pem

構成ファイル内の X.509 自動プロビジョニングに関するセクションは、次のようになります。The section in the configuration file for X.509 automatic provisioning looks like this:

# DPS X.509 provisioning configuration
provisioning:
  source: "dps"
  global_endpoint: "https://global.azure-devices-provisioning.net"
  scope_id: "<SCOPE_ID>"
  attestation:
    method: "x509"
#   registration_id: "<OPTIONAL REGISTRATION ID. LEAVE COMMENTED OUT TO REGISTER WITH CN OF identity_cert>"
    identity_cert: "<REQUIRED URI TO DEVICE IDENTITY CERTIFICATE>"
    identity_pk: "<REQUIRED URI TO DEVICE IDENTITY PRIVATE KEY>"

scope_ididentity_certidentity_pk のプレースホルダー値を、使用している DPS インスタンスのスコープ ID と、デバイス上の証明書チェーンおよびキー ファイルの場所を表す URI に置き換えます。Replace the placeholder values for scope_id, identity_cert, identity_pk with the scope ID from your DPS instance, and the URIs to the cert chain and key file locations on your device. 必要に応じてデバイスの registration_id を指定するか、この行をコメントアウトして、デバイスを ID 証明書の CN 名で登録します。Provide a registration_id for the device if you want, or leave this line commented out to register the device with the CN name of the identity certificate.

config.yaml ファイルを更新した後は、必ずセキュリティ デーモンを再起動します。Always restart the security daemon after updating the config.yaml file.

sudo systemctl restart iotedge

Windows デバイスWindows device

ID 証明書チェーンと ID キーを生成したデバイスに IoT Edge ランタイムをインストールします。Install the IoT Edge runtime on the device for which you generated the identity certificate chain and identity key. IoT Edge ランタイムを、手動プロビジョニングではなく、自動プロビジョニング用に構成します。You'll configure the IoT Edge runtime for automatic, not manual, provisioning.

Windows での IoT Edge のインストールの詳細については、コンテナーの管理や IoT Edge の更新などのタスクに関する前提条件や手順を含めて、「Windows に Azure IoT Edge ランタイムをインストールする」を参照してください。For more detailed information about installing IoT Edge on Windows, including prerequisites and instructions for tasks like managing containers and updating IoT Edge, see Install the Azure IoT Edge runtime on Windows.

  1. 管理者モードで PowerShell ウィンドウを開きます。Open a PowerShell window in administrator mode. IoT Edge をインストールするときは、PowerShell (x86) ではなく、PowerShell の AMD64 セッションを必ず使用してください。Be sure to use an AMD64 session of PowerShell when installing IoT Edge, not PowerShell (x86).

  2. Deploy-IoTEdge コマンドを使用して、ご使用の Windows コンピューターがサポートされているバージョンであることを確認し、コンテナー機能をオンに設定した後、moby ランタイムと IoT Edge ランタイムをダウンロードします。The Deploy-IoTEdge command checks that your Windows machine is on a supported version, turns on the containers feature, and then downloads the moby runtime and the IoT Edge runtime. コマンドの既定値では Windows コンテナーが使用されます。The command defaults to using Windows containers.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. この時点で、IoT Core デバイスが自動的に再起動することがあります。At this point, IoT Core devices may restart automatically. その他の Windows 10 または Windows Server デバイスでは、再起動が求められることがあります。Other Windows 10 or Windows Server devices may prompt you to restart. その場合、デバイスをすぐに再起動してください。If so, restart your device now. デバイスが起動されたら、管理者として PowerShell を再実行します。Once your device is ready, run PowerShell as an administrator again.

  4. Initialize-IoTEdge コマンドを使用して、お使いのマシンに IoT Edge ランタイムを構成します。The Initialize-IoTEdge command configures the IoT Edge runtime on your machine. 自動プロビジョニングを使用するために -Dps フラグを使用する場合を除き、このコマンドでは、手動プロビジョニングが既定で設定されます。The command defaults to manual provisioning unless you use the -Dps flag to use automatic provisioning.

    {scope_id}{identity cert chain path}{identity key path} のプレースホルダー値を、使用している DPS インスタンスの適切な値およびデバイス上のファイル パスに置き換えます。Replace the placeholder values for {scope_id}, {identity cert chain path}, and {identity key path} with the appropriate values from your DPS instance and the file paths on your device. 登録 ID を指定する場合は、-RegistrationId {registration_id} も含めて、プレースホルダーを適宜置き換えます。If you want to specify the registration ID, include -RegistrationId {registration_id} as well, replacing the placeholder as appropriate.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -Dps -ScopeId {scope ID} -X509IdentityCertificate {identity cert chain path} -X509IdentityPrivateKey {identity key path}
    

    ヒント

    config.yaml ファイルには、証明書とキー情報がファイル URI として格納されます。The config.yaml file stores your certificate and key information as file URIs. ただし、Initialize-IoTEdge コマンドを使用すると、この書式設定の手順が処理されるため、デバイス上の証明書ファイルとキー ファイルの絶対パスを指定できます。However, the Initialize-IoTEdge command handles this formatting step for you, so you can provide the absolute path to the certificate and key files on your device.

インストールの成功を確認するVerify successful installation

ランタイムが正常に起動されたら、IoT Hub にアクセスし、デバイスに IoT Edge モジュールを展開できます。If the runtime started successfully, you can go into your IoT Hub and start deploying IoT Edge modules to your device.

Device Provisioning Service で作成した個々の登録が使用されたことを確認できます。You can verify that the individual enrollment that you created in Device Provisioning Service was used. Azure portal で Device Provisioning Service インスタンスに移動します。Navigate to your Device Provisioning Service instance in the Azure portal. 作成した個々の登録の詳細を開きます。Open the enrollment details for the individual enrollment that you created. 登録の状態が割り当てられており、デバイス ID が表示されています。Notice that the status of the enrollment is assigned and the device ID is listed.

ランタイムが正常にインストールされ、起動されたことを確認するには、デバイスで次のコマンドを使用します。Use the following commands on your device to verify that the runtime installed and started successfully.

Linux デバイスLinux device

IoT Edge サービスの状態を確認します。Check the status of the IoT Edge service.

systemctl status iotedge

サービス ログを調べます。Examine service logs.

journalctl -u iotedge --no-pager --no-full

実行中のモジュールを一覧表示します。List running modules.

iotedge list

Windows デバイスWindows device

IoT Edge サービスの状態を確認します。Check the status of the IoT Edge service.

Get-Service iotedge

サービス ログを調べます。Examine service logs.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

実行中のモジュールを一覧表示します。List running modules.

iotedge list

次のステップNext steps

Device Provisioning Service の登録プロセスでは、新しいデバイスをプロビジョニングするときに、デバイス ID とデバイス ツイン タグを同時に設定できます。The Device Provisioning Service enrollment process lets you set the device ID and device twin tags at the same time as you provision the new device. これらの値を使用して、個々のデバイスまたはデバイス グループをデバイスの自動管理で使用できます。You can use those values to target individual devices or groups of devices using automatic device management. 使用方法については、「Azure Portal を使用した大規模な IoT Edge モジュールの展開と監視」または「Azure CLI を使用した大規模な IoT Edge モジュールの展開と監視」を参照してください。Learn how to Deploy and monitor IoT Edge modules at scale using the Azure portal or using Azure CLI.