ステップ 3: デバイスをテストし、Amazon CA 証明書を保存する - AWS IoT Core

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

ステップ 3: デバイスをテストし、Amazon CA 証明書を保存する

前のセクションに引き続き、このセクションの手順では、AWS Command Line Interface および AWS IoT Core との接続を認証するために使用される認証局証明書をインストールします。

このセクションを完了すると、Raspberry Pi に AWS IoT Device Client をインストールするのに必要なシステムソフトウェアが搭載され、インターネットへの接続が機能していることがわかります。

必要な機器:

AWS Command Line Interface をインストールする

この手順では、AWS CLI を Raspberry Pi にインストールします。

Raspberry Pi を使用している場合、または IoT デバイスでソフトウェアをコンパイルできる場合は、ローカルホストコンピュータのターミナルウィンドウで次の手順を実行します。ローカルホストコンピュータで IoT デバイス用のソフトウェアをコンパイルする必要がある場合は、IoT デバイスのソフトウェアドキュメントで、必要なライブラリに関する情報を確認してください。

Raspberry Pi を AWS CLI にインストールするには
  1. AWS CLI をダウンロードしてインストールするには、次のコマンドを実行します。

    export PATH=$PATH:~/.local/bin # configures the path to include the directory with the AWS CLI git clone https://github.com/aws/aws-cli.git # download the AWS CLI code from GitHub cd aws-cli && git checkout v2 # go to the directory with the repo and checkout version 2 pip3 install -r requirements.txt # install the prerequisite software
  2. AWS CLI をインストールするには、次のコマンドを実行します。このコマンドは完了までに、最大で 15 分かかります。

    pip3 install . # install the AWS CLI
  3. 次のコマンドを実行して、正しいバージョンの AWS CLI がインストールされていることを確認します。

    aws --version

    AWS CLI のバージョンは 2.2 以降でなければなりません。

AWS CLI の現在のバージョンが表示されたら、AWS アカウント 認証情報を設定する に進む準備ができています。

AWS アカウント 認証情報を設定する

この手順では、AWS アカウント認証情報を取得し、それを Raspberry Pi で使用するために追加します。

デバイスに AWS アカウント 認証情報を追加するには
  1. [Access Key ID] (アクセスキー ID) と [Secret Access Key] (シークレットアクセスキー) を AWS アカウント から取得してデバイスで AWS CLI を認証します。

    AWS IAM を初めて利用する場合は、デバイス上で使用する AWS IAM 認証情報をAWS コンソール で作成するために実行するプロセスの説明が https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/ にあります。

  2. Raspberry Pi に接続されているローカルホストコンピュータのターミナルウィンドウで、デバイスの [Access Key ID] (アクセスキー ID) と [Secret Access Key] (シークレットアクセスキー) 認証情報を使用して、次の操作を行います。

    1. 次のコマンドで AWS 設定アプリケーションを実行します。

      aws configure
    2. プロンプトが表示されたら、認証情報と設定情報を入力します。

      AWS Access Key ID: your Access Key ID AWS Secret Access Key: your Secret Access Key Default region name: your AWS リージョン code Default output format: json
  3. 次のコマンドを実行して、デバイスが AWS アカウント および AWS IoT Core エンドポイントにアクセスできることをテストします。

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

    このコマンドで、AWS アカウント に固有の AWS IoT データエンドポイントが、次の例のように返されるはずです。

    { "endpointAddress": "a3EXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }

AWS アカウント に固有の AWS IoT データエンドポイントが表示されたら、Raspberry Pi は接続していてアクセス許可を取得しているので、Amazon ルート CA 証明書をダウンロードする に進みます。

重要

AWS アカウント 認証情報は、Raspberry Pi の microSD カードに保存されました。これで今後の AWS とのやり取りが、ユーザーにとっても、このチュートリアルで作成するソフトウェアにとっても簡単になりますが、デフォルトでは、このステップの後に作成した microSD イメージにも認証情報が保存され、複製されます。

AWS アカウント 認証情報のセキュリティを保護するため、microSD カードイメージの保存をさらに行う前に、aws configure を再実行して認証情報を消去し、[Access Key ID] (アクセスキー ID) と [Secret Access Key] (シークレットアクセスキー) にランダムな文字列を入力して、AWS アカウント 認証情報への危険を防止することを検討してください。

不注意で AWS アカウント 認証情報を保存してしまった場合は、AWS IAM コンソールで認証情報を無効にすることができます。

Amazon ルート CA 証明書をダウンロードする

この手順では、Amazon ルート認証局 (CA) の証明書のコピーをダウンロードして保存します。この証明書をダウンロードすると、以降のチュートリアルで使用するために保存され、デバイスと AWS のサービスとの接続もテストされます。

Amazon ルート CA 証明書をダウンロードして保存するには
  1. 次のコマンドを実行して、証明書用のディレクトリを作成します。

    mkdir ~/certs
  2. 次のコマンドを実行して、Amazon ルート CA 証明書をダウンロードします。

    curl -o ~/certs/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
  3. 次のコマンドを実行して、証明書ディレクトリとそのファイルへのアクセス権を設定します。

    chmod 745 ~ chmod 700 ~/certs chmod 644 ~/certs/AmazonRootCA1.pem
  4. 次のコマンドを実行して、新しいディレクトリ内の CA 証明書ファイルを確認します。

    ls -l ~/certs

    次のようなエントリが表示されます。日付と時刻は異なりますが、ファイルサイズおよびその他の情報はここに示すものと同じである必要があります。

    -rw-r--r-- 1 pi pi 1188 Oct 28 13:02 AmazonRootCA1.pem

    ファイルサイズが 1188 でない場合、curl コマンドパラメータを確認します。間違ったファイルをダウンロードした可能性があります。

(オプション) microSD カードイメージを保存する

この時点で、Raspberry Pi の microSD カードに更新された OS と基本的なアプリケーションソフトウェアがロードされています。

microSD カードのイメージをファイルに保存するには
  1. ローカルホストコンピュータのターミナルウィンドウで、AWS 認証情報をクリアします。

    1. 次のコマンドで AWS 設定アプリケーションを実行します。

      aws configure
    2. プロンプトが表示されたら、認証情報を置き換えます。Enter を押すことによって、[Default region name] (デフォルトリージョン名) と [Default output format] (デフォルト出力形式) をそのままにしておくことができます。

      AWS Access Key ID [****************YT2H]: XYXYXYXYX AWS Secret Access Key [****************9plH]: XYXYXYXYX Default region name [us-west-2]: Default output format [json]:
  2. 次のコマンドを入力して Raspberry Pi をシャットダウンします。

    sudo shutdown -h 0
  3. Raspberry Pi が完全にシャットダウンしたら、電源コネクタを取り外します。

  4. デバイスから microSD カードを取り外します。

  5. ローカルホストコンピュータで、次の操作を行います。

    1. microSD カードを挿入します。

    2. SD カードイメージングツールを使用して、microSD カードのイメージをファイルに保存します。

    3. microSD カードのイメージを保存したら、ローカルホストコンピュータからカードを取り出します。

  6. Raspberry Pi の電源を切断した状態で、microSD カードを Raspberry Pi に挿入します。

  7. デバイスに電源を入れます。

  8. 約 1 分後、ローカルホストコンピュータで、ターミナルウィンドウセッションを再起動し、デバイスにログインします。

    AWS アカウント 認証情報はまだ再入力しないようにします。

Raspberry Pi を再起動してログインしたら、チュートリアル: AWS IoT Device Client のインストールと設定 に進む準備が整います。