AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트가 AWS IoT Greengrass V1 릴리스되지 않습니다. 에서 실행되는 기기는 AWS IoT Greengrass V1 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 새로운 기능이 크게 추가되고 추가 플랫폼에 대한 지원이 추가되는 으로 마이그레이션하는 AWS IoT Greengrass Version 2 것이 좋습니다.

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

AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트

AWS IoT Greengrass 코어 소프트웨어 패키지에는 AWS IoT Greengrass 소프트웨어의 무선(OTA) 업데이트를 수행할 수 있는 업데이트 에이전트가 포함되어 있습니다. OTA 업데이트를 사용하여 하나 이상의 코어에 최신 버전의 AWS IoT Greengrass 코어 소프트웨어 또는 를 설치할 수 있습니다. OTA 업데이트를 사용하면 코어 디바이스가 물리적으로 존재할 필요가 없습니다.

가능하면 OTA 업데이트를 사용하는 것이 좋습니다. 업데이트 상태 및 업데이트 기록을 추적하는 데 사용할 수 있는 메커니즘을 제공합니다. 실패한 업데이트가 발생하면 OTA 업데이트 에이전트는 이전 소프트웨어 버전으로 롤백합니다.

참고

apt를 사용하여 AWS IoT Greengrass 코어 소프트웨어를 설치할 때는 OTA 업데이트가 지원되지 않습니다. 이러한 설치의 경우 apt를 사용하여 소프트웨어를 업그레이드하는 것이 좋습니다. 자세한 내용은 APT 리포지토리에서 AWS IoT Greengrass 코어 소프트웨어 설치 섹션을 참조하세요.

OTA 업데이트를 통해 다음을 보다 효율적으로 수행할 수 있습니다.

  • 보안 취약성을 수정합니다.

  • 소프트웨어 안정성 문제를 해결합니다.

  • 새 기능 또는 향상된 기능을 배포합니다.

이 기능은 AWS IoT 작업과 통합됩니다.

요구 사항

다음 요구 사항은 AWS IoT Greengrass 소프트웨어의 OTA 업데이트에 적용됩니다.

  • Greengrass 코어의 로컬 스토리지에는 최소 400MB의 디스크 공간이 있어야 합니다. OTA 업데이트 에이전트에는 AWS IoT Greengrass 코어 소프트웨어의 런타임 사용 요구 사항의 약 3배가 필요합니다. 자세한 내용은 Amazon Web Services 일반 참조의 Amazon EBS에 대한 서비스 할당량을 참조하세요.

  • Greengrass 코어는 AWS 클라우드 클라우드와 연결되어 있어야 합니다.

  • Greengrass 코어는 AWS IoT Core 및 AWS IoT Greengrass를 사용하여 인증하기 위한 인증서와 키로 올바르게 구성 및 프로비저닝되어야 합니다. 자세한 내용은 X.509 인증서 섹션을 참조하세요.

  • Greengrass 코어는 네트워크 프록시를 사용하도록 구성할 수 없습니다.

    참고

    AWS IoT Greengrass v1.9.3부터는 MQTT 트래픽이 기본 포트 8883 대신 포트 443을 사용하도록 구성하는 코어에서 OTA 업데이트가 지원됩니다. 그러나 OTA 업데이트 에이전트는 네트워크 프록시를 지원하지 않습니다. 자세한 내용은 포트 443에서 또는 네트워크 프록시를 통해 연결 섹션을 참조하세요.

  • AWS IoT Greengrass 코어 소프트웨어가 포함된 파티션에서는 신뢰할 수 있는 부팅을 활성화할 수 없습니다.

    참고

    신뢰할 수 있는 부팅이 활성화된 파티션에 AWS IoT Greengrass 코어 소프트웨어를 설치하고 실행할 수 있지만 OTA 업데이트는 지원되지 않습니다.

  • AWS IoT Greengrass에는 AWS IoT Greengrass 코어 소프트웨어가 포함된 파티션에 대한 읽기/쓰기 권한이 있어야 합니다.

  • init 시스템을 사용하여 Greengrass 코어를 관리하는 경우 init 시스템과 통합되도록 OTA 업데이트를 구성해야 합니다. 자세한 내용은 Init 시스템과의 통합 섹션을 참조하세요.

  • AWS IoT Greengrass 소프트웨어 업데이트 아티팩트에 Amazon S3 URL을 미리 서명하는 데 사용되는 역할을 만들어야 합니다. 이 AWS IoT Core 서명자 역할을 통해 Amazon S3가 사용자를 대신하여 에 저장된 소프트웨어 업데이트 아티팩트에 액세스할 수 있습니다. 자세한 내용은 OTA 업데이트에 대한 IAM 권한 섹션을 참조하세요.

