연결이 끊긴 환경에서 Docker 컨테이너 사용

컨테이너를 사용하면 고유한 환경에서 Azure AI 서비스 API를 실행할 수 있으며 특정 보안 및 데이터 거버넌스 요구 사항에 적합합니다. 연결이 끊긴 컨테이너를 사용하면 인터넷에서 연결이 끊긴 이러한 여러 API를 사용할 수 있습니다. 현재 다음 컨테이너를 이러한 방식으로 실행할 수 있습니다.

오프라인 환경에서 Docker 컨테이너를 실행하기 전에 컨테이너를 성공적으로 다운로드하고 사용하는 단계를 알고 있는지 확인합니다. 예시:

  • 호스트 컴퓨터 요구 사항 및 권장 사항
  • 컨테이너를 다운로드하는 데 사용할 Docker pull 명령입니다.
  • 컨테이너가 실행 중인지 유효성 검사하는 방법입니다.
  • 실행 중인 컨테이너의 엔드포인트에 쿼리를 보내는 방법입니다.

연결되지 않은 환경에서 컨테이너 사용에 대한 액세스 요청

인터넷 연결이 끊긴 컨테이너에 대한 액세스를 요청하려면 요청 양식을 작성하여 제출합니다.

이 양식에서는 컨테이너를 사용할 사용자, 회사 및 사용자 시나리오에 대한 정보를 요청합니다. 양식이 제출되면 Azure AI 서비스 팀에서 해당 양식을 검토하고 영업일 기준 10일 이내에 결정 사항을 이메일로 알려드립니다.

Important

  • 양식에서 Azure 구독 ID와 연결된 이메일 주소를 사용해야 합니다.
  • 컨테이너를 실행하는 데 사용하는 Azure 리소스는 승인된 Azure 구독 ID로 생성되어야 합니다.
  • Microsoft에서 애플리케이션의 상태에 대한 업데이트를 확인하려면 이메일(받은 편지함 및 스팸 메일함 모두)을 확인합니다.

승인을 받으면 문서의 뒷부분에서 설명하는 MCR(Microsoft Container Registry)에서 컨테이너를 다운로드여 실행할 수 있습니다.

Azure 구독이 승인되지 않으면 컨테이너를 실행할 수 없습니다.

액세스는 다음 요구 사항을 충족하는 고객으로 제한됩니다.

  • 조직은 Microsoft의 전략적 고객 또는 파트너로 식별되어야 합니다.
  • 연결이 끊긴 컨테이너는 완전히 오프라인으로 실행되어야 하므로 사용 사례는 아래 또는 유사한 요구 사항 중 하나를 충족해야 합니다.
    • 인터넷에 연결되지 않은 환경 또는 디바이스.
    • 경우에 따라 인터넷에 액세스할 수 있는 원격 위치.
    • 어떤 종류의 데이터도 클라우드로 다시 보내지 않는다는 엄격한 규제를 받는 조직입니다.
  • 지시에 따라 애플리케이션 완료 - 승인에 필요한 모든 정보를 제공할 수 있도록 애플리케이션서 전체에 제공되는 지침을 자세히 확인하세요.

연결이 끊긴 컨테이너에 대한 약정 계층 가격 책정 계획 구매

새 리소스 만들기

  1. Azure Portal에 로그인하고 위에 나열된 해당 Azure AI 서비스 중 하나에 대한 새 리소스 만들기를 선택합니다.

  2. 해당 정보를 입력하여 리소스를 만듭니다. 가격 책정 계층으로 약정 계층 연결 해제 컨테이너를 선택해야 합니다.

    참고 항목

    • Microsoft의 승인을 받은 경우에만 약정 계층을 구매할 수 있는 옵션이 표시됩니다.
    • 가격 정보는 예시일 뿐입니다.
  3. 페이지 아래쪽에서 검토 + 만들기를 선택합니다. 정보를 검토하고 만들기를 선택합니다.

연결이 끊긴 사용을 위한 컨테이너 구성

연결이 끊긴 사용을 위해 컨테이너를 다운로드하고 구성하는 단계는 다음 설명서를 참조하세요.

Speech Service

언어 서비스

Kubernetes 배포의 환경 변수 이름

일부 Azure AI 컨테이너(예: Translator)에서는 사용자가 컨테이너를 실행할 때 콜론(:)을 포함하는 환경 변수 이름을 전달해야 합니다. Docker를 사용할 때는 정상적으로 작동하지만 Kubernetes에서는 환경 변수 이름에 콜론을 허용하지 않습니다. 이 문제를 해결하기 위하여 Kubernetes에 배포할 때는 콜론을 이중 밑줄 문자(__)로 바꿀 수 있습니다. 환경 변수 이름에 허용되는 형식의 다음 예제를 참조하세요.

        env:  
        - name: Mounts__License
          value: "/license"
        - name: Mounts__Output
          value: "/output"

