IoT Edge 업데이트

적용 대상:IoT Edge 1.5 확인 표시 IoT Edge 1.5 IoT Edge 1.4 확인 표시 IoT Edge 1.4

Important

IoT Edge 1.5 LTS 및 IoT Edge 1.4 LTS는 지원되는 릴리스입니다. IoT Edge 1.4 LTS는 2024년 11월 12일에 종료됩니다.

IoT Edge 서비스가 새 버전을 릴리스하면 최신 기능 및 개선된 보안을 사용하도록 IoT Edge 디바이스를 업데이트할 수 있습니다. 이 문서에서는 새 버전을 사용할 수 있을 때 IoT Edge 디바이스를 업데이트하는 방법에 대한 정보를 제공합니다.

새 버전으로 전환하려면 IoT Edge 디바이스의 두 가지 논리 구성 요소를 업데이트해야 합니다.

  • 보안 하위 시스템 - 디바이스에서 실행되고 보안 기반 작업을 처리하며 디바이스가 시작될 때 모듈을 시작합니다. 보안 하위 시스템은 디바이스 자체에서만 업데이트할 수 있습니다.

  • IoT Edge 런타임 - IoT Edge 런타임은 IoT Edge 허브(edgeHub) 및 IoT Edge 에이전트(edgeAgent) 모듈로 구성됩니다. 배포 구성 방법에 따라 디바이스에서 또는 원격으로 런타임을 업데이트할 수 있습니다.

업데이트 방법

이 문서의 섹션을 사용하여 디바이스의 보안 하위 시스템과 런타임 컨테이너를 모두 업데이트합니다.

패치 릴리스

패치 릴리스 간에 업그레이드하는 경우(예: 1.4.1에서 1.4.2로) 업데이트 순서는 중요하지 않습니다. 보안 하위 시스템 또는 런타임 컨테이너 중 아무거나 먼저 업그레이드할 수 있습니다. 패치 릴리스 간에 업데이트하려면 다음을 수행합니다.

  1. 보안 하위 시스템 업데이트
  2. 런타임 컨테이너 업데이트
  3. 버전이 일치하는지 확인

언제든지 업그레이드 프로세스에서 문제를 해결할 수 있습니다.

주 릴리스 또는 부 릴리스

주 릴리스 또는 부 릴리스 간에 업그레이드하는 경우(예: 1.4에서 1.5로) 보안 하위 시스템과 런타임 컨테이너를 모두 업데이트합니다. 릴리스 전에 보안 하위 시스템 및 런타임 컨테이너 버전 조합을 테스트합니다. 주 제품 또는 부 제품 릴리스 간에 업데이트하려면 다음을 수행합니다.

  1. 디바이스에서 명령 sudo systemctl stop iotedge 사용하여 IoT Edge를 중지하고 제거합니다.

  2. 디바이스에서Docker 또는 Moby 컨테이너 엔진을 업그레이드합니다.

  3. 디바이스에서 IoT Edge를 설치합니다.

    iotedge config import를 사용하여 기존 구성을 가져오는 경우 edgeAgent의 1.4 이미지를 통해 생성된 /etc/aziot/config.toml 파일의 [agent.config] 이미지를 수정합니다.

    자세한 내용은 IoT Edge 디바이스 설정 구성을 참조하세요.

  4. IoT Hub에서 최신 시스템 모듈을 참조하도록 모듈 배포를 업데이트합니다.

  5. 디바이스에서 sudo iotedge config apply를 사용하여 IoT Edge를 시작합니다.

언제든지 업그레이드 프로세스에서 문제를 해결할 수 있습니다.

보안 하위 시스템 업데이트

IoT Edge 보안 하위 시스템은 IoT Edge 디바이스에서 패키지 관리자를 사용하여 업데이트해야 하는 네이티브 구성 요소의 세트를 포함합니다.

iotedge version 명령을 사용하여 디바이스에서 실행 중인 보안 하위 시스템의 버전을 확인합니다. Windows에서 Linux용 IoT Edge를 사용하는 경우 버전을 확인하려면 Linux 가상 머신에 SSH로 연결해야 합니다.

Linux x64 디바이스에서는 apt-get 또는 해당 패키지 관리자를 사용하여 보안 하위 시스템을 최신 버전으로 업데이트합니다.

다음과 같이 apt를 업데이트합니다.

