ゲートウェイの設定 - AWS IoT SiteWise

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

ゲートウェイの設定

ゲートウェイは、サーバーと AWS IoT SiteWise の間の仲介として機能します。AWS IoT SiteWise ゲートウェイソフトウェアは、AWS IoT Greengrass を実行可能な任意のプラットフォームにデプロイできます。詳細については、「ゲートウェイプラットフォームの選択」を参照してください。

ゲートウェイのデータ処理パックを使用することで、AWS IoT SiteWise がエッジデバイス上でローカルにデータ処理を行えるようにすることができます。AWS IoT SiteWise にゲートウェイを追加する際に行います。エッジでのデータ処理については、エッジデータ処理を有効にする。 を参照してください。

Amazon EC2 で実行されるゲートウェイを設定するには、AWS CloudFormation テンプレートから必要な依存関係を作成します。詳細については、「Amazon Elastic Compute Cloudのゲートウェイの依存関係を設定する。」を参照してください。

注記

ローカルネットワークおよび企業ネットワークへの IT 管理アクセス権を持つユーザーと一緒に次のステップを実行することをお勧めします。これらのステップでは、サーバーの知識があり、ファイアウォールの設定を行うアクセス許可を持つユーザーが必要となる場合があります。

ゲートウェイ環境のセットアップ

この手順では、AWS IoT Greengrass をインストールして、AWS IoT SiteWise とともに使用するゲートウェイを設定します。

注記

このセクションでは、apt コマンドを使用してパッケージをインストールする手順を説明します。これは、Ubuntu などを実行しているシステムに適用されます。同様のシステムを使用していない場合は、使用しているディストリビューションのドキュメントを参照し、推奨されるパッケージインストーラを使用してください。