이 예제에서는 Docker 실행 명령에서 Mounts:LicenseMounts:Output 환경 변수 이름의 기본 형식을 바꿉니다.

컨테이너 이미지 및 라이선스 업데이트

컨테이너 라이선스 파일은 각 컨테이너 이미지 내의 특정 파일을 해독하는 키로 사용됩니다. 이러한 암호화된 파일이 새 컨테이너 이미지 내에서 업데이트되면 이전 버전의 컨테이너 이미지에서 작동했더라도 보유하고 있는 라이선스 파일이 컨테이너를 시작하지 못할 수 있습니다. 이 문제를 방지하려면 mcr.microsoft.com에서 새 이미지 버전을 가져온 후 Azure Portal에 제공된 컨테이너의 리소스 엔드포인트에서 새 라이선스 파일을 다운로드하는 것이 좋습니다.

새 라이선스 파일을 다운로드하려면 라이선스 마운트, API 키, 청구 엔드포인트와 함께 Docker 실행 명령에 DownloadLicense=True를 추가하면 됩니다. 자세한 지침은 컨테이너 설명서를 참조하세요.

사용량 레코드

연결이 끊긴 환경에서 Docker 컨테이너를 작동할 때 컨테이너는 시간이 지남에 따라 수집되는 볼륨에 사용량 레코드를 씁니다. REST 엔드포인트를 호출하여 서비스 사용량에 대한 보고서를 생성할 수도 있습니다.

로그 저장을 위한 인수

연결이 끊긴 환경에서 실행할 때 사용량 로그를 저장하려면 컨테이너에서 출력 탑재를 사용량할 수 있어야 합니다. 예를 들어 아래 예에서 -v /host/output:{OUTPUT_PATH}Mounts:Output={OUTPUT_PATH}를 포함하고 {OUTPUT_PATH}를 로그가 저장될 경로로 바꿉니다.

docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}

컨테이너 엔드포인트를 사용하여 레코드 가져오기

컨테이너는 사용량에 대한 레코드를 반환하기 위해 두 개의 엔드포인트를 제공합니다.

모든 기록 가져오기

다음 엔드포인트는 탑재된 청구 레코드 디렉터리에서 수집된 모든 사용량을 요약한 보고서를 제공합니다.

https://<service>/records/usage-logs/

아래 예와 유사한 JSON을 반환합니다.

{
  "apiType": "noop",
  "serviceName": "noop",
  "meters": [
    {
      "name": "Sample.Meter",
      "quantity": 253
    }
  ]
}

특정 월의 기록 가져오기

다음 엔드포인트는 특정 월 및 연도의 사용량을 요약한 보고서를 제공합니다.

https://<service>/records/usage-logs/{MONTH}/{YEAR}

아래 예와 유사한 JSON 응답을 반환합니다.

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 253
    }
  ]
}

연결이 끊긴 환경에서 컨테이너를 사용하기 위한 약정 플랜 구매

연결 해제된 컨테이너에 대한 약정 플랜에는 1년 약정 기간이 있습니다. 플랜을 구매하면 즉시 전체 가격이 청구됩니다. 약정 기간 동안에는 약정 플랜을 변경할 수 없지만 해당 연도의 남은 일수에 대해 비례 배분된 가격으로 추가 단위를 구입할 수 있습니다. 약정 마지막 날 자정(UTC)까지 약정 플랜을 종료해야 합니다.

리소스의 약정 계층 가격 책정 설정에서 다른 약정 플랜을 선택할 수 있습니다.

약정 플랜 종료

약정 플랜을 계속 구매하지 않으려는 경우 리소스의 자동 갱신을 자동 갱신 안 함으로 설정할 수 있습니다. 약정 플랜은 표시된 약정 종료 날짜에 만료됩니다. 이 날짜 이후에는 약정 플랜에 대한 요금이 청구되지 않습니다. Azure 리소스를 계속 사용하여 종량제 가격으로 청구되는 API를 호출할 수 있습니다. 연결 해제된 컨테이너에 대한 약정 플랜을 종료하려면 연도의 마지막 날 자정(UTC)까지 해야 하며 다음 연도에는 요금이 청구되지 않습니다.

문제 해결

출력 탑재 및 활성화된 로깅을 사용하여 컨테이너를 실행하는 경우 컨테이너는 컨테이너를 시작 또는 실행하는 동안 발생하는 문제를 해결하는 데 도움이 되는 로그 파일을 생성합니다.

문제 해결 정보 및 지침에 대한 자세한 내용은 연결이 끊긴 컨테이너 질문과 대답(FAQ)을 참조하세요.

다음 단계

Azure AI 컨테이너 개요