다음을 통해 공유


시뮬레이션된 새 디바이스 배포

원격 모니터링 및 디바이스 시뮬레이션 솔루션 가속기를 통해 사용자 고유의 시뮬레이션된 디바이스를 정의할 수 있습니다. 이 문서에서는 사용자 지정된 냉각기 디바이스 유형 및 새 전구 디바이스 유형을 원격 모니터링 솔루션 가속기에 배포하는 방법을 보여줍니다.

이 문서의 단계에서는 시뮬레이션된 새 디바이스 만들기 및 테스트 방법 가이드를 완료하고 사용자 지정된 냉각기 및 새 전구 디바이스 유형을 정의하는 파일을 가지고 있다고 가정합니다.

이 방법 가이드의 단계에서는 다음을 수행하는 방법을 보여줍니다.

  1. SSH를 사용하여 원격 모니터링 솔루션 가속기를 호스트하는 가상 머신의 파일 시스템에 액세스합니다.

  2. Docker 컨테이너 외부 위치에서 디바이스 모델을 로드하도록 Docker를 구성합니다.

  3. 사용자 지정 디바이스 모델 파일을 사용하여 원격 모니터링 솔루션 가속기를 실행합니다.

Azure Cloud Shell

Azure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다.

Azure Cloud Shell을 시작하려면 다음을 수행합니다.

옵션 예제/링크
코드 또는 명령 블록의 오른쪽 상단에서 시도를 선택합니다. 시도를 선택해도 코드 또는 명령이 Cloud Shell에 자동으로 복사되지 않습니다. Azure Cloud Shell에 대한 사용 예제를 보여 주는 스크린샷
https://shell.azure.com으로 이동하거나 Cloud Shell 시작 단추를 선택하여 브라우저에서 Cloud Shell을 엽니다. Azure Cloud Shell을 시작하는 단추입니다.
Azure Portal의 오른쪽 위에 있는 메뉴 모음에서 Cloud Shell 단추를 선택합니다. Azure Portal의 Cloud Shell 단추를 보여 주는 스크린샷

Azure Cloud Shell을 사용하려면:

  1. Cloud Shell을 시작합니다.

  2. 코드 블록(또는 명령 블록)에서 복사 단추를 선택하여 코드 또는 명령을 복사합니다.

  3. Windows 및 Linux에서 Ctrl+Shift+V를 선택하거나 macOS에서 Cmd+Shift+V를 선택하여 코드 또는 명령을 Cloud Shell 세션에 붙여넣습니다.

  4. Enter를 선택하여 코드 또는 명령을 실행합니다.

이 가이드의 수행 단계를 완료하려면 활성 Azure 구독이 필요합니다.

Azure 구독이 아직 없는 경우 시작하기 전에 무료 계정을 만듭니다.

필수 조건

이 방법 가이드를 따르려면 다음이 필요합니다.

  • 원격 모니터링 솔루션 가속기의 배포된 인스턴스입니다.
  • sshscp 명령을 실행하기 위한 로컬 bash 셸. Windows에서 bash를 설치하는 쉬운 방법은 git을 설치하는 것입니다.
  • 사용자 지정 디바이스 모델 파일(예: 새 시뮬레이션된 디바이스 만들기 및 테스트에 설명된 파일).

가상 머신에 액세스

다음 단계에서는 Azure Cloud Shell에서 Azure CLI를 사용합니다. 원하는 경우 개발 머신에 Azure CLI를 설치하고 로컬로 명령을 실행할 수 있습니다.

다음 단계에서는 SSH 액세스를 허용하도록 Azure 가상 머신을 구성하는 방법을 보여줍니다. 표시되는 단계는 솔루션 가속기에 대해 선택한 이름이 contoso-simulation이라고 가정합니다. 이 값을 배포의 이름으로 바꿉니다.

  1. 솔루션 가속기 리소스가 포함된 리소스 그룹의 내용을 나열합니다.

    az resource list -g contoso-simulation -o table
    

    가상 머신, 공용 IP 주소 및 네트워크 보안 그룹의 이름을 기록해 둡니다. 나중에 이러한 값이 필요합니다.

  2. SSH 액세스를 허용하도록 네트워크 보안 그룹을 업데이트합니다. 다음 명령은 네트워크 보안 그룹의 이름이 contoso-simulation-nsg라고 가정합니다. 이 값을 네트워크 보안 그룹의 이름으로 바꿉니다.

    az network nsg rule update --name SSH --nsg-name contoso-simulation-nsg -g contoso-simulation --access Allow -o table
    

    테스트 및 개발 중에만 SSH 액세스를 사용하도록 설정합니다. SSH 를 사용하도록 설정하는 경우 가능한 한 빨리 다시 사용하지 않도록 설정해야 합니다.

  3. 가상 머신에서 azureuser 계정에 대한 암호를 아는 암호로 업데이트합니다. 다음 명령을 실행하는 경우 고유한 암호를 선택합니다.

    az vm user update --name vm-vikxv --username azureuser --password YOURSECRETPASSWORD  -g contoso-simulation
    
  4. 가상 머신의 공용 IP 주소를 찾습니다. 다음 명령에서는 가상 머신의 이름이 vm-vikxv라고 가정합니다. 이 값을 이전에 기록해 둔 가상 머신의 이름으로 바꿉니다.

    az vm list-ip-addresses --name vm-vikxv -g contoso-simulation -o table
    

    가상 머신의 공용 IP 주소를 기록해 둡니다.

