AWS 관리 템플릿을 사용하여 일반적인 원격 작업을 배포할 수 있습니다. - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS 관리 템플릿을 사용하여 일반적인 원격 작업을 배포할 수 있습니다.

AWS 관리 템플릿은 에서 제공하는 작업 AWS 템플릿입니다. 재부팅, 파일 다운로드, 디바이스에 애플리케이션 설치와 같이 자주 수행되는 원격 작업에 사용됩니다. 이러한 템플릿에는 각 원격 작업에 대해 미리 정의된 작업 문서가 있으므로 고유한 작업 문서를 생성할 필요가 없습니다.

미리 정의된 구성 집합에서 선택하고 추가 코드를 작성하지 않고도 이러한 템플릿을 사용하여 작업을 생성할 수 있습니다. 관리형 템플릿을 사용하여 플릿에 배포된 작업 문서를 볼 수 있습니다. 이러한 템플릿으로 작업을 생성하고 원격 작업에 다시 사용할 수 있는 사용자 정의 작업 템플릿을 생성할 수 있습니다.

관리형 템플릿에는 무엇이 포함되어 있나요?

각 AWS 관리 템플릿에는 다음이 포함됩니다.

  • 작업 문서에서 명령을 실행할 환경.

  • 작업 이름과 해당 파라미터를 지정하는 작업 문서입니다. 예를 들어 파일 다운로드(Download file) 템플릿을 사용하는 경우 작업 이름은 파일 다운로드(Download file)이고 파라미터는 다음과 같을 수 있습니다.

    • 디바이스에 다운로드하려는 파일의 URL입니다. 이 URL은 인터넷 리소스이거나 퍼블릭 또는 사전 서명된 Amazon Simple Storage Service(S3) URL일 수 있습니다.

    • 다운로드한 파일을 저장할 디바이스의 로컬 파일 경로입니다.

    작업 문서와 해당 파라미터에 대한 자세한 내용은 관리형 템플릿 원격 작업 및 작업 문서 섹션을 참조하세요.

필수 조건

디바이스에서 관리형 템플릿 작업 문서에 지정된 원격 작업을 디바이스에서 실행하려면 다음을 수행해야 합니다.

  • 디바이스에 특정 소프트웨어 설치

    자체 장치 소프트웨어 및 작업 핸들러 또는 AWS IoT 장치 클라이언트를 사용하십시오. 비즈니스 사례에 따라 서로 다른 기능을 수행하도록 둘 다 실행할 수도 있습니다.

    • 자체 디바이스 소프트웨어 및 작업 핸들러 사용

      AWS IoT Device SDK 와 원격 작업을 지원하는 핸들러 라이브러리를 사용하여 디바이스에 대한 고유한 코드를 작성할 수 있습니다. 작업을 배포하고 실행하려면 디바이스 에이전트 라이브러리가 올바르게 설치되었고 이러한 디바이스에서 실행 중인지 확인합니다.

      원격 작업을 지원하는 자체 핸들러를 사용하도록 선택할 수도 있습니다. 자세한 내용은 AWS IoT Device Client GitHub 리포지토리의 샘플 작업 핸들러를 참조하십시오.

    • AWS IoT 디바이스 클라이언트 사용

      또는 AWS IoT 디바이스 클라이언트는 기본적으로 콘솔에서 직접 모든 관리 템플릿을 사용할 수 있도록 지원하므로 디바이스에 설치하고 실행할 수 있습니다.

      Device Client는 임베디드 Linux 기반 IoT 디바이스에 컴파일하고 설치할 수 있는 C++로 작성된 오픈 소스 소프트웨어입니다. Device Client에는 기본 클라이언트와 개별 클라이언트 측 기능이 있습니다. 기본 클라이언트는 MQTT 프로토콜을 AWS IoT 통한 연결을 설정하고 다양한 클라이언트측 기능에 연결할 수 있습니다.

      디바이스에서 원격 작업을 수행하려면 Device Client의 클라이언트 측 작업 기능을 사용합니다. 이 기능에는 작업 문서를 수신하는 파서와 작업 문서에 지정된 원격 작업을 구현하는 작업 핸들러가 포함되어 있습니다. Device Client와 해당 기능에 대한 자세한 내용은 AWS IoT Device Client를 참조하세요.

      디바이스에서 실행할 때 Device Client는 작업 문서를 수신하고 문서에서 명령을 실행하는 데 사용하는 플랫폼별 구현을 갖습니다. Device Client 설정 및 작업 기능에 대한 자세한 내용은 AWS IoT 자습서를 참조하세요.

  • 지원되는 환경 사용

    각 관리형 템플릿에 대해 원격 작업을 실행하는 데 사용할 수 있는 환경에 대한 정보를 찾을 수 있습니다. 템플릿에 지정된 대로 지원되는 Linux 환경에서 템플릿을 사용하는 것이 좋습니다. AWS IoT Device Client는 Debian 및 Ubuntu와 같은 일반적인 마이크로프로세서와 Linux 환경을 지원하므로 Device Client를 사용하여 관리 템플릿 원격 작업을 실행할 수 있습니다.