ゲートウェイをセットアップするには

  1. 必要に応じて、ゲートウェイの BIOS 設定を次のように変更します。

    1. 停電後にゲートウェイが自動的に再起動することを確認します (該当する場合)。

    2. ゲートウェイが休止状態またはスリープ状態にならないことを確認します (該当する場合)。

  2. ゲートウェイがインターネットに接続されていることを確認します。

  3. (オプション) マウス、キーボード、およびモニターなしでゲートウェイを使用するには、次のステップを実行して、ゲートウェイで ssh をセットアップします。

    1. SSH パッケージをまだインストールしていない場合は、次のコマンドを実行します。

      sudo apt install ssh
    2. 次のコマンドを実行します。

      service ssh status
    3. SSH サーバーが実行されていることを確認するには、出力で Active: active (running) を検索します。

    4. Q を押して終了します。

    SSH を使用して別のコンピュータからゲートウェイに接続するには、次のコマンドを実行します。username はユーザーログインに置き換え、IP はゲートウェイの IP アドレスに置き換えます。

    ssh username@IP

    -p port-number 引数を使用して、デフォルトのポート 22 以外のポートに接続できます。

  4. AWS IoT Greengrass Core ソフトウェア v1.10.2 以降をダウンロードしてインストールし、ゲートウェイの AWS IoT Greengrass グループを作成します。これを行うには、[AWS IoT Greengrass Developer Guide] (デベロッパーガイド) の [Getting started with AWS IoT Greengrass] (始めるにあたって) の指示に従ってください。

    すぐに開始するには、AWS IoT Greengrass デバイスセットアップスクリプトを実行することをお勧めします。AWS IoT Greengrass 要件とプロセスをより詳しく確認する場合は、モジュール 1モジュール 2 の手順に従って AWS IoT Greengrass をセットアップできます。

    重要

    AWS IoT SiteWise がサポートされている[AWS Regions] (リージョン) を見直す。AWS IoT Greengrass でリージョンを選択するときは、リージョンが AWS IoT SiteWise もサポートしていることを確認します。そうしないと、ゲートウェイを AWS IoT SiteWise に接続できません。

    次のステップに進む前に、ゲートウェイに AWS IoT Greengrass Core ソフトウェアをインストールしておく必要があります。

  5. 次のコマンドを実行して Java 8 をインストールします。

    sudo apt update sudo apt install openjdk-8-jre

    このガイドの後半でインストールする AWS IoT SiteWise ゲートウェイソフトウェアは、Java 8 ランタイムを使用します。

  6. Java が正常にインストールされたことを確認するには、次のコマンドを実行します。

    java -version
  7. AWS IoT Greengrass Core ソフトウェアでは、java8 ディレクトリが想定されます。次のコマンドを実行して、Java インストールをその java8 ディレクトリにリンクします。

    sudo ln -s /usr/bin/java /usr/bin/java8
  8. 次のコマンドを実行して、/var/sitewise データディレクトリを作成し、そのディレクトリに ggc_user アクセス許可を付与します。AWS IoT SiteWise はこのディレクトリにデータを保存します。ggc_user は、この手順の前の手順で AWS IoT Greengrass をセットアップしたときに作成しました。

    sudo mkdir /var/sitewise sudo chown ggc_user /var/sitewise sudo chmod 700 /var/sitewise

    /var/sitewise は、AWS IoT SiteWise が使用するデフォルトのディレクトリです。ディレクトリパスをカスタマイズできますが (たとえば、/var/sitewise/var/custom/path/ に置き換えるなど) 、そのためには、AWS IoT SiteWise ゲートウェイの作成後に追加のステップが必要になります。詳細については、AWS IoT SiteWise コネクタの設定 のステップ 6 を参照してください。

  9. 必要に応じて、以下のエンドポイントとポートをローカルネットワークの許可リストに追加するように IT 管理者に依頼してください。

    • ポート: 443、8443、および 8883

      重要

      すべてのネットワーク通信にポート 443 のみを使用するように AWS IoT Greengrass Core を構成できます。詳細については、[AWS IoT Greengrass Developer Guide] (デベロッパーガイド) の[Connect on port 443 or through a network proxy] (ポート443またはネットワークプロキシ経由での接続) を参照してください。

    • ゲートウェイの IP アドレス (ポート 443)。IP アドレスを取得するには、ip address または ifconfig コマンドを実行し、inet 値 (203.0.113.0 など) を書き留めます。

    • AWS IoT SiteWise データエンドポイント: data.iotsitewise.region.amazonaws.com (ポート 443)。

    • ゲートウェイが使用する次の AWS エンドポイント。これらは /greengrass-root/config/config.json ファイルにあります。greengrass-root を AWS IoT Greengrass インストールのルートに置き換えます。

      • ggHost: greengrass-ats.iot.region.amazonaws.com (ポート 443、8443、および 8883)。

      • iotHost: prefix-ats.iot.region.amazonaws.com (ポート 443、8443、および 8883)。

      詳細については、「AWS IoT Greengrass エンドポイントとクォータ」を参照してください。

  10. AWS IoT Greengrass Core ソフトウェアがまだ実行されていない場合は、次のコマンドを実行して AWS IoT Greengrass Core ソフトウェアを起動します。greengrass-root を AWS IoT Greengrass インストールのルートに置き換えます。デフォルトの greengrass-root/greengrass です。

    cd /greengrass-root/ggc/core sudo ./greengrassd start

    次のメッセージが表示されます。Greengrass successfully started with PID: some-PID-number

  11. ゲートウェイがオンになったときに AWS IoT Greengrass Core ソフトウェアが自動的に起動するように設定します。ゲートウェイのオペレーティングシステムのドキュメントを参照してください。

IAMポリシーとロールを作成する。

ゲートウェイがユーザーに代わって AWS IoT SiteWise にアクセスできるようにするには、AWS Identity and Access Management (IAM) ポリシーとロールを作成する必要があります。