OTA 업데이트에 대한 IAM 권한

AWS IoT Greengrass에서 새 버전의 AWS IoT Greengrass 코어 소프트웨어를 AWS IoT Greengrass 릴리스하면 에서 OTA 업데이트에 사용되는 Amazon S3에 저장된 소프트웨어 아티팩트를 업데이트합니다.

AWS 계정 계정에 이러한 아티팩트에 액세스하는 데 사용할 수 있는 Amazon S3 URL URL 서명자 역할이 포함되어야 합니다. 역할에는 대상 AWS 리전 리전의 버킷에 대한 s3:GetObject 작업을 허용하는 권한 정책이 있어야 합니다. 역할에는 iot.amazonaws.com이 신뢰할 수 있는 엔터티로 역할을 수임할 수 있는 신뢰 정책도 있어야 합니다.

권한 정책

역할 권한의 경우 AWS 관리형 정책을 사용하거나 사용자 지정 정책을 생성할 수 있습니다.

  • AWS 관리형 정책 사용

    GreengrassOTAUpdateArtifactAccess 관리형 정책은 AWS IoT Greengrass에서 제공합니다. 현재 및 향후 AWS IoT Greengrass에서 지원하는 모든 Amazon Web Services 리전에서 액세스를 허용하려면 이 정책을 사용합니다.

  • 사용자 지정 정책 생성

    코어가 배포되는 Amazon Web Services 리전을 명시적으로 지정하려면 사용자 지정 정책을 생성해야 합니다. 다음 예제 정책에서는 6개의 리전에서 AWS IoT Greengrass 소프트웨어 업데이트에 대한 액세스를 허용합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToGreengrassOTAUpdateArtifacts", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::us-east-1-greengrass-updates/*", "arn:aws:s3:::us-west-2-greengrass-updates/*", "arn:aws:s3:::ap-northeast-1-greengrass-updates/*", "arn:aws:s3:::ap-southeast-2-greengrass-updates/*", "arn:aws:s3:::eu-central-1-greengrass-updates/*", "arn:aws:s3:::eu-west-1-greengrass-updates/*" ] } ] }
신뢰 정책

역할에 연결된 신뢰 정책은 sts:AssumeRole 작업을 허용하고 iot.amazonaws.com을 보안 주체로 정의해야 합니다. 이를 통해 AWS IoT Core가 신뢰할 수 있는 엔터티로 역할을 수임할 수 있습니다. 다음은 정책 문서의 예입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIotToAssumeRole", "Action": "sts:AssumeRole", "Principal": { "Service": "iot.amazonaws.com" }, "Effect": "Allow" } ] }

또한 OTA 업데이트를 시작하는 사용자는 greengrass:CreateSoftwareUpdateJobiot:CreateJob, iam:PassRole을 사용하여 서명자 역할의 권한을 전달할 권한이 있어야 합니다. 다음은 IAM 정책의 예입니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "greengrass:CreateSoftwareUpdateJob" ], "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iot:CreateJob" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn-of-s3-url-signer-role" } ] }

고려 사항

Greengrass 코어 소프트웨어의 OTA 업데이트를 시작하기 전에 코어 디바이스와 해당 코어에 로컬로 연결된 클라이언트 디바이스 모두에서 Greengrass 그룹의 디바이스에 미치는 영향을 알고 있어야 합니다.

  • 업데이트 중에 코어가 종료됩니다.

  • 코어에서 실행 중인 모든 Lambda 함수가 종료됩니다. 해당 함수가 로컬 리소스에 쓸 경우 제대로 종료하지 않으면 해당 리소스가 잘못된 상태가 될 수 있습니다.

  • 코어가 가동 중지된 동안에는 AWS 클라우드 클라우드와의 모든 연결이 끊어집니다. 클라이언트 디바이스에서 코어를 통해 라우팅하는 메시지가 손실됩니다.

  • 자격 증명 캐시가 손실됩니다.

  • Lambda 함수에 대한 보류 중인 작업이 있는 대기열이 손실됩니다.

  • 수명이 긴 Lambda 함수는 동적 상태 정보를 잃고 보류 중인 작업이 모두 삭제됩니다.