관리형 템플릿 원격 작업 및 작업 문서

다음 섹션에서는 AWS IoT 작업에 대한 다양한 AWS 관리 템플릿을 나열하고 장치에서 수행할 수 있는 원격 작업에 대해 설명합니다. 아래 섹션에는 작업 문서에 대한 정보와 각 원격 작업의 작업 문서 파라미터에 대한 정보가 있습니다. 디바이스 측 소프트웨어는 템플릿 이름과 파라미터를 사용하여 원격 작업을 수행합니다.

AWS 관리 템플릿은 템플릿을 사용하여 작업을 생성할 때 값을 지정하는 입력 매개 변수를 받아들입니다. 모든 관리형 템플릿에는 runAsUserpathToHandler의 두 가지 선택적 파라미터가 공통적으로 있습니다. AWS-Reboot 템플릿을 제외한 나머지 템플릿을 사용하려면 템플릿을 사용하여 작업을 생성할 때 값을 지정해야 하는 추가 입력 파라미터가 필요합니다. 이 필수 입력 파라미터는 사용자가 선택하는 템플릿에 따라 달라집니다. 예를 들어, AWS-Download-File 템플릿을 선택하는 경우 설치할 패키지 목록 및 파일을 다운로드할 URL을 지정해야 합니다.

AWS IoT 콘솔을 사용할 때는 입력 매개 변수 값을 지정하거나 AWS Command Line Interface (AWS CLI) 를 사용하여 관리 템플릿을 사용하는 작업을 만들 때 입력 매개 변수의 값을 지정합니다. CLI를 사용할 때는 document-parameters 객체를 사용하여 이러한 값을 제공합니다. 자세한 내용은 documentParameters를 참조하세요.

참고

AWS 관리형 템플릿에서 작업을 생성할 때만 document-parameters를 사용합니다. 이 파라미터는 사용자 지정 작업 템플릿과 함께 사용하거나 이러한 템플릿에서 작업을 생성하는 데 사용할 수 없습니다.

다음은 일반적인 선택적 입력 파라미터에 대한 설명을 보여줍니다. 다음 섹션에서 각 관리형 템플릿에 필요한 다른 입력 파라미터에 대한 설명을 확인할 수 있습니다.

runAsUser

이 파라미터는 작업 핸들러를 다른 사용자로 실행할지 여부를 지정합니다. 작업 생성 중 지정하지 않으면 작업 핸들러는 Device Client와 동일한 사용자로 실행됩니다. 작업 핸들러를 다른 사용자로 실행할 때 256자 이하의 문자열 값을 지정합니다.

pathToHandler

디바이스에서 실행 중인 작업 핸들러의 경로입니다. 작업 생성 중 지정하지 않으면 Device Client는 현재 작업 디렉터리를 사용합니다.

다음은 다양한 원격 작업, 작업 문서 및 수락하는 파라미터를 보여줍니다. 이러한 모든 템플릿은 디바이스에서 원격 작업을 실행하기 위한 Linux 환경을 지원합니다.

템플릿 이름

AWS–Download–File

템플릿 설명

에서 제공하는 파일 다운로드를 AWS 위한 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터가 있습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수도 있습니다.

downloadUrl

파일을 다운로드할 URL입니다. 이 URL은 인터넷 리소스, 공개적으로 액세스할 수 있는 Amazon S3의 객체 또는 미리 서명된 URL을 사용하여 디바이스에서만 액세스할 수 있는 Amazon S3의 객체일 수 있습니다. 미리 서명된 URL 사용 및 권한 부여에 대한 자세한 내용은 미리 서명된 URL 섹션을 참조하세요.

filePath

다운로드한 파일을 저장할 디바이스의 위치를 보여주는 로컬 파일 경로입니다.

디바이스 동작

디바이스는 지정된 위치에서 파일을 다운로드하고 다운로드가 완료되었는지 확인한 후 로컬에 저장합니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 파일을 다운로드하기 위해 실행해야 하는 셸 스크립트(download-file.sh)를 보여줍니다. 또한 필수 파라미터 downloadUrlfilePath를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Download-File", "type": "runHandler", "input": { "handler": "download-file.sh", "args": [ "${aws:iot:parameter:downloadUrl}", "${aws:iot:parameter:filePath}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS–Install–Application

