

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

# Edge Manager をダウンロードしてセットアップする
<a name="edge-getting-started-step4"></a>

Edge Manager エージェントはエッジデバイス用の推論エンジンです。エージェントを使用して、エッジデバイスにロードされたモデルで予測を行います。エージェントはモデルのメトリクスを収集し、特定の間隔でデータをキャプチャします。



このセクションでは、エージェントを使用してデバイスを設定します。これを行うには、最初に、リリースバケットからリリースアーティファクトと署名ルート証明書をローカルマシンにコピーします。リリースアーティファクトを解凍したら、それを Amazon S3 にアップロードします。次に、エージェントの設定ファイルを定義し、保存します。コピーアンドペーストできるテンプレートが用意されています。最後に、デバイスにリリースアーティファクト、設定ファイル、認証情報をコピーします。

1. **SageMaker Edge Manager エージェントをダウンロードする。**

   エージェントは、サポート対象のオペレーティングシステム向けに、バイナリ形式でリリースされます。この例では、Linux オペレーティングシステムを使用し、ARM64 アーキテクチャを持つ Jetson Nano で推論が実行されます。サポート対象のデバイスが使用するオペレーティングシステムとアーキテクチャの詳細については、「[サポートされているデバイス、チップアーキテクチャ、システム](neo-supported-devices-edge-devices.md)」を参照してください。

   us-west-2 リージョンの SageMaker Edge Manager リリースバケットから最新バージョンのバイナリを取得します。

   ```
   !aws s3 ls s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/ | sort -r
   ```

   これにより、バージョン別に並べ替えられたリリースアーティファクトが返されます。

   ```
                              PRE 1.20210512.96da6cc/
                              PRE 1.20210305.a4bc999/
                              PRE 1.20201218.81f481f/
                              PRE 1.20201207.02d0e97/
   ```

   バージョンの形式は `<MAJOR_VERSION>.<YYYY-MM-DD>.<SHA-7>` のようになっています。これは、3 つのコンポーネントから構成されています。
   + `<MAJOR_VERSION>`: リリースのバージョン。現在、リリースバージョンは `1` に設定されています。
   + `<YYYY-MM-DD>`: リリースアーティファクトのタイムスタンプ。
   + <SHA-7>: リリースのビルド元のリポジトリコミット ID。

   圧縮された tar ファイルを、ローカルにコピーするか、デバイスに直接コピーします。次の例は、このドキュメントを公開した時点で最新のリリースアーティファクトをコピーする方法を示しています。

   ```
   !aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/1.20201218.81f481f/1.20201218.81f481f.tgz ./
   ```

   アーティファクトを入手したら、圧縮された tar ファイルを解凍します。以下の例では、tar ファイルを解凍し、それを `agent_demo` ディレクトリに保存しています。

   ```
   !mkdir agent_demo
   !tar -xvzf 1.20201218.81f481f.tgz -C ./agent_demo
   ```

   Amazon S3 バケットにエージェントのリリースアーティファクトをアップロードします。次のサンプルコードは、`agent_demo` 内のコンテンツをコピーし、Amazon S3 バケットの `agent_demo` ディレクトリにアップロードします。

   ```
   !aws s3 cp --recursive ./agent_demo s3://{bucket}/agent_demo
   ```

   リリースバケットの署名ルート証明書も必要です。

   ```
   !aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Certificates/us-west-2/us-west-2.pem ./
   ```

   この署名ルート証明書を Amazon S3 バケットにアップロードします。

   ```
   !aws s3 cp us-west-2.pem s3://{bucket}/authorization-files/
   ```

1. **SageMaker Edge Manager エージェントの設定ファイルを作成する。**

   まず、エージェントの設定ファイルを次のように定義します。

   ```
   sagemaker_edge_config = {
       "sagemaker_edge_core_device_name": {{"device_name"}},
       "sagemaker_edge_core_device_fleet_name": {{"device_fleet_name"}},
       "sagemaker_edge_core_capture_data_buffer_size": 30,
       "sagemaker_edge_core_capture_data_push_period_seconds": 4,
       "sagemaker_edge_core_folder_prefix": "demo_capture",
       "sagemaker_edge_core_region": "us-west-2",
       "sagemaker_edge_core_root_certs_path": "/agent_demo/certificates",
       "sagemaker_edge_provider_aws_ca_cert_file": "/agent_demo/iot-credentials/AmazonRootCA1.pem",
       "sagemaker_edge_provider_aws_cert_file": "/agent_demo/iot-credentials/device.pem.crt",
       "sagemaker_edge_provider_aws_cert_pk_file": "/agent_demo/iot-credentials/private.pem.key",
       "sagemaker_edge_provider_aws_iot_cred_endpoint": {{"endpoint"}},
       "sagemaker_edge_provider_provider": "Aws",
       "sagemaker_edge_provider_s3_bucket_name": bucket,
       "sagemaker_edge_core_capture_data_destination": "Cloud"
   }
   ```

   以下に置き換えます:
   + `"device_name"` - デバイスの名前 (この文字列は、前のステップで `device_name` という名前の変数に保存されました)。
   + `"device_fleet_name`" - デバイスフリートの名前 (この文字列は、前のステップで `device_fleet_name` という名前の変数に保存されました)。
   + `"endpoint"` 認証情報プロバイダーの AWS アカウント固有のエンドポイント (この文字列は、前のステップの という名前の変数に保存されています`endpoint`)。

   次に、設定ファイルを JSON ファイルとして保存します。

   ```
   edge_config_file = open("sagemaker_edge_config.json", "w")
   json.dump(sagemaker_edge_config, edge_config_file, indent = 6)
   edge_config_file.close()
   ```

   Amazon S3 バケットに設定ファイルをアップロードします。

   ```
   !aws s3 cp sagemaker_edge_config.json s3://{bucket}/
   ```

1. **デバイスにリリースアーティファクト、設定ファイル、認証情報をコピーする。**

   次の手順は、エッジデバイスで実行します。
**注記**  
まず、 AWS CLI エッジデバイスに Python AWS SDK for Python (Boto3)、、 をインストールする必要があります。

   デバイスのターミナルを開きます。リリースアーティファクト、認証情報、設定ファイルを保存するフォルダを作成します。

   ```
   mkdir agent_demo
   cd agent_demo
   ```

   デバイスに、Amazon S3 バケットに保存したリリースアーティファクトの内容をコピーします。

   ```
   # Copy release artifacts 
   aws s3 cp s3://{{<bucket-name>}}/{{agent_demo}}/ ./ --recursive
   ```

   (リリースアーティファクトの内容は、前のステップでディレクトリ `agent_demo` に保存されました)。`<bucket-name>` と `agent_demo` を、Amazon S3 バケットの名前とリリースアーティファクトへのファイルパスに置換します。

   `/bin` ディレクトリに移動し、バイナリファイルに実行権限を付与します。

   ```
   cd bin
   
   chmod +x sagemaker_edge_agent_binary
   chmod +x sagemaker_edge_agent_client_example
   
   cd agent_demo
   ```

    AWS IoT 認証情報を保存するディレクトリを作成し、Amazon S3 バケットからエッジデバイスに認証情報をコピーします (変数 で定義したのと同じ を使用します`bucket`。

   ```
   mkdir iot-credentials
   cd iot-credentials
   
   aws s3 cp s3://{{<bucket-name>}}/authorization-files/AmazonRootCA1.pem ./
   aws s3 cp s3://{{<bucket-name>}}/authorization-files/device.pem.crt ./
   aws s3 cp s3://{{<bucket-name>}}/authorization-files/private.pem.key ./
   
   cd ../
   ```

   モデルの署名ルート証明書を保存するディレクトリを作成します。

   ```
   mkdir certificates
   
   cd certificates
   
   aws s3 cp s3://{{<bucket-name>}}/authorization-files/us-west-2.pem ./
   
   cd agent_demo
   ```

   デバイスに設定ファイルをコピーします。

   ```
   #Download config file from S3
   aws s3 cp s3://{{<bucket-name>}}/sagemaker_edge_config.json ./
   
   cd agent_demo
   ```

   エッジデバイスの `agent_demo` ディレクトリは次のようなものになります。

   ```
   ├──agent_demo
   |    ├── bin
   |        ├── sagemaker_edge_agent_binary
   |        └── sagemaker_edge_agent_client_example
   |    ├── sagemaker_edge_config.json
   |    ├── certificates
   |        └──us-west-2.pem
   |    ├── iot-credentials
   |        ├── AmazonRootCA1.pem
   |        ├── device.pem.crt
   |        └── private.pem.key
   |    ├── docs
   |        ├── api
   |        └── examples
   |    ├── ATTRIBUTIONS.txt
   |    ├── LICENSE.txt  
   |    └── RELEASE_NOTES.md
   ```