OTA 업데이트 중에 다음 상태 정보가 유지됩니다.

  • 코어 구성

  • Greengrass 그룹 구성

  • 로컬 섀도우

  • Greengrass 로그

  • OTA 업데이트 에이전트 로그

Greengrass OTA 업데이트 에이전트

Greengrass OTA 업데이트 에이전트는 클라우드에서 생성 및 배포된 업데이트 작업을 처리하는 디바이스의 소프트웨어 구성 요소입니다. OTA 업데이트 에이전트는 AWS IoT Greengrass 코어 소프트웨어와 동일한 소프트웨어 패키지로 배포됩니다. 에이전트는 /greengrass-root/ota/ota_agent/ggc-ota에 있습니다. /var/log/greengrass/ota/ggc_ota.txt에 로그를 씁니다.

참고

greengrass-root는 디바이스에서 AWS IoT Greengrass 코어 소프트웨어가 설치된 경로를 나타냅니다. 일반적으로 이는 /greengrass 디렉터리입니다.

바이너리를 수동으로 실행하거나 systemd 서비스 파일과 같은 init 스크립트의 일부로 통합하여 OTA 업데이트 에이전트를 시작할 수 있습니다. 바이너리를 수동으로 실행하는 경우 루트로 실행해야 합니다. 바이너리가 시작되면 OTA 업데이트 에이전트가 AWS IoT Core에서 AWS IoT Greengrass 소프트웨어 업데이트 작업을 수신하여 순차적으로 실행합니다. AWS IoT OTA 업데이트 에이전트는 다른 IoT 작업 유형을 모두 무시합니다.

다음 발췌문은 OTA 업데이트 에이전트를 시작, 중지 및 재시작하는 systemd 서비스 파일의 예를 보여줍니다.

[Unit] Description=Greengrass OTA Daemon [Service] Type=forking Restart=on-failure ExecStart=/greengrass/ota/ota_agent/ggc-ota [Install] WantedBy=multi-user.target

업데이트의 대상인 코어는 OTA 업데이트 에이전트의 두 인스턴스를 실행해서는 안 됩니다. 그러면 두 에이전트가 동일한 작업을 처리하게 되어 충돌이 발생합니다.

Init 시스템과의 통합

OTA 업데이트 중에 OTA 업데이트 에이전트가 코어에서 바이너리를 다시 시작합니다. 바이너리가 실행 중인 경우 init 시스템에서 업데이트 중에 AWS IoT Greengrass 코어 소프트웨어 또는 에이전트의 상태를 모니터링하는 경우 충돌이 발생할 수 있습니다. OTA 업데이트 메커니즘을 사용자의 init 모니터링 전략과 통합하기 위해 업데이트 전후에 실행되는 셸 스크립트를 쓸 수 있습니다. 예를 들어 디바이스를 종료하기 전에 데이터를 백업하거나 프로세스를 중지하는 ggc_pre_update.sh 스크립트를 쓸 수 있습니다.

이러한 셸 스크립트를 실행하도록 OTA 업데이트 에이전트에 지시하려면 config.json 파일에 "managedRespawn" : true 플래그를 포함시켜야 합니다. 이 설정은 다음 발췌문에 표시됩니다.

{ "coreThing": { … }, "runtime": { … }, "managedRespawn": true … }

OTA 업데이트가 지원되는 관리형 Respawn

