

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

# Amazon Kinesis Video Streams Edge エージェントを にデプロイする AWS IoT Greengrass
<a name="gs-edge-gg"></a>

 

このセクションでは、Amazon Kinesis Video Streams を で使用するための包括的なガイドを提供します AWS IoT Greengrass。これらのサービスを組み合わせることで、エッジデバイスからクラウドにビデオを効率的にストリーミングし、IoT、監視などの幅広いアプリケーションを実現できます。

詳細については、以下を参照してください。
+ 開発環境のセットアップ
+ Kinesis ビデオストリームの作成
+ Lambda 関数の作成とパッケージ化
+ Kinesis Video Streams コアデバイスの設定
+ コアデバイスにデプロイする
+ ストリームの検証

Amazon Kinesis Video Streams Edge Agent を AWS IoT Greengrass にデプロイして、IP カメラからメディアを記録およびアップロードするには、次の手順に従います。

**Topics**
+ [Ubuntu Amazon EC2 インスタンスを作成する](gs-ubuntu.md)
+ [デバイスで AWS IoT Greengrass V2 コアデバイスをセットアップする](gs-setup-gg.md)
+ [IP カメラ RTSP URLs の Amazon Kinesis Video Streams と AWS Secrets Manager リソースを作成する](gs-create-resources.md)
+ [トークン交換サービス (TES) ロールにアクセス許可を追加する](gs-add-permissions.md)
+ [デバイスに AWS IoT Greengrass Secret Manager コンポーネントをインストールする](gs-install-secrets-manager.md)
+ [Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass コンポーネントをデバイスにデプロイする](gs-deploy-edge.md)
+ [デバイスに AWS IoT Greengrass ログマネージャーコンポーネントをインストールする](gs-publish-edge.md)

# Ubuntu Amazon EC2 インスタンスを作成する
<a name="gs-ubuntu"></a>

Ubuntu Amazon EC2 インスタンスを作成するには、次の手順を実行します。

**Ubuntu Amazon EC2 インスタンスを作成する**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

   適切なリージョンが選択されていることを確認します。

1. [**インスタンスの作成**] を選択してください。

   以下のフィールドに値を入力します。
   + **名前** – インスタンスの名前を入力します。
   + **アプリケーションイメージと OS イメージ (Amazon マシンイメージ)** – **Ubuntu** を選択します。
   + **インスタンスタイプ** – **t2.large** を選択します。
   + **キーペアログイン** – 独自のキーペアを作成します。
   + **ネットワーク設定** – デフォルトのままにします。
   + **ストレージの設定** – ボリュームを 256 GiB に増やします。
   + **詳細設定** – デフォルトのままにします。

1. インスタンスを起動し、そのインスタンスに SSH を挿入します。

   以下の操作を実行します。

   1. 左側のナビゲーションで**インスタンス**を選択し、インスタンス ID を選択します。

   1. 右上の**「接続**」を選択します。

   1. **SSH クライアント**を選択し、画面の指示に従います。

   1. ターミナルを開き、ダウンロードした`.pem`ファイル ( にある可能性が高い) に移動します`~/Downloads`。

   1. これらの手順を初めて実行すると、「ホストの信頼性 (...) を確立できません」というメッセージが表示されます。**「はい**」と入力します。

1. システムライブラリをインストールして、Amazon Kinesis Video Streams Edge エージェントをインスタンスに構築します。

   ```
   wget -O- https://apt.corretto.aws/corretto.key | sudo apt-key add - 
   sudo add-apt-repository 'deb https://apt.corretto.aws stable main'
   
   sudo apt-get update
   
   sudo apt-get install -y gcc libssl-dev libcurl4-openssl-dev liblog4cplus-dev \
   libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
   gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad \
   gstreamer1.0-plugins-good gstreamer1.0-tools \
   unzip java-11-amazon-corretto-jdk maven
   ```
