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

다음에 대한 설명서를 보고 있습니다.AWS IoT Greengrass Version 1.AWS IoT Greengrass Version 2의 최신 주요 버전입니다AWS IoT Greengrass. 사용에 관한 자세한 내용은 단원을 참조하십시오.AWS IoT Greengrass V2에 대한 자세한 내용은AWS IoT Greengrass Version 2개발자 안내서.

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

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

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

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

참고

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

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

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

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

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

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

Requirements

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

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

  • 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 시스템과의 통합 섹션을 참조하세요.

  • Amazon S3 URL을 미리 서명하는 데 사용되는 역할을 생성해야 합니다.AWS IoT Greengrass소프트웨어 업데이트 아티팩트입니다. 이 서명자 역할은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 서명자 역할이 포함되어야 합니다. 이 역할은 권한을 부여하는 권한 정책을 갖고 있어야 합니다.s3:GetObject대상의 버킷에 대한 작업AWS 리전s. 역할에는 iot.amazonaws.com이 신뢰할 수 있는 엔터티로 역할을 수임할 수 있는 신뢰 정책도 있어야 합니다.

권한 정책

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

  • AWS 관리형 정책 사용

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

  • 사용자 지정 정책 생성

    코어가 배포되는 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" } ] }

Considerations

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 Greengrass소프트웨어 업데이트 작업AWS IoT Core를 호출하고 순차적으로 실행합니다. OTA 업데이트 에이전트는 다른AWS 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 업데이트 에이전트에 지시하려면 이러한 스크립트를 실행하도록"managedRespawn" : true플래그에서config.json파일을 엽니다. 이 설정은 다음 발췌문에 표시됩니다.

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

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

다음 요구 사항은 OTA 업데이트에 적용됩니다.managedRespawn이 로 설정된 경우true:

  • 다음 쉘 스크립트는/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 데몬을 중지해야 합니다.

  • ggc_post_update.sh스크립트는 Greengrass 데몬을 시작해야 합니다.

참고

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

일시managedRespawn다음의 경우 이 로 설정됩니다.true에서 OTA 업데이트 에이전트는/greengrass-root/usr/scripts디렉토리에서 소프트웨어 업데이트 전후에 이러한 스크립트에 대한 정보를 제공합니다. 스크립트가 없으면 업데이트가 실패합니다.AWS IoT Greengrass는 이러한 스크립트의 내용을 확인하지 않습니다. 스크립트가 올바르게 작동하는지 확인하고 오류에 대해 적절한 종료 코드를 발행하는 것이 좋습니다.

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

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

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

    #!/bin/bash set -euo pipefail systemctl start greengrass

OTA 업데이트 에이전트의 OTA 업데이트의 경우:

  • 업데이트를 시작하기 전에 에이전트는 ota_pre_update.sh 스크립트를 실행합니다. 데이터를 백업하거나 실행 중인 프로세스를 중지하는 등 OTA 업데이트 에이전트가 업데이트되기 전에 실행해야 하는 명령에 이 스크립트를 사용합니다.

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

참고

다음의 경우,managedRespawn다음의 경우 이 로 설정됩니다.false에서 OTA 업데이트 에이전트가 스크립트를 실행하지 않습니다.

OTA 업데이트 생성

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

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

    참고

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

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

    • 더/Greengrass 뿌리/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콘솔 또는AWS IoT GreengrassAPI를 사용하여 소프트웨어 업데이트 작업을 생성합니다.

     

    콘솔 사용
    1. AWS IoT 콘솔에서 관리를 선택한 다음 작업을 선택합니다.

    2. 선택작업 생성를 선택한 다음Greengrass V1 코어 업데이트 작업 만들기.

    3. Greengrass 업데이트 생성 페이지에서 업데이트 작업의 속성을 정의한 다음 생성을 선택합니다. 예:

      • 업데이트할 디바이스 선택에서 업데이트할 코어를 선택합니다. 코어를 포함하는 개별 코어 사물과 사물 그룹을 선택할 수 있습니다.

      • S3 URL 서명자 역할에서 서명자 역할을 선택합니다.

      • 업데이트할 Greengrass 코어 구성 요소 선택에서AWS IoT Greengrass코어 소프트웨어 또는OTA 업데이트 에이전트 소프트웨어를 업데이트하려면 다음 명령을 실행합니다.

    4. 작업 페이지에서 새 작업을 선택하여 업데이트 상태를 확인합니다.

     

    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. 전화DescribeJob의AWS IoT CoreAPI를 사용하여 작업 상태를 확인합니다. 예제 값을 작업 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

CreateSoftwareUpdateJobAPI를 사용하여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

Amazon S3 URL을 미리 서명하는 데 사용되는 IAM 역할의 ARN 은AWS IoT Greengrass소프트웨어 업데이트 아티팩트입니다. 역할의 연결된 권한 정책은 해당 역할의 연결된 권한s3:GetObject타겟의 버킷에 대한 작업AWS 리전s. 또한 역할은 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