managedRespawn이(가) true(으)로 설정된 OTA 업데이트에는 다음 요구 사항이 적용됩니다.

  • /greengrass-root/usr/scripts 디렉터리에 다음 쉘 스크립트가 있어야 합니다.

    • ggc_pre_update.sh

    • ggc_post_update.sh

    • ota_pre_update.sh

    • ota_post_update.sh

  • 스크립트가 성공적인 반환 코드를 반환해야 합니다.

  • 스크립트는 루트가 소유하고 루트에 의해서만 실행 가능해야 합니다.

  • ggc_pre_update.sh 스크립트는 Greengrass 대몬(daemon)을 중지해야 합니다.

  • ggc_post_update.sh 스크립트는 Greengrass 대몬(daemon)을 시작해야 합니다.

참고

OTA 업데이트 에이전트가 자체 프로세스를 관리하므로 ota_pre_update.shota_post_update.sh 스크립트는 OTA 서비스를 중지하거나 시작할 필요가 없습니다.

OTA 업데이트 에이전트는 /greengrass-root/usr/scripts에서 스크립트를 실행합니다. 디렉터리 트리는 다음과 같아야 합니다.

<greengrass_root> |-- certs |-- config | |-- config.json |-- ggc |-- usr/scripts | |-- ggc_pre_update.sh | |-- ggc_post_update.sh | |-- ota_pre_update.sh | |-- ota_post_update.sh |-- ota

managedRespawntrue로 설정된 경우 OTA 업데이트 에이전트는 소프트웨어 업데이트 전후에 해당 스크립트에 대한 /greengrass-root/usr/scripts 디렉토리를 확인합니다. 스크립트가 없으면 업데이트가 실패합니다. AWS IoT Greengrass은(는) 이러한 스크립트의 내용을 확인하지 않습니다. 가장 좋은 방법은 스크립트가 제대로 작동하는지 확인하고 오류에 대한 적절한 종료 코드를 발행하는 것입니다.

AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트의 경우:
  • 업데이트를 시작하기 전에 에이전트는 ggc_pre_update.sh 스크립트를 실행합니다. OTA 업데이트 에이전트가 AWS IoT Greengrass Core 소프트웨어 업데이트를 시작하기 전에 실행해야 하는 명령(예: 데이터 백업 또는 실행 중인 프로세스 중지)에는 이 스크립트를 사용하십시오. 다음 예제는 Greengrass 대몬(daemon)을 중지하는 간단한 스크립트를 보여줍니다.

    #!/bin/bash set -euo pipefail systemctl stop greengrass
  • 업데이트를 완료한 후 에이전트는 ggc_post_update.sh 스크립트를 실행합니다. OTA 업데이트 에이전트가 AWS IoT Greengrass Core 소프트웨어 업데이트를 시작한 후에 실행해야 하는 명령(예: 프로세스 재시작)에는 이 스크립트를 사용하십시오. 다음 예제는 Greengrass 대몬(daemon)을 시작하는 간단한 스크립트를 보여줍니다.

    #!/bin/bash set -euo pipefail systemctl start greengrass
OTA 업데이트 에이전트의 OTA 업데이트의 경우:
  • 업데이트를 시작하기 전에 에이전트는 ota_pre_update.sh 스크립트를 실행합니다. OTA 업데이트 에이전트가 자체적으로 업데이트하기 전에 실행해야 하는 명령(예: 데이터 백업 또는 실행 중인 프로세스 중지)에는 이 스크립트를 사용하십시오.

  • 업데이트를 완료한 후 에이전트는 ota_post_update.sh 스크립트를 실행합니다. OTA 업데이트 에이전트가 자체적으로 업데이트한 후 실행해야 하는 명령(예: 프로세스 재시작)에는 이 스크립트를 사용하십시오.

참고

managedRespawnfalse로 설정된 경우 OTA 업데이트 에이전트에서 스크립트를 실행하지 않습니다.

OTA 업데이트 생성