sudo apt-get update

참고 항목

Microsoft에서 최신 리포지토리 구성을 가져오는 지침은 IoT Edge 설치에 대한 예비 단계를 참조하세요.

사용할 수 있는 IoT Edge 버전을 확인합니다.

apt list -a aziot-edge

IoT Edge 업데이트:

sudo apt-get install aziot-edge defender-iot-micro-agent-edge

apt-get install aziot-edge을 실행하면 보안 하위 시스템이 업그레이드되고 필요한 종속성으로 aziot-identity-serviceID 서비스가 설치됩니다.

Edge 디바이스의 보안 모니터링 및 강화를 사용하도록 설정하려면 Edge 에이전트와 함께 마이크로 에이전트를 설치하는 것이 좋습니다. Microsoft Defender for IoT에 대한 자세한 내용은 디바이스 빌더를 위한 Microsoft Defender for IoT란?을 참조하세요.

그런 다음 시스템이 완전히 업데이트되도록 구성을 다시 적용합니다.

sudo iotedge config apply

런타임 컨테이너 업데이트

IoT Edge 에이전트 및 IoT Edge 허브 컨테이너를 업데이트하는 방법은 배포에서 롤링 태그(예: 1.5)를 사용할지 또는 특정 태그(예: 1.5.1)를 사용할지에 따라 다릅니다.

iotedge logs edgeAgent 또는 iotedge logs edgeHub 명령을 사용하여 현재 사용 중인 디바이스에 있는 IoT Edge 에이전트 및 IoT Edge 허브 모듈 버전을 확인합니다. Windows에서 Linux용 IoT Edge를 사용하는 경우 런타임 모듈 버전을 확인하려면 Linux 가상 머신에 SSH로 연결해야 합니다.

콘솔 로그에서 컨테이너 버전을 찾을 수 있는 위치의 스크린샷.

IoT Edge 태그 이해

IoT Edge 에이전트 및 IoT Edge 허브 이미지에는 연결된 IoT Edge 버전으로 태그가 지정됩니다. 런타임 이미지에 태그를 사용하는 방법에는 다음 두 가지가 있습니다.

  • 롤링 태그 - 버전 번호의 처음 두 개 값만 사용하여 해당 숫자와 일치하는 최신 이미지를 가져옵니다. 예를 들어, 최신 1.5.x 버전을 가리키는 새 릴리스가 있을 때마다 1.5이 업데이트됩니다. IoT Edge 디바이스의 컨테이너 런타임이 이미지를 다시 끌어오면 런타임 모듈은 최신 버전으로 업데이트됩니다. Azure Portal에서 배포할 때는 기본적으로 롤링 태그가 사용됩니다. 이 접근 방법은 개발 목적으로 제안됩니다.

  • 특정 태그 - 버전 번호의 세 값을 모두 사용하여 이미지 버전을 명시적으로 설정합니다. 예를 들어, 1.5.0은 초기 릴리스 이후에 변경되지 않습니다. 업데이트할 준비가 되면 배포 매니페스트에서 새 버전 번호를 선언할 수 있습니다. 이 접근 방법은 프로덕션 목적으로 제안됩니다.

롤링 태그 이미지 업데이트

배포에 롤링 태그를 사용하는 경우(예: mcr.microsoft.com/azureiotedge-hub:1.5) 디바이스의 컨테이너 런타임이 강제로 최신 버전의 이미지를 가져오도록 해야 합니다.

IoT Edge 디바이스에서 이미지의 로컬 버전을 삭제합니다. Windows 머신에서 보안 하위 시스템을 제거하면 런타임 이미지도 제거되므로 이 단계를 다시 수행할 필요가 없습니다.

docker rmi mcr.microsoft.com/azureiotedge-hub:1.5
docker rmi mcr.microsoft.com/azureiotedge-agent:1.5

이미지를 제거하기 위해 강제 -f 플래그를 사용해야 할 수 있습니다.

IoT Edge 서비스는 최신 버전의 런타임 이미지를 끌어오고 해당 이미지를 디바이스에서 자동으로 다시 시작합니다.

특정 태그 이미지 업데이트