Docker 구성

이 섹션에서는 Docker 컨테이너 내부가 아닌 가상 머신의 /tmp/devicemodels 폴더에서 디바이스 모델 파일을 로드하도록 Docker를 구성합니다. 로컬 컴퓨터의 bash 셸에서 이 섹션의 명령을 실행합니다.

이 섹션에서는 Docker 컨테이너 내부가 아닌 가상 머신의 /tmp/devicemodels 폴더에서 디바이스 모델 파일을 로드하도록 Docker를 구성합니다. 로컬 컴퓨터의 bash 셸에서 이 섹션의 명령을 실행합니다.

  1. SSH를 사용하여 로컬 컴퓨터에서 Azure의 가상 머신에 연결합니다. 다음 명령은 가상 머신의 공용 IP 주소 vm-vikxv104.41.128.108이라고 가정합니다. 이 값을 이전 섹션의 가상 머신 공용 IP 주소로 바꿉니다.

     ssh azureuser@104.41.128.108
    

    프롬프트에 따라 이전 섹션에서 설정한 암호를 사용하여 가상 머신에 로그인합니다.

  2. 컨테이너 외부에서 디바이스 모델을 로드하도록 디바이스 시뮬레이션 서비스를 구성합니다. 먼저 Docker 구성 파일을 엽니다.

    sudo nano /app/docker-compose.yml
    

    devicesimulation 컨테이너에 대한 설정을 찾고 다음 코드 조각에 표시된 것처럼 volumes 설정을 편집합니다.

    devicesimulation:
      image: azureiotpcs/device-simulation-dotnet:1.0.0
      networks:
        - default_net
      depends_on:
        - storageadapter
      environment:
        - PCS_KEYVAULT_NAME
        - PCS_AAD_APPID
        - PCS_AAD_APPSECRET
      # How one could mount custom device models
      volumes:
        - /tmp/devicemodels:/app/webservice/data/devicemodels:ro
    

    변경 내용을 저장합니다.

  3. 컨테이너에서 새 위치로 기존 디바이스 모델 파일을 복사합니다. 먼저 디바이스 시뮬레이션 컨테이너의 컨테이너 ID를 찾습니다.

    sudo docker ps
    

    그런 다음, 디바이스 모델 파일을 가상 머신의 tmp 폴더에 복사합니다. 다음 명령은 컨테이너 ID가 c378d6878407이라고 가정합니다. 이 값을 디바이스 시뮬레이션 컨테이너 ID로 바꿉니다.

    sudo docker cp c378d6878407:/app/webservice/data/devicemodels /tmp
    sudo chown -R azureuser /tmp/devicemodels/
    

    bash 창에서 SSH 세션을 열린 상태로 둡니다.

  4. 가상 머신에 사용자 지정 디바이스 모델 파일을 복사합니다. 이 명령은 사용자 지정 디바이스 모델을 만든 컴퓨터의 다른 bash 셸에서 실행합니다. 먼저 디바이스 모델 JSON 파일이 포함된 로컬 폴더로 이동합니다. 다음 명령은 가상 머신의 공용 IP 주소가 104.41.128.108 이라고 가정합니다. 이 값을 가상 머신의 공용 IP 주소로 바꿉니다. 메시지가 표시되면 가상 머신 암호를 입력합니다.

    scp *json azureuser@104.41.128.108:/tmp/devicemodels
    cd scripts
    scp *js azureuser@104.41.128.108:/tmp/devicemodels/scripts
    
  5. 디바이스 시뮬레이션 Docker 컨테이너를 다시 시작하여 새 디바이스 모델을 사용합니다. 가상 머신에 대한 열린 SSH 세션을 사용하여 bash 셸에서 다음 명령을 실행합니다.

    sudo /app/start.sh
    

    실행 중인 Docker 컨테이너의 상태 및 해당 컨테이너 ID를 확인하려는 경우 다음 명령을 사용합니다.

    sudo docker ps
    

    디바이스 시뮬레이션 컨테이너에서 로그를 확인하려는 경우 다음 명령을 실행합니다. 컨테이너 ID를 디바이스 시뮬레이션 컨테이너의 ID로 바꿉니다.

    sudo docker logs -f 5d3f3e78822e
    

시뮬레이션 실행

이제 원격 모니터링 솔루션에서 사용자 지정 디바이스 모델을 사용할 수 있습니다.

  1. 원격 모니터링 대시보드를 시작합니다.

  2. 디바이스 페이지를 사용하여 시뮬레이션된 디바이스를 추가합니다. 시뮬레이트된 새 디바이스를 추가하면 새 디바이스 모델을 선택할 수 있습니다.

  3. 대시보드를 사용하여 디바이스 원격 분석을 보고 디바이스 메서드를 호출할 수 있습니다.

리소스 정리

추가 탐색하려는 경우 원격 모니터링 솔루션 가속기를 배포된 상태로 둡니다.

솔루션 가속기가 더 이상 필요하지 않은 경우 삭제합니다.

다음 단계

이 가이드에서는 원격 모니터링 솔루션 가속기에 사용자 지정 디바이스 모델을 배포하는 방법을 보여 줍니다. 제안되는 다음 단계는 실제 디바이스를 원격 모니터링 솔루션에 연결하는 방법을 알아보는 것입니다.