

지원 종료 공지: 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 함수가 포함되어 있습니다. 시스템 Lambda 함수는 AWS IoT Greengrass 코어 소프트웨어의 일부입니다. 코어 장치에서 로컬 작업자 프로세스로 실행되며 메시지 라우팅, 로컬 섀도 동기화, 자동 IP 주소 감지와 같은 작업을 관리합니다.

상태 확인 API는 다음 요청을 지원합니다.
+ `GET` 요청을 보내 [모든 작업자의 상태 정보를 받아보세요](#health-check-get).
+ `POST` 요청을 보내 [지정된 작업자의 상태 정보를 받아보세요](#health-check-post).

요청은 장치에서 로컬로 전송되며 인터넷 연결이 필요하지 않습니다.

## 모든 작업자의 상태 정보를 확인하세요.
<a name="health-check-get"></a>

`GET` 요청을 보내 실행 중인 모든 작업자의 상태 정보를 받아보세요.
+ {{포트}}를 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` 요청을 보내 지정된 작업자의 상태 정보를 받아보세요. {{포트}}를 IPC의 포트 번호로 바꾸십시오. 기본값은 8000입니다.

```
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 잘못된 요청  
요청 본문이 잘못되었습니다. 이 문제를 해결하려면 다음 형식을 사용하여 요청을 다시 전송하시기 바랍니다.  

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

400 요청이 최대 작업자 수를 초과했습니다.  
`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`  
가 소스 또는 대상으로 있는 MQTT 메시지의 대기열 AWS IoT Core 을 관리합니다.  
ARN: `arn:aws:lambda:::function:GGCloudSpooler:1`

`GGConnManager`  
Greengrass 코어와 클라이언트 장치 간에 MQTT 메시지를 라우팅합니다.  
ARN: `arn:aws:lambda:::function:GGConnManager`

`GGDeviceCertificateManager`  
 AWS IoT 섀도우에서 코어의 IP 엔드포인트에 대한 변경 사항을 수신하고 GGConnManager가 상호 인증을 위해 사용하는 서버 측 인증서를 생성합니다.  
ARN: `arn:aws:lambda:::function:GGDeviceCertificateManager`

`GGIPDetector`  
장치에서 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`