IAM ポリシーとロールを作成するには。

  1. に移動します。IAM コンソール

  2. ナビゲーションペインで、[Policies] (ポリシー) を選択し、次に [Create policy] (ポリシーの作成) を選択します。

    
                        IAM 「ポリシー」ページのスクリーンショット。
  3. [JSON] タブで、ポリシーフィールドの現在の内容を削除し、以下のポリシーをフィールドに貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" } ] }
    注記

    セキュリティを向上させるために、 AWS IoT SiteWise プロパティで Condition アセット階層パスを指定できます。次の例は、アセット階層パスを指定する信頼ポリシーです。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }
  4. [Review policy] (ポリシーの確認) を選択します。

  5. ポリシーの名前と説明を入力し、[ポリシーの作成] を選択します。

  6. ナビゲーションペインで [Roles] を選択し、続いて [Create role] を選択します。

    
                        IAM 「ロール」ページのスクリーンショット。
  7. [Select type of trusted entity] (信頼されたエンティティの種類を選択) の下で、[AWS service] (サービス) を選択します。[]ロールを使用するサービスを選択で、Greengrassロールを使用するサービスとして、[] を選択します。次へ: アクセス許可.

    
                        IAM 「信頼されたエンティティの種類を選択」ページのスクリーンショット。
  8. 作成したポリシーを検索し、チェックボックスをオンにして、[] を選択します。次へ: タグ

    
                        IAM 「アクセス許可ポリシーをアタッチする」ページのスクリーンショット。
  9. (オプション) ロールにタグを追加し、[] を選択します。次へ: 確認.

  10. ロールの名前と説明を入力し、[Create role (ロールの作成) ] を選択します。

    
                        IAM 「レビュー」ページのスクリーンショット。
  11. 緑色のバナーで、新しいロールへのリンクを選択します。検索フィールドを使用してロールを検索することもできます。

    
                        IAM「ロール SiteWiseDemo が作成されました」ページのスクリーンショット
  12. [Trust relationships] タブを選択し、続いて [Edit trust relationship] を選択します。

    
                        IAM 「[Trust relationships] (信頼関係)」 タブの 「[Summary] (概要)」 ページのスクリーンショット。
  13. ポリシーフィールドの現在の内容を次のように置き換え、[Update Trust Policy (信頼ポリシーの更新) ] を選択します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

AWS IoT Greengrass グループの設定

グループに IAM ロールをアタッチし、ストリームマネージャーを有効にするには

  1. AWS IoT Greengrass コンソールに移動します。

  2. 左のナビゲーションペインの、[Greengrass] で、[グループ] を選択し、ゲートウェイ環境のセットアップ で作成したグループを選択します。

    
                        AWS IoT Greengrass 「Greengrass グループ」ページのスクリーンショット。
  3. 左のナビゲーションペインの [Settings] (設定) を選択します。[グループのロール] セクションで、[ ロールの追加] を選択します。

    
                        AWS IoT Greengrass 「ロールの追加」ページのスクリーンショット。
  4. IAMポリシーとロールを作成する。 で作成したロールを選択し、[Save (保存) ] を選択します。

    
                        AWS IoT Greengrass 「グループの IAM ロール」ページのスクリーンショット。
  5. [設定] ページの [Stream manager (ストリームマネージャー) ] セクションで [編集] を選択します。

    ストリームマネージャーは、AWS IoT Greengrass Core が AWS クラウドにデータをストリーミングできるようにする AWS IoT Greengrass の機能です。AWS IoT SiteWise ゲートウェイでは、ストリームマネージャーが有効になっている必要があります。詳細については、[AWS IoT Greengrass Version 1 Developer Guide] (デベロッパーガイド) の [Manage data streams on the AWS IoT Greengrass Core] (Core上のデータストリームを管理する) を参照してください。

    
                        AWS IoT Greengrass 「ストリームマネージャー」セクションのスクリーンショット。
  6. [Enabled (有効化) ] を選択し、[保存] を選択します。

  7. 左上隅で、[Services (サービス) ] を選択して次のステップの準備をします。

AWS IoT SiteWise コネクタの設定

このステップでは、Greengrass グループの AWS IoT SiteWise コネクタを設定します。コネクタは、一般的なエッジシナリオの開発ライフサイクルの加速化に役立つあらかじめ構築されたモジュールです。詳細については、[AWS IoT Greengrass Version 1 Developer Guide] (デベロッパーガイド) の[AWS IoT Greengrass connectors] (コネクター) を参照してください。