하나 이상의 코어에서 AWS IoT Greengrass 소프트웨어의 OTA 업데이트를 수행하려면 다음 단계를 따르십시오.

  1. 코어가 OTA 업데이트에 대한 요구 사항을 충족하는지 확인하십시오.

    참고

    AWS IoT Greengrass 코어 소프트웨어 또는 OTA 업데이트 에이전트를 관리하도록 init 시스템을 구성한 경우 코어에서 다음을 확인하십시오.

    • config.json 파일은 "managedRespawn" : true를 지정합니다.

    • /greengrass-root/usr/scripts 디렉토리에는 다음 스크립트가 포함되어 있습니다.

      • ggc_pre_update.sh

      • ggc_post_update.sh

      • ota_pre_update.sh

      • ota_post_update.sh

    자세한 내용은 Init 시스템과의 통합 섹션을 참조하세요.

  2. 코어 디바이스 터미널에서 OTA 업데이트 에이전트를 시작하십시오.

    cd /greengrass-root/ota/ota_agent sudo ./ggc-ota
    참고

    greengrass-root는 디바이스에서 AWS IoT Greengrass 코어 소프트웨어가 설치된 경로를 나타냅니다. 일반적으로 이는 /greengrass 디렉터리입니다.

    충돌을 일으킬 수 있으므로 코어에서 OTA 업데이트 에이전트의 여러 인스턴스를 시작하지 마십시오.

  3. 또는 AWS IoT Greengrass API를 사용하여 소프트웨어 업데이트 작업을 생성합니다.

    1. CreateSoftwareUpdateJob API를 호출합니다. 이 예제 절차에서는 AWS CLI 명령을 사용합니다.

      다음 명령은 하나의 코어에서 AWS IoT Greengrass 코어 소프트웨어를 업데이트하는 작업을 생성합니다. 예제 값을 바꾼 다음 명령을 실행합니다.

      Linux or macOS terminal
      aws greengrass create-software-update-job \ --update-targets-architecture x86_64 \ --update-targets [\"arn:aws:iot:region:123456789012:thing/myCoreDevice\"] \ --update-targets-operating-system ubuntu \ --software-to-update core \ --s3-url-signer-role arn:aws:iam::123456789012:role/myS3UrlSignerRole \ --update-agent-log-level WARN \ --amzn-client-token myClientToken1
      Windows command prompt
      aws greengrass create-software-update-job ^ --update-targets-architecture x86_64 ^ --update-targets [\"arn:aws:iot:region:123456789012:thing/myCoreDevice\"] ^ --update-targets-operating-system ubuntu ^ --software-to-update core ^ --s3-url-signer-role arn:aws:iam::123456789012:role/myS3UrlSignerRole ^ --update-agent-log-level WARN ^ --amzn-client-token myClientToken1

      이 명령은 다음 응답을 반환합니다.

      { "IotJobId": "GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "IotJobArn": "arn:aws:iot:region:123456789012:job/GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "PlatformSoftwareVersion": "1.10.1" }
    2. 응답에서 IoTJobId를 복사합니다.

    3. AWS IoT Core API에서 DescribeJob을 직접적으로 호출하면 작업 상태를 확인할 수 있습니다. 예제 값을 작업 ID로 바꾼 다음 명령을 실행합니다.

      aws iot describe-job --job-id GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE

      이 명령은 statusjobProcessDetails를 포함하여 작업에 대한 정보가 포함된 응답 객체를 반환합니다.

      { "job": { "jobArn": "arn:aws:iot:region:123456789012:job/GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "jobId": "GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "targetSelection": "SNAPSHOT", "status": "IN_PROGRESS", "targets": [ "arn:aws:iot:region:123456789012:thing/myCoreDevice" ], "description": "This job was created by Greengrass to update the Greengrass Cores in the targets with version 1.10.1 of the core software running on x86_64 architecture.", "presignedUrlConfig": { "roleArn": "arn:aws::iam::123456789012:role/myS3UrlSignerRole", "expiresInSec": 3600 }, "jobExecutionsRolloutConfig": {}, "createdAt": 1588718249.079, "lastUpdatedAt": 1588718253.419, "jobProcessDetails": { "numberOfCanceledThings": 0, "numberOfSucceededThings": 0, "numberOfFailedThings": 0, "numberOfRejectedThings": 0, "numberOfQueuedThings": 1, "numberOfInProgressThings": 0, "numberOfRemovedThings": 0, "numberOfTimedOutThings": 0 }, "timeoutConfig": {} } }

    문제 해결에 대한 도움말은 AWS IoT Greengrass 문제 해결 단원을 참조하십시오.

CreateSoftwareUpdateJob API

CreateSoftwareUpdateJob API를 사용하여 코어 디바이스의 AWS IoT Greengrass 코어 소프트웨어 또는 OTA 업데이트 에이전트 소프트웨어를 업데이트할 수 있습니다. 이 API는 업데이트를 사용할 수 있을 때 디바이스에 알리는 AWS IoT 스냅샷 작업을 생성합니다. CreateSoftwareUpdateJob을 호출한 후 다른 AWS IoT 작업 명령을 사용하여 소프트웨어 업데이트를 추적할 수 있습니다. 자세한 내용은 AWS IoT 개발자 가이드작업 섹션을 참조하세요.

다음 예제에서는 코어 디바이스에서 AWS CLI를 사용하여 AWS IoT Greengrass 코어 소프트웨어 업데이트 작업을 생성하는 방법을 보여줍니다.

aws greengrass create-software-update-job \ --update-targets-architecture x86_64 \ --update-targets [\"arn:aws:iot:region:123456789012:thing/myCoreDevice\"] \ --update-targets-operating-system ubuntu \ --software-to-update core \ --s3-url-signer-role arn:aws:iam::123456789012:role/myS3UrlSignerRole \ --update-agent-log-level WARN \ --amzn-client-token myClientToken1

create-software-update-job 명령은 작업 ID, 작업 ARN, 업데이트가 설치하는 소프트웨어 버전을 포함하는 JSON 응답을 반환합니다.

{ "IotJobId": "GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "IotJobArn": "arn:aws:iot:region:123456789012:job/GreengrassUpdateJob_c3bd7f36-ee80-4d42-8321-a1da0EXAMPLE", "PlatformSoftwareVersion": "1.9.2" }

create-software-update-job을 사용하여 코어 디바이스를 업데이트하는 방법을 보여 주는 단계는 OTA 업데이트 생성 단원을 참조하십시오.

create-software-update-job 명령에는 다음 파라미터가 있습니다.

--update-targets-architecture

코어 디바이스의 아키텍처입니다.

유효한 값: armv7l, armv6l, x86_64 또는 aarch64

--update-targets

업데이트할 코어입니다. 목록에는 개별 코어의 ARN과 코어로 구성된 사물 그룹의 ARN이 포함될 수 있습니다. 사물 그룹에 대한 자세한 내용은 AWS IoT 개발자 안내서정적 사물 그룹을 참조하십시오.

--update-targets-operating-system

코어 디바이스의 운영 체제입니다.

유효한 값: ubuntu, amazon_linux, raspbian 또는 openwrt

--software-to-update

코어의 소프트웨어를 업데이트할지 아니면 OTA 에이전트 소프트웨어를 업데이트할지 지정합니다.

유효한 값: core 또는 ota_agent

--s3-url-signer-role

AWS IoT Greengrass 소프트웨어 업데이트 아티팩트에 연결되는 URL을 미리 서명하는 데 사용되는 IAM 역할의 ARN입니다. 역할의 연결된 권한 정책은 대상 AWS 리전 리전의 버킷에 대한 s3:GetObject 작업을 허용해야 합니다. 또한 역할은 iot.amazonaws.com이 신뢰할 수 있는 엔터티로 역할을 수임할 수 있도록 허용해야 합니다. 자세한 내용은 OTA 업데이트에 대한 IAM 권한 섹션을 참조하세요.

--amzn-client-token

(선택 사항) 멱등(Idempotent) 요청 생성에 사용되는 클라이언트 토큰입니다. 내부 재시도로 인해 중복 업데이트가 생성되지 않도록 고유한 토큰을 제공하십시오.

--update-agent-log-level

(선택 사항) OTA 업데이트 에이전트에 의해 생성된 로그 명령문의 로깅 수준입니다. 기본값은 ERROR입니다.

유효한 값: NONE, TRACE, DEBUG, VERBOSE, INFO, WARN, ERROR 또는 FATAL

참고

CreateSoftwareUpdateJob은 다음과 같은 지원되는 아키텍처 및 운영 체제 조합에 대한 요청만 허용합니다.

  • ubuntu/x86_64

  • ubuntu/aarch64

  • amazon_linux/x86_64

  • raspbian/armv7l

  • raspbian/armv6l

  • openwrt/aarch64

  • openwrt/armv7l