배포에서 특정 태그를 사용하는 경우(예: mcr.microsoft.com/azureiotedge-hub:1.4) 배포 매니페스트에서 태그를 업데이트하고 변경 내용을 디바이스에 적용하기만 하면 됩니다.

  1. Azure Portal의 IoT Hub에서 IoT Edge 디바이스를 선택하고 모듈 설정을 선택합니다.

  2. 모듈 탭에서 런타임 설정을 선택합니다.

  3. 런타임 설정에서 Edge 에이전트 섹션의 이미지 URI 값을 원하는 버전으로 업데이트합니다. 예를 들어, mcr.microsoft.com/azureiotedge-agent:1.5 아직 적용을 선택하지 마세요.

  4. Edge Hub 탭을 선택하고 원하는 동일한 버전으로 이미지 URI 값을 업데이트합니다. 예들 들어 mcr.microsoft.com/azureiotedge-hub:1.5입니다.

  5. 적용을 선택하여 변경 내용을 저장합니다.

  6. 검토 + 만들기를 선택하고 JSON 파일에 표시된 대로 배포를 검토한 다음 만들기를 선택합니다.

파트너 모듈 URI 업데이트

파트너 모듈을 사용하는 경우 파트너가 제공한 이미지 URI를 사용하여 모듈 배포를 업데이트합니다. 업데이트된 컨테이너 이미지 URI를 얻으려면 IoT Edge 모듈 게시자에 문의하세요. 게시자가 제공하는 새 이미지 URI로 디바이스 구성을 업데이트합니다.

  1. Azure Portal에 로그인하고 IoT Hub로 이동합니다.
  2. 왼쪽 창에서 디바이스 관리 메뉴 아래의 디바이스를 선택합니다.
  3. 목록에서 파트너 모듈을 사용하는 IoT Edge 디바이스를 선택합니다.
  4. 위쪽 막대에서 모듈 설정을 선택합니다.
  5. 새 이미지 URI로 업데이트하려는 IoT Edge 파트너 모듈을 선택합니다.
  6. 이미지 URI 값을 게시자가 제공하는 새 이미지 URI로 업데이트합니다.
  7. 적용을 선택하여 변경 내용을 저장합니다.
  8. 검토 + 만들기를 선택하고 JSON 파일에 표시된 대로 배포를 검토한 다음 만들기를 선택합니다.

버전이 일치하는지 확인

  1. 디바이스에서 iotedge version을 사용하여 보안 하위 시스템 버전을 확인합니다. 출력에는 주 버전, 부 버전 및 수정 버전 번호가 포함됩니다. 예: iotedge 1.4.2.

  2. 디바이스 배포 런타임 설정에서 edgeHubedgeAgent 이미지 URI 버전이 보안 하위 시스템의 주 버전 및 부 버전과 일치하는지 확인합니다. 보안 하위 시스템 버전이 1.4.2인 경우 이미지 버전은 1.4입니다. 예: mcr.microsoft.com/azureiotedge-hub:1.4mcr.microsoft.com/azureiotedge-agent:1.4.

참고 항목

IoT Edge 보안 하위 시스템 및 런타임 컨테이너를 지원되는 동일한 릴리스 버전으로 업데이트합니다. 일치하지 않는 버전이 지원되지만 모든 버전 조합을 테스트하지는 않았습니다.

최신 버전의 Azure IoT Edge를 찾으려면 Azure IoT Edge 릴리스를 참조하세요.

문제 해결

언제든 디바이스에서 다음 명령을 실행하여 시스템의 로그를 볼 수 있습니다.

  • check 명령을 사용하여 문제 해결을 시작합니다. 일반적인 문제에 대한 구성 및 연결 테스트 컬렉션을 실행합니다.

    sudo iotedge check --verbose
    
  • IoT Edge 시스템 서비스의 상태를 확인하려면 다음을 수행합니다.

    sudo iotedge system status 
    
  • 호스트 구성 요소 로그를 보려면 다음을 실행합니다.

    sudo iotedge system logs
    
  • edgeAgent 및 edgeHub에서 보고된 반복되는 문제를 확인하려면 다음을 실행합니다.

    <module>을 고유의 모듈 이름으로 바꿉니다. 문제가 없으면 출력이 표시되지 않습니다.

    sudo iotedge logs <module>
    

자세한 내용은 IoT Edge 디바이스 문제 해결을 참조하세요.

다음 단계

최신 Azure IoT Edge 릴리스를 확인합니다.

IoT(사물 인터넷) 블로그에서 최신 업데이트 및 알림을 받아 보세요.