AWS IoT SiteWise コネクタを設定するには

  1. AWS IoT Greengrass コンソールに移動します。

  2. 左のナビゲーションペインの、[Greengrass] で、[グループ] を選択し、ゲートウェイ環境のセットアップ で作成したグループを選択します。

    
                        AWS IoT Greengrass 「Greengrass グループ」ページのスクリーンショット。
  3. 左側のナビゲーションページで、[Connectors (コネクタ) ] を選択します。[Connectors (コネクタ) ] ページで、[Add a connector (コネクタの追加) ] を選択します。

    
                        AWS IoT Greengrass 「コネクタ」ページのスクリーンショット。
  4. リストから [IoT SiteWise] を選択し、[Next (次へ) ] を選択します。

    
                        AWS IoT Greengrass 「コネクタを選択」ページのスクリーンショット。
  5. サーバーが認証を必要とする場合、サーバーのユーザー名とパスワードで AWS Secrets Manager シークレットを作成することができます。そして、それぞれの秘密を Greengrass グループに添付し、[List of ARNs for username/password secrets] (ユーザーネーム/パスワードの秘密の ARN リスト) で選択することができます。シークレットを作成および設定する方法の詳細については、「ソース認証の設定」を参照してください。後でコネクタにシークレットを追加することもできます。

    
                        AWS IoT Greengrass [Configure a connector (コネクタの設定) ] ページのスクリーンショット。
  6. /var/sitewise とは異なるパスでゲートウェイを設定した場合は、[Local storage path (ローカルストレージパス) ] にそのパスを入力します。

  7. (オプション) コネクタの最大ディスクバッファサイズを入力します。AWS IoT Greengrass Core が AWS クラウドへの接続を失った場合、コネクタは正常に接続できるまでデータをキャッシュします。キャッシュサイズが最大ディスクバッファサイズを超えると、コネクタはキューから最も古いデータを破棄します。

  8. [Add] (追加) を選択します。

  9. ページの右上隅の [Actions (アクション) ] メニューで、[Deploy (デプロイ) ] を選択します。

  10. [Automatic detection (自動検出) ] を選択して、デプロイを開始します。

    デプロイが失敗した場合は、再度[デプロイ] を選択します。デプロイが失敗し続ける場合は、「AWS IoT Greengrass デプロイのトラブルシューティング」を参照してください。

ゲートウェイの AWS IoT SiteWise への追加

このステップでは、ゲートウェイの Greengrass グループを AWS IoT SiteWise に追加します。ゲートウェイを AWS IoT SiteWise に登録すると、サービスはデータソース設定をゲートウェイにデプロイできます。

ゲートウェイを AWS IoT SiteWise に追加するには

  1. AWS IoT SiteWise コンソールに移動します。

  2. [Add gateway (ゲートウェイの追加) ] を選択します。

  3. リポジトリの []を追加します。 SiteWise ゲートウェイ[] ページで、次の操作を実行します。

    1. ゲートウェイの名前を入力します。簡単に識別できるように、名前にゲートウェイの場所を含めることを検討してください。

    2. [Greengrass group ID] (Greengrassグループ ID) は、先ほど作成したGreengrassグループを選択します。

      
                              AWS IoT SiteWise[Add gateway (ゲートウェイの追加) ] ページのスクリーンショット。
    3. (オプション) [Edge capabilities] (Edge機能) については、[Data processing pack] ( データ処理パック) を選択します。これにより、ゲートウェイと、エッジに設定されたあらゆるアセットモデルやアセットとの間の通信が可能になります。詳細については、「エッジデータ処理を有効にする。」を参照してください。

      重要

      ゲートウェイにデータ処理パックを追加した場合、AWS IoT Greengrass グループに Sitewise Edge コネクタを設定し、デプロイする必要があります。次のステップに進んでください。

    4. [Add gateway (ゲートウェイの追加) ] を選択します。

  4. ゲートウェイにデータ処理パックを追加した場合、AWS IoT SiteWise データ処理コネクタを AWS IoT Greengrass グループに設定し、配備してください。AWS IoT SiteWise コネクタの設定 のステップで、AWS IoT SiteWise データプロセッサーコネクターを設定します。

    1. AWS IoT Greengrass コンソールの[Select a connector] (コネクタを選択) で、[AWS IoT SiteWise Data Processor] (データプロセッサー) を選択します。

    2. [Local storage path] (ローカルストレージ) のパスには、ゲートウェイへのパスを入力します。

    3. [Add] (追加) を選択します。

    4. 右上の[Actions] (アクション) メニューから[Deploy] (デプロイ) を選択し、[Automatic detection] (自動検出) を選択してデプロイを開始します。

ゲートウェイがデプロイされたら、ゲートウェイでデータを取り込む元となる各サーバーにソースを追加できます。詳細については、「データソースの設定」を参照してください。

Amazonを表示することができます CloudWatch ゲートウェイがに接続されていることを確認するためのメトリックAWS IoT SiteWise。詳細については、「ゲートウェイメトリクス」を参照してください。