템플릿 설명

하나 이상의 애플리케이션을 설치하기 AWS 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터 packages가 있습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수도 있습니다.

packages

설치할 하나 이상의 애플리케이션의 목록(공백으로 구분)입니다.

디바이스 동작

디바이스가 작업 문서에 지정된 대로 애플리케이션을 설치합니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 파일을 다운로드하기 위해 실행해야 하는 셸 스크립트(install-packages.sh)를 보여줍니다. 또한 필수 파라미터 packages를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Install-Application", "type": "runHandler", "input": { "handler": "install-packages.sh", "args": [ "${aws:iot:parameter:packages}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS–Reboot

템플릿 설명

디바이스 재부팅을 AWS 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 필수 파라미터가 없습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수 있습니다.

디바이스 동작

디바이스가 성공적으로 재부팅됩니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 디바이스를 재부팅하기 위해 실행해야 하는 셸 스크립트(reboot.sh)를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Reboot", "type": "runHandler", "input": { "handler": "reboot.sh", "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS–Remove–Application

템플릿 설명

하나 이상의 애플리케이션을 제거하기 AWS 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터 packages가 있습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수도 있습니다.

packages

제거할 하나 이상의 애플리케이션의 목록(공백으로 구분)입니다.

디바이스 동작

디바이스가 작업 문서에 지정된 대로 애플리케이션을 제거합니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 파일을 다운로드하기 위해 실행해야 하는 셸 스크립트(remove-packages.sh)를 보여줍니다. 또한 필수 파라미터 packages를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Remove-Application", "type": "runHandler", "input": { "handler": "remove-packages.sh", "args": [ "${aws:iot:parameter:packages}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS–Restart–Application

템플릿 설명

하나 이상의 서비스를 중지하고 다시 시작하기 AWS 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터 services가 있습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수도 있습니다.

서비스

다시 시작할 하나 이상의 애플리케이션의 목록(공백으로 구분)입니다.

디바이스 동작

지정된 애플리케이션이 중지되었다가 디바이스에서 다시 시작됩니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 시스템 서비스를 다시 시작하기 위해 실행해야 하는 셸 스크립트(restart-services.sh)를 보여줍니다. 또한 필수 파라미터 services를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Restart-Application", "type": "runHandler", "input": { "handler": "restart-services.sh", "args": [ "${aws:iot:parameter:services}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS-Start-Application

템플릿 설명

하나 이상의 서비스를 시작하기 AWS 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터 services가 있습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수도 있습니다.

services

시작할 하나 이상의 애플리케이션의 목록(공백으로 구분)입니다.

디바이스 동작

지정된 애플리케이션이 디바이스에서 실행을 시작합니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 시스템 서비스를 시작하기 위해 실행해야 하는 셸 스크립트(start-services.sh)를 보여줍니다. 또한 필수 파라미터 services를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Start-Application", "type": "runHandler", "input": { "handler": "start-services.sh", "args": [ "${aws:iot:parameter:services}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS–Stop–Application

템플릿 설명

하나 이상의 서비스를 AWS 중지하기 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터 services가 있습니다. 선택적 파라미터 runAsUserpathToHandler를 지정할 수도 있습니다.

services

중지할 하나 이상의 애플리케이션의 목록(공백으로 구분)입니다.

디바이스 동작

지정된 애플리케이션이 디바이스에서 실행을 중지합니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿은 작업 핸들러에 대한 경로와 작업 핸들러가 시스템 서비스를 중지하기 위해 실행해야 하는 셸 스크립트(stop-services.sh)를 보여줍니다. 또한 필수 파라미터 services를 보여줍니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Stop-Application", "type": "runHandler", "input": { "handler": "stop-services.sh", "args": [ "${aws:iot:parameter:services}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
템플릿 이름

AWS–Run–Command

템플릿 설명

셸 명령을 AWS 실행하기 위해 에서 제공하는 관리 템플릿입니다.

입력 파라미터

이 템플릿에는 다음과 같은 필수 파라미터 command가 있습니다. 선택적 파라미터 runAsUser를 지정할 수도 있습니다.

command

쉼표로 구분된 명령 문자열. 명령 자체에 포함된 모든 쉼표는 이스케이프 처리해야 합니다.

디바이스 동작

디바이스는 작업 문서에 지정된 대로 쉘 명령을 실행합니다.

작업 문서

다음은 작업 문서와 최신 버전을 보여줍니다. 템플릿에는 작업 명령의 경로와 디바이스가 실행할 사용자 제공 명령이 표시됩니다.

{ "version": "1.0", "steps": [ { "action": { "name": "Run-Command", "type": "runCommand", "input": { "command": "${aws:iot:parameter:command}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }