

サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS IoT Greengrass Version 1。2026 年 10 月 7 日以降、 AWS IoT Greengrass V1 リソースにアクセスできなくなります。詳細については、[「 からの移行 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)」を参照してください。

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

# ローカルヘルスチェック API を呼び出す
<a name="health-check"></a>

AWS IoT Greengrass には、 によって開始されたローカルワーカープロセスの現在の状態のスナップショットを提供するローカル HTTP API が含まれています AWS IoT Greengrass。このスナップショットには、ユーザー定義の Lambda 関数とシステム Lambda 関数が含まれます。System Lambda 関数は AWS IoT Greengrass Core ソフトウェアの一部です。これらは、コアデバイス上でローカルワーカープロセスとして実行され、メッセージルーティング、ローカルシャドウ同期、および自動 IP アドレス検出などのオペレーションを管理します。

ヘルスチェック API は、次のリクエストをサポートしています。
+ [すべてのワーカーのヘルス情報を取得する](#health-check-get)ために `GET` リクエストを送信する。
+ [指定されたワーカーのヘルス情報を取得する](#health-check-post)ために `POST` リクエストを送信する。

リクエストはデバイス上でローカルに送信され、インターネット接続は必要ありません。

## すべてのワーカーのヘルス情報を取得する
<a name="health-check-get"></a>

実行中のすべてのワーカーに関するヘルス情報を取得するために `GET` リクエストを送信します。
+ *port* を IPC のポート番号に置き換えます。

```
GET http://localhost:port/2016-11-01/health/workers
```

`port`  
IPC のポート番号。  
値は 1024～65535 の間で変更できます。デフォルト値は 8000 です。  
このポート番号を変更するには、`config.json` ファイル内の `ggDaemonPort` プロパティを更新します。詳細については、「[AWS IoT Greengrass コア設定ファイル](gg-core.md#config-json)」を参照してください。

**リクエストの例**

以下の例の `curl` リクエストは、すべてのワーカーのヘルス情報を取得します。

```
curl http://localhost:8000/2016-11-01/health/workers
```

### JSON レスポンス
<a name="health-check-get-response"></a>

このリクエストは、[ワーカーのヘルス情報](#health-information-objects)オブジェクトの配列を返します。

**レスポンスの例**

次のレスポンス例では、 によって開始されたすべてのワーカープロセスのヘルス情報オブジェクトを一覧表示します AWS IoT Greengrass。

```
[
    {
      "FuncArn": "arn:aws:lambda:::function:GGShadowService:1",
      "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE",
      "ProcessId": "1234",
      "WorkerState": "Waiting"
    },
    {
      "FuncArn": "arn:aws:lambda:::function:GGSecretManager:1",
      "WorkerId": "a9916cc2-1b4d-4f0e-4b12-b1872EXAMPLE",
      "ProcessId": "9798",
      "WorkerState": "Waiting"
    },
    {
      "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3",
      "WorkerId": "2e6f785e-66a5-42c9-67df-42073EXAMPLE",
      "ProcessId": "11837",
      "WorkerState": "Waiting"
    },
    ...
]
```

## 指定されたワーカーに関するヘルス情報を取得する
<a name="health-check-post"></a>

指定されたワーカーに関するヘルス情報を取得するために、`POST` リクエストを送信します。*port* を IPC のポート番号に置き換えます。デフォルトは 8,000 です。

```
POST http://localhost:port/2016-11-01/health/workers
```

**リクエストの例**

以下の例の `curl` リクエストは、指定されたワーカーのヘルス情報を取得します。

```
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
```

`body.json` リクエストボディの例を以下に示します。

```
{
    "FuncArns": [
        "arn:aws:lambda:::function:GGShadowService:1",
        "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3"
    ]
}
```

リクエストボディには、`FuncArns` 配列が含まれます。

`FuncArns`  
ターゲットワーカーを表す Lambda 関数の Amazon リソースネーム (ARN) のリスト。  
+ ユーザー定義 Lambda 関数の場合は、現在デプロイされているバージョンの ARN を指定します。エイリアス ARN を使用して Lambda 関数をグループに追加した場合、GET リクエストを使用してすべてのワーカーを取得してから、クエリする ARN を選択できます。
+ システム Lambda 関数の場合は、対応する Lambda 関数の ARN を指定します。詳細については、「[システム Lambda 関数](#system-lambda-functions)」を参照してください。
型: 文字列の配列  
最小長: 1  
最大長: コアデバイスで AWS IoT Greengrass によって開始されたワーカーの総数。

### JSON レスポンス
<a name="health-check-post-response"></a>

このリクエストは `Workers` 配列と `InvalidArns` 配列を返します。

`Workers`  
指定されたワーカーのヘルス情報オブジェクトのリスト。  
タイプ : [ヘルス情報オブジェクト](#health-information-objects)の配列

`InvalidArns`  
ワーカーが関連付けられていない関数 ARN を含む、無効な関数 ARN のリスト。  
型: 文字列の配列

**レスポンスの例**

次のレスポンスの例は、指定されたワーカーの[ヘルス情報オブジェクト](#health-information-objects)の一覧を示しています。

```
{ 
    "Workers": [
        {
            "FuncArn": "arn:aws:lambda:::function:GGShadowService:1",
            "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE",
            "ProcessId": "1234",
            "WorkerState": "Waiting"
        },
        {
            "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3",
            "WorkerId": "2e6f785e-66a5-42c9-67df-42073ESAMPLE",
            "ProcessId": "11837",
            "WorkerState": "Waiting"
        }
    ],
    "InvalidArns" : [
        "some-malformed-arn", 
        "arn:aws:lambda:us-west-2:123456789012:function:some-unknown-function:1"
    ]
}
```

このリクエストは次のエラーを返します。

400 Invalid request  
リクエストボディの形式が正しくありません。この問題を解決するには、以下の形式を使用してリクエストを再送信します。  

```
{"FuncArns":["function-1-arn","function-2-arn"]}
```

400 Request exceeds max number of workers  
`FuncArns` 配列で指定された ARN の数がワーカーの数を超えています。

## ワーカーのヘルス情報
<a name="health-information-objects"></a>

ヘルス情報オブジェクトには、以下のプロパティが含まれています。

`FuncArn`  
ワーカーを表すシステム Lambda 関数の ARN。  
型: `string`

`WorkerId`  
ワーカーの ID。このプロパティはデバッグに役立ちます。`runtime.log` ファイルと Lambda 関数のログにはワーカー ID が含まれているため、このプロパティは複数のインスタンスをスピンアップするオンデマンド Lambda 関数をデバッグする場合に特に便利です。  
型: `string`

`ProcessId`  
ワーカープロセスのプロセス ID (PID)。  
型: `int`

`WorkerState`  
ワーカーの状態。  
型: `string`  
有効なワーカーの状態には以下のものがあります。    
`Working`  
メッセージの処理  
`Waiting`  
メッセージの待機 デーモンまたはスタンドアロンプロセスとして実行される 存続期間の長い Lambda 関数に適用されます。  
`Starting`  
スピンアップして、開始します。  
`FailedInitialization`  
初期化に失敗しました。  
`Terminated`  
Greengrass デーモンによって停止されました。  
`NotStarted`  
開始に失敗し、別の開始が試行されました。  
`Initialized`  
正常に初期化されました。

### システム Lambda 関数
<a name="system-lambda-functions"></a>

次のシステム Lambda 関数のヘルス情報をリクエストできます。

`GGCloudSpooler`  
をソースまたはターゲット AWS IoT Core とする MQTT メッセージのキューを管理します。  
ARN: `arn:aws:lambda:::function:GGCloudSpooler:1`

`GGConnManager`  
Greengrass コアとクライアントデバイス間で MQTT メッセージをルーティングします。  
ARN: `arn:aws:lambda:::function:GGConnManager`

`GGDeviceCertificateManager`  
コアの IP AWS IoT エンドポイントへの変更をシャドウにリッスンし、相互認証のために GGConnManager で使用されるサーバー側の証明書を生成します。  
ARN: `arn:aws:lambda:::function:GGDeviceCertificateManager`

`GGIPDetector`  
Greengrass グループのデバイスが Greengrass コアデバイスを検出できるようにするための IP アドレス自動検出を管理します。IP アドレスを手動で指定する場合、このサービスは適用されません。  
ARN: `arn:aws:lambda:::function:GGIPDetector:1`

`GGSecretManager`  
ローカルシークレットの安全な保管と、ユーザー定義 Lambda およびコネクタによるアクセスを管理します。  
ARN: `arn:aws:lambda:::function:GGSecretManager:1`

`GGShadowService`  
クライアントデバイスのローカルシャドウを管理します。  
ARN: `arn:aws:lambda:::function:GGShadowService`

`GGShadowSyncManager`  
デバイスの `syncShadow`プロパティが に設定されている場合、ローカルシャドウを AWS クラウド コアデバイスおよびクライアントデバイスの と同期します`true`。  
ARN: `arn:aws:lambda:::function:GGShadowSyncManager`

`GGStreamManager`  
データストリームをローカルで処理し、 への自動エクスポートを実行します AWS クラウド。  
ARN: `arn:aws:lambda:::function:GGStreamManager:1`

`GGTES`  
ローカルコードがサービスへのアクセスに使用する Greengrass グループロールで定義された IAM 認証情報を取得するローカルトークン交換 AWS サービス。  
ARN: `arn:aws:lambda:::function:GGTES`