

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

# Amazon EC2 を使用して仮想デバイスを作成する
<a name="creating-a-virtual-thing"></a>

このチュートリアルでは、クラウドで仮想デバイスとして機能する Amazon EC2 インスタンスを作成します。

このチュートリアルを完了するには、 が必要です AWS アカウント。アカウントをお持ちではない場合、続行する前に、[セットアップ AWS アカウント](setting-up.md) に記載されている手順を完了してください。

**Topics**
+ [Amazon EC2 インスタンスをセットアップする](#set-up-ec2)
+ [Git、Node.js をインストールし、 を設定する AWS CLI](#install-git-node)
+ [仮想デバイスの AWS IoT リソースを作成する](#ec2-create-certificate)
+ [AWS IoT Device SDK for JavaScript をインストールする](#ec2-sdk)
+ [サンプルアプリケーションを実行する](#ec2-run-app)
+ [AWS IoT コンソールでサンプルアプリからのメッセージを表示する](#ec2-view-msg)

## Amazon EC2 インスタンスをセットアップする
<a name="set-up-ec2"></a>

次の手順は、物理デバイスの代わりに仮想デバイスとして機能する Amazon EC2 インスタンスを作成する方法を示しています。

これが作成する最初の Amazon EC2 インスタンスの場合、「[Amazon EC2 Linux インスタンスの開始方法](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/EC2_GetStarted.html)」を参照してください。

**インスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 左側のコンソールメニューから **[Instances]** (インスタンス) セクションを展開し、**[Instances]** (インスタンス) を選択します。**[Instances]** (インスタンス) ダッシュボードから、右側の **[Launch instances]** (インスタンスの起動) を選択すると、基本設定のリストが表示されます。

1. **[Name and tags]** (名前とタグ) セクションで、インスタンスの名前を入力し、オプションでタグを追加します。

1. **[Application and OS Images (Amazon Machine Image)]** (アプリケーションと OS イメージ (Amazon マシンイメージ) ) セクションで、*Amazon Linux 2 AMI (HVM)* など、インスタンス用の AMI テンプレートを選択します。この AMI が「Free tier eligible」(無料利用枠対象) としてマークされていることに注意してください。

1. **[Instance type]** (インスタンスタイプ) セクションで、インスタンスのハードウェア設定を選択できます。デフォルトで選択されている `t2.micro` タイプを選択します。このインスタンスタイプは無料利用枠の対象であることに注意してください。

1. **[Key pair (login)]** (キーペア (ログイン)) セクションでドロップダウンリストからキーペア名を選択するか、**[Create a new key pair]** (新しいキーペアの作成) を選択して新しいキーペアを作成します。新しいキーペアを作成するときは、プライベートキーファイルをダウンロードして安全な場所に保存してください。これは、ダウンロードして保存する唯一の機会だからです。インスタンスを起動する際はキーペアの名前を指定する必要があり、インスタンスに接続する際は毎回対応するプライベートキーを指定する必要があります。
**警告**  
**[Proceed without a key pair]** (キーペアオプションなしで続行) を選択しないでください。キーペアなしでインスタンスを起動すると、インスタンスに接続できません。

1. **[Network settings]** (ネットワーク設定) セクションと **[Configure storage**] (ストレージの設定) セクションでは、デフォルト設定のままでかまいません。準備ができたら、**[Launch Instances]** (インスタンスの起動) を選択します。

1. インスタンスを起動することを知らせる確認ページが表示されます。**インスタンスの表示**を選択して確認ページを閉じ、コンソールに戻ります。

1. **インスタンス**画面で、起動のステータスを確認できます。インスタンスの起動には短時間かかります。インスタンスを起動すると、その初期状態は `pending` です。インスタンスがスタートすると、その状態は `running` に変わり、公開 DNS 名を受け取ります。(**公開 DNS (IPv4)** 列が非表示の場合は、ページの右上隅にある **列の表示 / 非表示** (歯車のシェープをしたアイコン) を選択してから、**公開 DNS (IPv4)** を選択します。)

1. インスタンスが接続できるようになるまで、インスタンスの準備が整うまでに数分かかる場合があります。インスタンスのステータスチェックが正常に終了したことを確認してください。この情報は [**Status Checks**] 列で確認できます。

   新しいインスタンスがステータスチェックに合格したら、次の手順に進み、それに接続します。

**インスタンスに接続するには**

Amazon EC2 コンソールからインスタンスを選択し、Amazon EC2 Instance Connect を使用して接続することを選択することにより、ブラウザベースのクライアントを使用してインスタンスに接続できます。Instance Connect はアクセス許可を処理し、正常な接続を提供します。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 左のメニューで、**[Instances]** (インスタンス) を選択します。

1. インスタンスを選択し、[**接続**] を選択してください。

1. **[Amazon EC2 Instance Connect]**、**[Connect]** (接続) を選択します。

これで、新しい Amazon EC2 インスタンスにログインする **Amazon EC2 Instance Connect** ウィンドウができたはずです。

## Git、Node.js をインストールし、 を設定する AWS CLI
<a name="install-git-node"></a>

このセクションでは、Git と Node.js を Linux インスタンスにインストールします。

**Git をインストールするには**

1. **Amazon EC2 Instance Connect** ウィンドウで、次のコマンドを使用してインスタンスを更新します。

   ```
   sudo yum update -y
   ```

1. **Amazon EC2 Instance Connect**ウィンドウで、次のコマンドを使用して Git をインストールします。

   ```
   sudo yum install git -y
   ```

1. Git がインストールされているかどうか、および Git の現在のバージョンを確認するには、次のコマンドを実行します。

   ```
   git --version
   ```

**Node.js をインストールするには**

1. **Amazon EC2 Instance Connect** ウィンドウで、次のコマンドを使用してノードバージョンマネージャー (nvm) をインストールします。

   ```
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
   ```

   nvm では Node.js の複数のバージョンをインストールすることができ、またそれらの切り替えもできるため、nvm を使用して Node.js をインストールします。

1. **Amazon EC2 Instance Connect** ウィンドウで、このコマンドを使用して nvm を有効にします。

   ```
   . ~/.nvm/nvm.sh
   ```

1. **Amazon EC2 Instance Connect** ウィンドウで、このコマンドを使用して、nvm を使用し、最新バージョンの Node.js をインストールします。

   ```
   nvm install 16
   ```
**注記**  
Node.js の最新の LTS リリースがインストールされます。

   Node.js をインストールすると、Node Package Manager (npm) もインストールされるため、必要に応じて追加のモジュールをインストールできます。

1. **Amazon EC2 Instance Connect** ウィンドウで、このコマンドを使用して、その Node.js がインストールされ、正しく実行されていることをテストします。

   ```
   node -e "console.log('Running Node.js ' + process.version)"
   ```

    このチュートリアルでは Node v10.0 以降が必要です。詳細については、「[チュートリアル: Amazon EC2 インスタンスでの Node.js のセットアップ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html)」を参照してください。

**を設定するには AWS CLI**

Amazon EC2 インスタンスには、 AWS CLIがプリロードされています。ただし、 AWS CLI プロファイルを完了する必要があります。CLI の設定方法の詳細については、「[AWS CLIの設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」を参照してください。

1. 次の例は、サンプル値を示しています。それらを自分の値に置き換えます。これらの値は、[AWS コンソールの **[My Security Credentials]** (セキュリティ認証情報) の下のアカウント情報](https://console.aws.amazon.com//iam/home#/security_credentials)で確認できます。

   **Amazon EC2 Instance Connect** ウィンドウで、次のコマンドを入力します。

   ```
   aws configure
   ```

   その後、表示されるプロンプトでアカウントの値を入力します。

   ```
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: json
   ```

1. 次のコマンドを使用して AWS CLI 設定をテストできます。

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

   が正しく設定されている場合、 コマンド AWS CLI は からエンドポイントアドレスを返す必要があります AWS アカウント。

## 仮想デバイスの AWS IoT リソースを作成する
<a name="ec2-create-certificate"></a>

このセクションでは、 を使用してモノのオブジェクトとその証明書ファイルを仮想デバイスに直接 AWS CLI 作成する方法について説明します。これは、別のコンピュータからデバイスにコピーすることで生じる可能性のある複雑さを避けるために、デバイス上で直接行われます。このセクションでは、仮想デバイス用に次のリソースを作成します。
+ 仮想デバイスを表すモノのオブジェクト AWS IoT。
+ 仮想デバイスを認証するための証明書。
+ 仮想デバイスが AWS IoTに接続し、メッセージを発行、受信、およびサブスクライブすることを許可するポリシードキュメント。

**Linux インスタンスで AWS IoT モノのオブジェクトを作成するには**

に接続されたデバイスは AWS IoT 、 AWS IoT レジストリ内の*モノのオブジェクト*によって表されます。*モノのオブジェクト*は、特定のデバイスまたは論理エンティティを表します。この場合、*モノのオブジェクト*は仮想デバイス、つまりこの Amazon EC2 インスタンスを表します。

1. **Amazon EC2 Instance Connect** ウィンドウで、次のコマンドを実行してモノのオブジェクトを作成します。

   ```
   aws iot create-thing --thing-name "MyIotThing"
   ```

1. JSON レスポンスは以下のようになります。

   ```
   {
       "thingArn": "arn:aws:iot:your-region:your-aws-account:thing/MyIotThing", 
       "thingName": "MyIotThing",
       "thingId": "6cf922a8-d8ea-4136-f3401EXAMPLE"
   }
   ```

**Linux インスタンスで AWS IoT キーと証明書を作成してアタッチするには**

**[create-keys-and-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/create-keys-and-certificate.html)** コマンドを実行すると、Amazon ルート認証局によって署名されたクライアント証明書が作成されます。この証明書は、仮想デバイスの ID を認証するために使用されます。

1. **Amazon EC2 Instance Connect**ウィンドウで、証明書とキーファイルを保存するディレクトリを作成します。

   ```
   mkdir ~/certs
   ```

1. **Amazon EC2 Instance Connect** ウィンドウで、このコマンドを使用して、Amazon 認証機関 (CA) 証明書のコピーをダウンロードします。

   ```
   curl -o ~/certs/Amazon-root-CA-1.pem \
       https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

1. **Amazon EC2 Instance Connect** ウィンドウで、次のコマンドを実行して、プライベートキー、パブリックキー、および X.509 証明書ファイルを作成します。このコマンドは、証明書を に登録してアクティブ化します AWS IoT。

   ```
   aws iot create-keys-and-certificate \
       --set-as-active \
       --certificate-pem-outfile "~/certs/device.pem.crt" \
       --public-key-outfile "~/certs/public.pem.key" \
       --private-key-outfile "~/certs/private.pem.key"
   ```

   レスポンスは次のようになります。`certificateArn` を保存して、後続のコマンドで使用できるようにします。証明書をモノにアタッチし、後の手順で証明書にポリシーをアタッチするには、この証明書が必要になります。

   ```
   {
       "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2",
       "certificateId": "9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2",
       "certificatePem": "
   -----BEGIN CERTIFICATE-----
   MIICiTCCEXAMPLE6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC
   VVMxCzAJBgNVBAgEXAMPLEAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6
   b24xFDASBgNVBAsTC0lBTSEXAMPLE2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd
   BgkqhkiG9w0BCQEWEG5vb25lQGFtYEXAMPLEb20wHhcNMTEwNDI1MjA0NTIxWhcN
   MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCEXAMPLEJBgNVBAgTAldBMRAwDgYD
   VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAEXAMPLEsTC0lBTSBDb25z
   b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEXAMPLE25lQGFt
   YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+aEXAMPLE
   EXAMPLEfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T
   rDHudUZEXAMPLELG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE
   Ibb3OhjZnzcvQAEXAMPLEWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4
   nUhVVxYUntneD9+h8Mg9qEXAMPLEyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb
   FFBjvSfpJIlJ00zbhNYS5f6GuoEDEXAMPLEBHjJnyp378OD8uTs7fLvjx79LjSTb
   NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=
   -----END CERTIFICATE-----\n",
       "keyPair": {
           "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\nMMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\n59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\nhJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\nFQIDAQAB\n-----END PUBLIC KEY-----\n",
           "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nkey omitted for security reasons\n-----END RSA PRIVATE KEY-----\n"
       }
   }
   ```

1. **Amazon EC2 Instance Connect** ウィンドウで、次のコマンドと、前のコマンドからの応答に含まれている *certificateArn* を使用して、作成したばかりの証明書にモノのオブジェクトをアタッチします。

   ```
   aws iot attach-thing-principal \
       --thing-name "MyIotThing" \
       --principal "certificateArn"
   ```

   成功した場合、このコマンドは出力を表示しません。

**ポリシーを作成してアタッチするには**

1. **Amazon EC2 Instance Connect**ウィンドウで、このポリシードキュメントをコピーして **\$1/policy.json**という名前のファイルに貼り付け、ポリシーファイルを作成します。

   お気に入りの Linux エディタがなければ、このコマンドを使用して **nano** を開くことができます。

   ```
   nano ~/policy.json
   ```

   その中に `policy.json` のポリシードキュメントを貼り付けます。ctrl-x で **nano** エディタを終了し、ファイルを保存します。

   `policy.json` のポリシードキュメントの内容。  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Receive",
                   "iot:Connect"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

1. **Amazon EC2 Instance Connect **ウィンドウで、次のコマンドを使用してポリシーを作成します。

   ```
   aws iot create-policy \
       --policy-name "MyIotThingPolicy" \
       --policy-document "file://~/policy.json"
   ```

   出力:  
****  

   ```
   {
       "policyName": "MyIotThingPolicy",
       "policyArn": "arn:aws:iot:us-east-1:your-aws-account:policy/MyIotThingPolicy",
       "policyDocument": "{
           \"Version\": \"2012-10-17\",
           \"Statement\": [
               {
                   \"Effect\": \"Allow\",
                   \"Action\": [
                       \"iot:Publish\",
                       \"iot:Receive\",
                       \"iot:Subscribe\",
                       \"iot:Connect\"
                   ],
                   \"Resource\": [
                       \"*\"
                   ]
           }
           ]
       }",
       "policyVersionId": "1"
   }
   ```

1. **Amazon EC2 Instance Connect**ウィンドウで、次のコマンドを使用して、仮想デバイスの証明書にポリシーをアタッチします。

   ```
   aws iot attach-policy \
       --policy-name "MyIotThingPolicy" \
       --target "certificateArn"
   ```

   成功した場合、このコマンドは出力を表示しません。

## AWS IoT Device SDK for JavaScript をインストールする
<a name="ec2-sdk"></a>

このセクションでは、 AWS IoT Device SDK for JavaScript をインストールします。これには、アプリケーションが AWS IoT およびサンプルプログラムとの通信に使用できるコードが含まれています。詳細については、「[AWS IoT Device SDK for JavaScript GitHub repository](https://github.com/aws/aws-iot-device-sdk-js-v2)」(Device SDK for JavaScript GitHub リポジトリ) を参照してください。

**Linux インスタンスに AWS IoT Device SDK for JavaScript をインストールするには**

1. **Amazon EC2 Instance Connect** ウィンドウで、このコマンドを使用して AWS IoT Device SDK for JavaScript リポジトリをホーム`aws-iot-device-sdk-js-v2`ディレクトリの ディレクトリにクローンします。

   ```
   cd ~
   git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
   ```

1. 前のステップで作成した `aws-iot-device-sdk-js-v2` ディレクトリに移動します。

   ```
   cd aws-iot-device-sdk-js-v2
   ```

1. npm を使用して SDK をインストールします。

   ```
   npm install
   ```

## サンプルアプリケーションを実行する
<a name="ec2-run-app"></a>

 次のセクションのコマンドは、次の表に示すように、キーおよび証明書ファイルがご利用の仮想デバイスに保存されていることを前提としています。


**証明書ファイル名**  

|  ファイル  |  ファイルパス  | 
| --- | --- | 
|  プライベートキー  |  `~/certs/private.pem.key`  | 
|  デバイス証明書  |  `~/certs/device.pem.crt`  | 
|  ルート CA 証明書  |  `~/certs/Amazon-root-CA-1.pem`  | 

このセクションでは、 AWS IoT Device SDK for JavaScript の `aws-iot-device-sdk-js-v2/samples/node` ディレクトリにある`pub-sub.js`サンプルアプリケーションをインストールして実行します。このアプリケーションは、デバイス (Amazon EC2 インスタンス) が MQTT ライブラリを使用して MQTT メッセージを発行およびサブスクライブする方法を示します。`pub-sub.js` サンプルアプリケーションは、トピック、`topic_1` をサブスクライブし、そのトピックに対して 10 個のメッセージを発行し、メッセージブローカーから受信したメッセージを表示します。

**サンプルアプリケーションをインストールして実行するには**

1. **Amazon EC2 Instance Connect** ウィンドウで、SDK が作成した `aws-iot-device-sdk-js-v2/samples/node/pub_sub` ディレクトリに移動し、これらのコマンドを使用してサンプルアプリケーションをインストールします。

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. **Amazon EC2 Instance Connect** ウィンドウで、このコマンド AWS IoT を使用して から *your-iot-endpoint* を取得します。

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

1. **Amazon EC2 Instance Connect** ウィンドウで、示されているように *your-iot-endpoint* を挿入し、このコマンドを実行します。

   ```
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

サンプルアプリケーション:

1.  AWS IoT Core アカウントの に接続します。

1. メッセージトピック **topic\$11** をサブスクライブし、そのトピックで受信したメッセージを表示します。

1. 10 個のメッセージをトピック、**topic\$11** に発行します。

1. 次のような出力を表示します。

   ```
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":1}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":2}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":3}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":4}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":5}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":6}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":7}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":8}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":9}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":10}
   ```

サンプルアプリケーションの実行に問題がある場合は、[サンプルアプリケーションの問題をトラブルシューティングする](gs-device-troubleshoot.md) を確認してください。

コマンドラインに `--verbosity debug` パラメータを追加して、サンプルアプリケーションが実行内容に関する詳細なメッセージを表示するようにすることもできます。この情報は、問題の修正に役立つ場合があります。

## AWS IoT コンソールでサンプルアプリからのメッセージを表示する
<a name="ec2-view-msg"></a>

**AWS IoT コンソール**の**MQTT テストクライアント**を使用することで、サンプルアプリケーションメッセージがメッセージブローカーを通過するときにそれらを見ることができます。

**サンプルアプリケーションによって発行された MQTT メッセージを表示するには**

1. 確認[MQTT クライアントで AWS IoT MQTT メッセージを表示する](view-mqtt-messages.md)。これは、**AWS IoT コンソール**で **MQTT テストクライアント**を使用して、メッセージブローカーを通過する MQTT メッセージを表示する方法を学ぶのに役立ちます。

1. **AWS IoT コンソール**で **MQTT テストクライアント**を開きます。

1. 「**トピックへのサブスクライブ**」で、「**topic\$11**」というトピックをサブスクライブします。

1. **Amazon EC2 Instance Connect** ウィンドウで、サンプルアプリケーションを再度実行し、**AWS IoT コンソール**の **MQTT テストクライアント**のメッセージを確認します。

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

MQTT と がプロトコル AWS IoT Core をサポートする方法の詳細については、[「MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html)」を参照してください。