Synology NAS에서 Azure Cosmos DB Emulator 설정

4139 단어
Cosmos DB 에뮬레이터는 로컬 환경에서 Azure Cosmos DB에 대해 개발하는 데 적합합니다. 하지만 Mac/Linux에서 에뮬레이터를 실행하려는 경우 이 글을 작성할 당시 에뮬레이터는 현재 미리보기 모드이며 Docker를 사용하여 사용할 수 있습니다.

최근에 Cosmos DB Emulator를 Mac에 설치하고 싶었지만 Mac에서 항상 실행되도록 설정하고 싶지 않았습니다. 대신 저는 Synology NAS를 사용하여 에뮬레이터를 NAS에서 직접 호스트하기로 결정했습니다. 에뮬레이터는 Linux에 구축되어 있고 항상 에뮬레이터를 실행하고 사용할 수 있기 때문입니다.

이 게시물에서는 Synology NAS에서 설정하는 방법을 살펴보겠습니다.

목표는 Synology에서 Cosmos DB 에뮬레이터를 Docker 컨테이너로 실행하는 것입니다.

Synology에서 SSH 활성화



Cosmos DB Emulator 이미지는 UI/검색 서비스를 제공하지 않는 Microsoft Registry(mcr.microsoft.com)에서 호스팅되므로 Synology의 Docker 앱은 Microsoft Registry에서 이미지를 가져올 수 없습니다. 이를 위해 Synology에 SSH를 사용하고 docker 명령을 직접 실행할 수 있도록 Synology에서 SSH를 활성화해야 합니다.



Synology에서 방화벽을 활성화한 경우 Allow 포트22도 있어야 합니다.



도커 이미지 가져오기



SYnology에서 SSH를 활성화한 후 Synology에 SSH를 연결하고 아래 명령을 실행하여 Cosmos Emulator의 Docker 이미지를 가져올 수 있습니다.

sudo docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator



Syonology의 Docker 앱에서 사용할 수 있는 Cosmos DB Emulator 이미지가 표시되어야 합니다.



컨테이너 시작



이제 방금 가져온 도커 이미지를 사용하여 컨테이너를 만들 수 있습니다. 시작하기 전에 에뮬레이터에 대한 Microsoft 설명서에 따라 컨테이너에 대한 몇 가지 환경 변수를 설정했는지 확인해야 합니다. 그들은

AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE = <<SYNOLOGY_IP_ADDRESS>>
AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE = true
AZURE_COSMOS_EMULATOR_PARTITION_COUNT = 10





마지막으로 컨테이너에 대해 이러한 포트를 매핑했는지 확인해야 합니다. Synology의 방화벽에서도 아래 포트를 열었는지 확인하십시오.



For more information on creating container from docker image, see Synology’s documentation.



컴퓨터에 인증서 설치



인증서로 인한 오류를 방지하려면 에뮬레이터용 자체 서명 인증서를 다운로드하여 컴퓨터에 설치해야 합니다. 에뮬레이터에 대한 인증서를 다운로드하려면 아래 명령을 실행하십시오.

curl -k https://<<SYNOLOGY_IP_ADDRESS>>:8081/_explorer/emulator.pem > emulatorcert.crt



내 Mac에서는 install it on Keychain Access App 으로 설정하고 Always Trust 로 설정해야 했습니다.

완료되면 https://<<SYNOLOGY_IP_ADDRESS>>:8081/_explorer/index.html를 사용하여 Cosmos Emulator UI를 탐색할 수 있어야 합니다.



그게 다야! 이제 Cosmos Emulator를 항상 사용할 수 있습니다.

참조


  • Microsoft documentation on Cosmos DB Emulator on Linux
  • Enabling SSH on Synology
  • 좋은 웹페이지 즐겨찾기