**重要**  
一部のサービスを再起動する必要があることを示す画面が表示された場合は、Enter キーを押して**OK** を選択します。

   詳細については、[https://docs.aws.amazon.com//corretto/latest/corretto-11-ug/generic-linux-install.html](https://docs.aws.amazon.com//corretto/latest/corretto-11-ug/generic-linux-install.html)」を参照してください。

# デバイスで AWS IoT Greengrass V2 コアデバイスをセットアップする
<a name="gs-setup-gg"></a>

Amazon EC2 インスタンスに AWS IoT Greengrass コア nucleus ソフトウェアをインストールするには、次の手順に従います。

**AWS IoT Greengrass コアデバイスをセットアップする**

1. [https://console.aws.amazon.com/iot/](https://console.aws.amazon.com/iot/) AWS マネジメントコンソールにサインインします。

   適切なリージョンが選択されていることを確認します。

1. 左側のナビゲーションで、**Greengrass デバイス**、 **Core デバイス**を選択します。

1. 1 **つのコアデバイスをセットアップ**を選択します。

1. 画面上のステップを完了します。
   + **ステップ 1: Greengrass コアデバイスを登録する**。デバイスの名前を入力します。
   + **ステップ 2: をモノのグループに追加して、継続的なデプロイを適用します**。**グループなし**を選択します。
   + **ステップ 3: Greengrass Core ソフトウェアをインストールします**。**Linux** を選択します。
     + **ステップ 3.1: デバイスに Java をインストールする**

       Java は の一部としてインストールされます[Ubuntu Amazon EC2 インスタンスを作成する](gs-ubuntu.md)。Java がまだインストールされていない場合は、このステップに戻ります。
     + **ステップ 3.2: デバイスに AWS 認証情報をコピーする**

       `bash/zsh` オプションを開き、Amazon EC2 インスタンスにエクスポートコマンドを貼り付けます。
     + **ステップ 3.3: インストーラを実行する**

       1. **インストーラをダウンロード**して実行し、Ubuntu Amazon EC2 インスタンスで**インストーラ**コマンドを実行します。
**注記**  
Run **the installer** コマンドは、前のステップで選択した名前に基づいて自動的に更新されます。

       1. 作成されたトークン交換サービス (TES) ロールを書き留めます。これは後で必要になります。
**注記**  
デフォルトでは、作成されたロールは **GreengrassV2TokenExchangeRole** と呼ばれます。

# IP カメラ RTSP URLs の Amazon Kinesis Video Streams と AWS Secrets Manager リソースを作成する
<a name="gs-create-resources"></a>

以下の手順に従って、 に必要なストリームとシークレットを作成します AWS Secrets Manager。最初にこのステップを実行します。これは、ポリシーで作成されたリソースの ARNs が必要なためです。

## Amazon Kinesis Video Streams を作成する
<a name="gs-create-kvs"></a>

 AWS マネジメントコンソール AWS CLI、、または API を使用して Amazon Kinesis Video Streams を作成します。

で AWS マネジメントコンソール、[Amazon Kinesis Video Streams コンソール](https://console.aws.amazon.com/kinesisvideo/home/)を開きます。左側のナビゲーションで**ビデオストリーム**を選択します。

詳細については、「[Amazon Kinesis ビデオストリームを作成する](gs-createstream.md)」を参照してください。

## でシークレットを作成する AWS Secrets Manager
<a name="gs-create-secrets"></a>

で AWS マネジメントコンソール、 [AWS Secrets Manager コンソール](https://console.aws.amazon.com/secretsmanager/landing)を開きます。左側のナビゲーションで**シークレット**を選択します。

適切なリージョンが選択されていることを確認します。

1. **新しいシークレットを保存** を選択します。

   1. **ステップ 1: シークレットタイプを選択する**
      + **[その他のシークレットのタイプ]** を選択します。
      + **「キーと値のペア**」セクションで、キーと値のペアを追加します。

        [**Key**] (キー): `MediaURI`
**注記**  
キーは である必要があります`MediaURI`。これは大文字と小文字が区別されます。誤って入力すると、アプリケーションは機能しません。

        **値**: `Your MediaURI`。  
**Example**  

        **例:** `rtsp://<YourCameraIPAddress>:<YourCameraRTSPPort>/YourCameraMediaURI`。

   1. **ステップ 2: シークレットを設定する**。このシークレットに名前を付けます。任意の名前を付けます。

   1. **ステップ 3: ローテーションを設定する - オプション**。[**次へ**] を選択します。

   1. **ステップ 4: 確認する**。[**保存する**] を選択します。

1. シークレットがすぐに表示されない場合は、更新ボタンを選択します。

   シークレットの名前を選択します。**シークレット ARN** を書き留めます。

1. ストリーミング元の MediaURI ごとにこのプロセスを繰り返します。

**注記**  
 AWS ネットワークは、一部のパブリック RTSP ソースをブロックします。Amazon EC2 インスタンス内から、または VPN への接続中にアンマネージドで実行している場合、これらにアクセスすることはできません。  
カメラ RTSP URL は h.264 形式でビデオをストリーミングする必要があります。フラグメントの期間は、「」で説明されている制限を超えることはできません[プロデューサー SDK クォータ](limits.md#producer-sdk-limits)。  
Amazon Kinesis Video Streams Edge Agent はビデオのみをサポートします。
を実行して`gst-discoverer-1.0 Your RtspUrl`、カメラがデバイスから到達可能であることを確認します。

作成したすべてのストリームとシークレットの ARNs を保存します。次のステップでは、これらが必要です。

# トークン交換サービス (TES) ロールにアクセス許可を追加する
<a name="gs-add-permissions"></a>

シークレットを確認するアクセス許可を引き受けるデバイスにトークン交換サービス (TES) ロールを付与します。これは、コンポーネントが正しく動作するために必要です AWS Secrets Manager AWS IoT Greengrass 。

**TES ロールにアクセス許可を追加する**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. 左側のナビゲーションで**ロール**を選択し、プロセスの前半で作成した TES ロールを検索します。

1. アクセス**許可の追加**ドロップダウンで、**ポリシーのアタッチ**を選択します。

1. [**Create policy**] (ポリシーの作成) を選択します。

1. 下にスクロールして**編集**を選択します。

1. ポリシーエディタで **JSON** を選択し、ポリシーを編集します。

   ポリシーを以下に置き換えます。
**注記**  
`arn:aws:kinesisvideo:*:*:stream/streamName1/*` と を、前のステップで作成したストリームの ARNs `arn:aws:kinesisvideo:*:*:stream/streamName2/*`に置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kinesisvideo:ListStreams"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kinesisvideo:DescribeStream",
                   "kinesisvideo:PutMedia",
                   "kinesisvideo:TagStream",
                   "kinesisvideo:GetDataEndpoint"
               ],
               "Resource": [
                   "arn:aws:kinesisvideo:*:*:stream/streamName1/*",
                   "arn:aws:kinesisvideo:*:*:stream/streamName2/*"
               ]
           }
       ]
   }
   ```

------

1. [**タグの追加**] ページで、[**次へ: レビュー**] を選択します。

1. ポリシーに名前を付け、**ポリシーの作成**を選択します。

   ポリシー名の例としては、**KvsEdgeAccessPolicy** があります。

1. タブを閉じて、ポリシーを TES ロールにアタッチしていたタブに戻ります。

   更新ボタンを選択し、新しく作成されたポリシーを検索します。

   チェックボックスをオンにし、**ポリシーのアタッチ**を選択します。

   次の画面に、**ポリシーがロールに正常にアタッチされたことを示すメモが表示されます。**

1. シークレット用に別のポリシーを作成してアタッチします。

   ポリシーを以下に置き換えます。
**注記**  
を、 ARNs `arn:aws:secretsmanager:*:*:secret:*`に置き換えます[IP カメラ RTSP URLs の Amazon Kinesis Video Streams と AWS Secrets Manager リソースを作成する](gs-create-resources.md)。 MediaURI 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": [
                   "arn:aws:secretsmanager:*:*:secret:*",
                   "arn:aws:secretsmanager:*:*:secret:*"
               ]
           }
       ]
   }
   ```

------

1. メトリクス用に Amazon CloudWatch 別のポリシーを作成してアタッチします。ポリシーを以下に置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "cloudwatch:PutMetricData"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

# デバイスに AWS IoT Greengrass Secret Manager コンポーネントをインストールする
<a name="gs-install-secrets-manager"></a>

Amazon Kinesis Video Streams Edge Agent では、最初に AWS IoT Greengrass Secret Manager コンポーネントをデバイスにインストールする必要があります。

**Secret Manager コンポーネントをインストールする**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iot/](https://console.aws.amazon.com/iot/) で AWS IoT Core コンソールを開きます。適切なリージョンが選択されていることを確認します。

1. 左側のナビゲーションで、**Greengrass デバイス**、**デプロイを選択します**。

   で作成したものと同じターゲットを持つデプロイを選択します[デバイスで AWS IoT Greengrass V2 コアデバイスをセットアップする](gs-setup-gg.md)。

1. 右上隅の **Actions** ドロップダウンで、**Revise** を選択します。

   表示されるポップアップで、**デプロイの修正**を選択します。

1. 以下のセクションを完了します。
   + **ステップ 1: ターゲットを指定します**。[**次へ**] を選択します。
   + **ステップ 2: コンポーネントを選択します**。
     + **aws.greengrass.Cli** コンポーネントが選択されていることを確認します。このコンポーネントはアンインストールしないでください。
     + **選択したコンポーネントのみを表示**の切り替えを切り替え、**aws.greengrass.SecretManager** を検索します。
     + **aws.greengrass.SecretManager** の横にあるチェックボックスをオンにし、**次**へを選択します。
   + **ステップ 3: コンポーネントを設定する**。 AWS IoT Greengrass 環境内から AWS IoT Greengrass シークレットをダウンロードするように Secret Manager コンポーネントを設定します。

     **aws.greengrass.SecretManager** コンポーネントを選択し、**コンポーネントの設定**を選択します。

     表示される画面で、Configuration の AWS Secrets Manager ARNs を更新してマージします。 ****
**注記**  
を、 ARNs `arn:aws:secretsmanager:*:*:secret:*`に置き換えます[IP カメラ RTSP URLs の Amazon Kinesis Video Streams と AWS Secrets Manager リソースを作成する](gs-create-resources.md)。

     ```
     {
      "cloudSecrets": [
           {
             "arn": "arn:aws:secretsmanager:*:*:secret:*"
           },
           {
             "arn": "arn:aws:secretsmanager:*:*:secret:*"
           }
         ]
     }
     ```
**注記**  
`cloudSecrets` は、キー を持つオブジェクトのリストです`arn`。詳細については、「 AWS IoT Greengrass Version 2 デベロッパーガイド」の[「シークレットマネージャー設定](https://docs.aws.amazon.com//greengrass/v2/developerguide/secret-manager-component.html#secret-manager-component-configuration)」セクションを参照してください。

     完了したら、**確認**を選択し、次**へ**を選択します。
   + **ステップ 4: 詳細設定を構成する**。**[次へ]** を選択してください。
   + **ステップ 5: 確認する**。**[Deploy]** (デプロイ) を選択します。

1.  AWS Secrets Manager コンポーネントとアクセス許可が正しくインストールされていることを確認します。

   Ubuntu Amazon EC2 インスタンスで、 と入力`sudo /greengrass/v2/bin/greengrass-cli component details --name aws.greengrass.SecretManager`して、コンポーネントが更新された設定を受信したことを確認します。

1.  AWS IoT Greengrass コアログを検査します。

   「`sudo less /greengrass/v2/logs/greengrass.log`」と入力します。

   デプロイエラーを確認します。

   エラーが発生した場合は、デプロイを修正して`aws.greengrass.SecretManager`コンポーネントを削除します。

   と入力`sudo service greengrass restart`して AWS IoT Greengrass コアサービスを再起動します。

   デプロイエラーがアクセス許可の欠落に関連している場合は、 [トークン交換サービス (TES) ロールにアクセス許可を追加する](gs-add-permissions.md)セクションを確認して、TES ロールに適切なアクセス許可があることを確認します。次に、このセクションを繰り返します。

1. ** AWS IoT Greengrass Secret Manager コンポーネントのシークレットを更新する**
**重要**  
 AWS IoT Greengrass Secret Manager コンポーネントは、デプロイが更新された場合にのみシークレットを取得してキャッシュします。

    AWS IoT Greengrass Secret Manager コンポーネントのシークレットを更新するには、前のステップ 1～6 に従い、次の変更を加えます。

   **ステップ 3: コンポーネントを設定する**。 AWS IoT Greengrass 環境内から AWS IoT Greengrass シークレットをダウンロードするように Secret Manager コンポーネントを設定します。

   **aws.greengrass.SecretManager** コンポーネントを選択し、**コンポーネントの設定**を選択します。

   表示される画面で、パスの`[""]`リセットボックスに貼り付け、**Configuration to merge** ボックスの AWS Secrets Manager ARNs を更新します。 ****

   詳細については、[「更新のリセット](https://docs.aws.amazon.com//greengrass/v2/developerguide/update-component-configurations.html#reset-configuration-update)」を参照してください。

# Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass コンポーネントをデバイスにデプロイする
<a name="gs-deploy-edge"></a>

Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass コンポーネントをデバイスにデプロイするには、以下を実行します。

**コンポーネントのデプロイ**

1. 提供されたリンクを使用して `tar` ファイルをダウンロードします。

   Amazon Kinesis Video Streams Edge Agent のインタレストフォームに記入した場合は、ダウンロードリンクの E メールを確認してください。フォームを完了していない場合は、[ここで](https://pages.awscloud.com/GLOBAL-launch-DL-KVS-Edge-2023-learn.html)入力します。

1. チェックサムを確認します。

1. デバイス内のバイナリと jar を抽出します。

   型: `tar -xvf kvs-edge-agent.tar.gz`。

   抽出後、フォルダ構造は次のようになります。

   ```
   kvs-edge-agent/LICENSE
   kvs-edge-agent/THIRD-PARTY-LICENSES
   kvs-edge-agent/pom.xml
   kvs-edge-agent/KvsEdgeComponent
   kvs-edge-agent/KvsEdgeComponent/recipes
   kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml
   kvs-edge-agent/KvsEdgeComponent/artifacts
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/edge_log_config                   
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/kvs-edge-agent.jar
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/libgstkvssink.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/libIngestorPipelineJNI.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/libcproducer.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/libKinesisVideoProducer.so
   ```
**注記**  
リリースフォルダ名は、最新のバイナリリリース番号を反映するように設定する必要があります。たとえば、1.0.0 リリースでは、フォルダ名は 1.0.0 に設定されます。

1. 依存関係 jar を構築します。
**注記**  
kvs-edge-agent.tar.gz に含まれている jar には依存関係がありません。これらのライブラリを構築するには、次のステップを使用します。

   を含む`kvs-edge-agent`フォルダに移動します`pom.xml`。

   「`mvn clean package`」と入力します。

   これにより、Amazon Kinesis Video Streams Edge Agent が で必要とする依存関係を含む jar ファイルが生成されます`kvs-edge-agent/target/libs.jar`。

1. libs.jar をコンポーネントのアーティファクトを含むフォルダに配置します。

   「`mv ./target/libs.jar ./KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/`」と入力します。

1. **オプション**。プロパティを設定します。Amazon Kinesis Video Streams Edge エージェントは、 モードで次の環境変数を受け入れます AWS IoT Greengrass 。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/kinesisvideostreams/latest/dg/gs-deploy-edge.html)

   実行スクリプトを開いて`kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml`変更し、前述の環境変数を追加します。
**重要**  
変更された実行スクリプトに**タブ**文字が含まれていないことを確認します。 AWS IoT Greengrass コアソフトウェアはレシピを読み取ることができません。

1. Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass コンポーネントをデプロイします。

   タイプ:

   ```
   sudo /greengrass/v2/bin/greengrass-cli deployment create \
     --recipeDir <download location>/kvs-edge-agent/KvsEdgeComponent/recipes/ \
     --artifactDir <download location>/kvs-edge-agent/KvsEdgeComponent/artifacts/ \
     --merge "aws.kinesisvideo.KvsEdgeComponent=EdgeAgentVersion"
   ```

   詳細については、 *AWS IoT Greengrass Version 2 デベロッパーガイド*の以下のセクションを参照してください。
   + [AWS IoT Greengrass CLI コマンド](https://docs.aws.amazon.com//greengrass/v2/developerguide/gg-cli-reference.html)
   + [AWS IoT Greengrass コンポーネントをデバイスにデプロイする](https://docs.aws.amazon.com//greengrass/v2/developerguide/manage-deployments.html)

1. を使用して設定をアプリケーションに送信します AWS CLI。

   1. 新しいファイル を作成します`example-edge-configuration.json`。

      ファイルに次のコードを貼り付けます。これは、毎日午前 9:00:00 から午後 4:59:59 まで ( AWS IoT デバイスのシステム時間に応じて) を記録するサンプル設定です。また、記録されたメディアを毎日午後 7:00:00 から午後 9:59:59 にアップロードします。

      詳細については、「[StartEdgeConfigurationUpdate](API_StartEdgeConfigurationUpdate.md)」を参照してください。

      ```
      {
          "StreamARN": "arn:aws:kinesisvideo:your-region:your-account-id:stream/your-stream/0123456789012",
          "EdgeConfig": {
              "HubDeviceArn": "arn:aws:iot:your-region:your-account-id:thing/kvs-edge-agent-demo",
              "RecorderConfig": {
                  "MediaSourceConfig": {
                      "MediaUriSecretArn": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-dRbHJQ",
                      "MediaUriType": "RTSP_URI"
                  },
                  "ScheduleConfig": {
                      "ScheduleExpression": "0 0 9,10,11,12,13,14,15,16 ? * * *",
                      "DurationInSeconds": 3599
                  }
              },
              "UploaderConfig": {
                  "ScheduleConfig": {
                      "ScheduleExpression": "0 0 19,20,21 ? * * *",
                      "DurationInSeconds": 3599
                  }
              },
              "DeletionConfig": {
                  "EdgeRetentionInHours": 15,
                  "LocalSizeConfig": {
                    "MaxLocalMediaSizeInMB": 2800,
                    "StrategyOnFullSize": "DELETE_OLDEST_MEDIA"
                  },
                  "DeleteAfterUpload": true
              }
          }
      }
      ```

   1. に次のように入力 AWS CLI して、ファイルを Amazon Kinesis Video Streams Edge エージェントに送信します。

      ```
      aws kinesisvideo start-edge-configuration-update --cli-input-json "file://example-edge-configuration.json"
      ```

1. Amazon Kinesis Video Streams Edge Agent のストリームごとに前のステップを繰り返します。

# デバイスに AWS IoT Greengrass ログマネージャーコンポーネントをインストールする
<a name="gs-publish-edge"></a>

**注記**  
[CloudWatch クォータ](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)に注意してください。

ログマネージャーコンポーネントを使用して CloudWatch に自動的にアップロードするように Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass ログを設定するには、次の手順に従います。これは任意の手順です。

**AWS IoT Greengrass ログマネージャーコンポーネントをインストールする**

1.  AWS IoT Greengrass デバイスロールに[適切なアクセス許可](https://docs.aws.amazon.com//greengrass/v2/developerguide/log-manager-component.html#log-manager-component-requirements)があることを確認します。

   1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

   1. 左側のナビゲーション**で ロール** をクリックします。

   1. で作成された TES ロールの名前を選択します[デバイスで AWS IoT Greengrass V2 コアデバイスをセットアップする](gs-setup-gg.md)。必要に応じて検索バーを使用します。

   1. `GreengrassV2TokenExchangeRoleAccess`[] ポリシーを選択します。

   1. JSON タブを選択し、ポリシーが次のようになっていることを確認します。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "logs:CreateLogGroup",
                      "logs:CreateLogStream",
                      "logs:PutLogEvents",
                      "logs:DescribeLogStreams",
                      "s3:GetBucketLocation"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------

   1. `GreengrassV2TokenExchangeRoleAccess` ポリシーが存在しない場合、または必要なアクセス許可がない場合は、これらのアクセス許可を持つ新しい IAM ポリシーを作成し、 で作成された TES ロールにアタッチします[デバイスで AWS IoT Greengrass V2 コアデバイスをセットアップする](gs-setup-gg.md)。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iot/](https://console.aws.amazon.com/iot/) で AWS IoT Core コンソールを開きます。適切なリージョンが選択されていることを確認します。

1. 左側のナビゲーションで、**Greengrass デバイス**、**デプロイを選択します**。

   で作成したものと同じターゲットを持つデプロイを選択します[デバイスで AWS IoT Greengrass V2 コアデバイスをセットアップする](gs-setup-gg.md)。

1. 右上隅で**「アクション**」を選択し、**「修正**」を選択します。

   表示されるポップアップで、**デプロイの修正**を選択します。

1. 以下のセクションを完了します。

   1. **ステップ 1: ターゲットを指定します。**[**次へ**] を選択します。

   1. **ステップ 2: コンポーネントを選択します。**

      1. **aws.greengrass.Cli** コンポーネントと **aws.greengrass.SecretManager** コンポーネントがまだ選択されていることを確認します。
**重要**  
これらのコンポーネントはアンインストールしないでください。

      1. **選択したコンポーネントのみを表示**の切り替えを切り替え、**aws.greengrass.LogManager** を検索します。

      1. **aws.greengrass.LogManager** の横にあるボックスを選択し、**次**へを選択します。

   1. **ステップ 3: コンポーネントを設定する。**Amazon Kinesis Video Streams Edge Agent によって生成されたログをアップロードするようにログ AWS IoT Greengrass マネージャーコンポーネントを設定します。

      **aws.greengrass.LogManager** コンポーネントを選択し、**コンポーネントの設定**を選択します。

      表示される画面で、次のログマネージャー設定をマー**ジする設定**ボックスに貼り付けます。

      ```
      {
          "logsUploaderConfiguration": {
              "componentLogsConfigurationMap": {
                  "aws.kinesisvideo.KvsEdgeComponent/java_kvs.log": {
                      "diskSpaceLimit": "100",
                      "diskSpaceLimitUnit": "MB",
                      "logFileDirectoryPath": "/greengrass/v2/work/aws.kinesisvideo.KvsEdgeComponent/log",
                      "logFileRegex": "java_kvs.log\\w*"
                  },
                  "aws.kinesisvideo.KvsEdgeComponent/cpp_kvs_edge.log": {
                      "diskSpaceLimit": "100",
                      "diskSpaceLimitUnit": "MB",
                      "logFileDirectoryPath": "/greengrass/v2/work/aws.kinesisvideo.KvsEdgeComponent/log",
                      "logFileRegex": "cpp_kvs_edge.log\\w*"
                  },
                  "aws.kinesisvideo.KvsEdgeComponent/cpp_kvssink.log": {
                      "diskSpaceLimit": "100",
                      "diskSpaceLimitUnit": "MB",
                      "logFileDirectoryPath": "/greengrass/v2/work/aws.kinesisvideo.KvsEdgeComponent/log",
                      "logFileRegex": "cpp_kvssink.log\\w*"
                  },
                  "aws.kinesisvideo.KvsEdgeComponent/cpp_kvs_streams.log": {
                      "diskSpaceLimit": "100",
                      "diskSpaceLimitUnit": "MB",
                      "logFileDirectoryPath": "/greengrass/v2/work/aws.kinesisvideo.KvsEdgeComponent/log",
                      "logFileRegex": "cpp_kvs_streams.log\\w*"
                  }
              }
          },
          "periodicUploadIntervalSec": "1"
      }
      ```
**重要**  
前述の設定`logFileDirectoryPath`の は、デフォルトのログ記録出力場所が使用されていることを前提としています。
**注記**  
ログマネージャー設定の各パラメータの詳細については、「 AWS IoT Greengrass Version 2 デベロッパーガイド」の[「ログマネージャー](https://docs.aws.amazon.com//greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration)」セクションを参照してください。

      完了したら、**確認**を選択し、次**へ**を選択します。

   1. **ステップ 4: 詳細設定を構成する。****[次へ]** を選択してください。

   1. **ステップ 5: 確認する。****[Deploy]** (デプロイ) を選択します。

1.  AWS ログマネージャーコンポーネントとアクセス許可が正しくインストールされていることを確認します。

1. Ubuntu Amazon EC2 インスタンスで、 と入力`sudo /greengrass/v2/bin/greengrass-cli component details --name aws.greengrass.LogManager`して、コンポーネントが更新された設定を受信したことを確認します。

1.  AWS IoT Greengrass コアログを検査します。

   「`sudo less /greengrass/v2/logs/greengrass.log`」と入力します。

   デプロイエラーを確認します。

   エラーが発生した場合は、デプロイを修正して`aws.greengrass.LogManager`コンポーネントを削除します。

   と入力`sudo service greengrass restart`して AWS IoT Greengrass コアサービスを再起動します。

   デプロイエラーがアクセス許可の欠落に関連している場合は、[トークン交換サービス (TES) ロールにアクセス許可を追加する](gs-add-permissions.md)TES ロールに適切なアクセス許可があることを確認してください。次に、このセクションを繰り返します。