다음을 통해 공유


언어 서비스 Docker 컨테이너 구성

언어 서비스는 각 컨테이너에 공통 구성 프레임워크를 제공하므로 컨테이너에 대한 스토리지, 로깅 및 원격 분석, 보안 설정을 쉽게 구성하고 관리할 수 있습니다. 이 문서는 다음 컨테이너에 적용됩니다.

  • 감정 분석
  • 언어 감지
  • 핵심 구 추출
  • 상태에 대한 Text Analytics
  • 요약
  • NER(명명된 엔터티 인식)
  • PII(개인 식별 가능) 검색

구성 설정

컨테이너에는 다음 구성 설정이 있습니다.

Required 설정 목적
ApiKey 청구 정보를 추적합니다.
아니요 ApplicationInsights Azure Application Insights 원격 분석 지원을 컨테이너에 추가할 수 있습니다.
Billing Azure에서 서비스 리소스의 엔드포인트 URI를 지정합니다.
Eula 컨테이너에 대한 라이선스에 동의했음을 나타냅니다.
아니요 Fluentd 로그 및 메트릭 데이터(선택 사항)를 Fluentd 서버에 씁니다.
아니요 HTTP 프록시 아웃바운드 요청을 만들기 위한 HTTP 프록시를 구성합니다.
아니요 로깅 컨테이너에 대한 ASP.NET Core 로깅 지원을 제공합니다.
아니요 Mounts 호스트 컴퓨터에서 컨테이너로, 컨테이너에서 호스트 컴퓨터로 데이터를 읽고 씁니다.

Important

ApiKey, BillingEula 설정은 함께 사용됩니다. 이 세 가지 설정 모두에 대해 유효한 값을 제공해야 하며, 제공하지 않을 경우 컨테이너는 시작되지 않습니다.

ApiKey 구성 설정

ApiKey 설정은 컨테이너에 대한 청구 정보를 추적하는 데 사용되는 Azure 리소스 키를 지정합니다. 키 값을 지정해야 하며 이는 Billing 구성 설정에 지정된 Language 리소스에 유효한 키여야 합니다.

ApplicationInsights 설정

ApplicationInsights 설정으로 Azure Application Insights 원격 분석 지원을 컨테이너에 추가할 수 있습니다. Application Insights는 컨테이너의 심층 모니터링을 제공합니다. 컨테이너의 가용성, 성능 및 사용량을 쉽게 모니터링할 수 있습니다. 또한 컨테이너의 오류를 빠르게 식별하고 진단할 수 있습니다.

다음 표에서는 ApplicationInsights 섹션에서 지원되는 구성 설정을 설명합니다.

Required 이름 데이터 유형 설명
아니요 InstrumentationKey 문자열 컨테이너에 대한 원격 분석 데이터가 전송되는 Application Insights 인스턴스의 계측 키입니다. 자세한 내용은 ASP.NET Core용 Application Insights를 참조하세요.

예시:
InstrumentationKey=123456789

청구 구성 설정

Billing 설정은 컨테이너에 대한 청구 정보를 측정하는 데 사용되는 Azure의 언어 리소스에 대한 엔드포인트 URI를 지정합니다. 이 구성 설정에 대한 값을 지정해야 하며, 이 값은 Azure의 언어 리소스에 대한 유효한 엔드포인트 URI여야 합니다. 컨테이너는 약 10 ~ 15분마다 사용량을 보고합니다.

Required 이름 데이터 유형 설명
Billing 문자열 청구 엔드포인트 URI입니다.

Eula 설정

Eula 설정은 컨테이너에 대한 라이선스에 동의했음을 나타냅니다. 이 구성 설정에 대한 값을 지정해야 하며, 이 값은 accept로 설정해야 합니다.

Required 이름 데이터 유형 설명
Eula 문자열 라이선스 승인

예시:
Eula=accept

Azure AI 서비스 컨테이너는 Azure 사용에 관한 계약에 따라 라이선스가 부여됩니다. Azure 사용에 관한 기존 계약이 없으면 Azure 사용에 관한 계약은 온라인 서비스 사용 약관을 포함한 Microsoft 온라인 정기가입 계약임에 동의합니다. 미리 보기의 경우 Microsoft Azure 미리 보기에 대한 추가 사용 약관에도 동의합니다. 컨테이너를 사용하여 이 사용 약관에 동의합니다.

Fluentd 설정

Fluentd는 통합된 로깅에 대한 오픈 소스 데이터 수집기입니다. Fluentd 설정은 Fluentd 서버에 컨테이너의 연결을 관리합니다. 컨테이너에는 Fluentd 로깅 공급자가 포함되어 있어 컨테이너에서 로그 및 메트릭 데이터(선택 사항)를 Fluentd 서버에 쓸 수 있습니다.

다음 표에서는 Fluentd 섹션에서 지원되는 구성 설정을 설명합니다.

이름 데이터 유형 설명
Host 문자열 Fluentd 서버의 IP 주소 또는 DNS 호스트 이름입니다.
Port 정수 Fluentd 서버의 포트입니다.
기본값은 24224입니다.
HeartbeatMs 정수 하트비트 간격(밀리초)입니다. 이 간격이 만료되기 전에 전송된 이벤트 트래픽이 없을 경우 하트 비트는 Fluentd 서버로 전송됩니다. 기본값은 60000밀리초(1분)입니다.
SendBufferSize 정수 전송 작업에 할당된 네트워크 버퍼 공간(바이트)입니다. 기본값은 32768바이트(32킬로바이트)입니다.
TlsConnectionEstablishmentTimeoutMs 정수 Fluentd 서버와 SSL/TLS 연결을 설정하기 위한 시간 제한(밀리초)입니다. 기본값은 10000밀리초(10초)입니다.
UseTLS가 false로 설정되어 있는 경우 이 값은 무시됩니다.
UseTLS 부울 컨테이너가 Fluentd 서버와 통신하기 위해 SSL/TLS를 사용해야 하는지 여부를 나타냅니다. 기본값은 false입니다.

Http 프록시 자격 증명 설정

아웃바운드 요청을 만들기 위한 HTTP 프록시를 구성해야 하는 경우 다음 두 인수를 사용합니다.

이름 데이터 유형 설명
HTTP_PROXY string 사용할 프록시(예: http://proxy:8888)
<proxy-url>
HTTP_PROXY_CREDS string 프록시를 인증하는 데 필요한 자격 증명(예: username:password). 이 값은 소문자여야 합니다.
<proxy-user> string 프록시 사용자입니다.
<proxy-password> string 프록시에 대해 <proxy-user>에 연결된 암호입니다.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

로깅 설정

Logging 설정은 컨테이너에 대한 ASP.NET Core 로깅 지원을 관리합니다. ASP.NET Core 애플리케이션에 사용하는 컨테이너에 대한 동일한 구성 설정 및 값을 사용할 수 있습니다.

컨테이너에서 지원되는 로깅 공급자는 다음과 같습니다.

공급자 목적
콘솔 ASP.NET Core Console 로깅 공급자입니다. 이 로깅 공급자에 대한 모든 ASP.NET Core 구성 설정 및 기본값이 지원됩니다.
디버그 ASP.NET Core Debug 로깅 공급자입니다. 이 로깅 공급자에 대한 모든 ASP.NET Core 구성 설정 및 기본값이 지원됩니다.
디스크 JSON 로깅 공급자입니다. 이 로깅 공급자는 출력 탑재에 로그 데이터를 씁니다.

이 컨테이너 명령은 출력 탑재에 대한 JSON 형식의 로깅 정보를 저장합니다.

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

이 컨테이너 명령은 컨테이너가 실행되는 동안 접두사가 dbug인 디버깅 정보를 보여줍니다.

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

디스크 로깅

Disk 로깅 공급자는 다음과 같은 구성 설정을 지원합니다.

이름 데이터 유형 설명
Format 문자열 로그 파일에 대한 출력 형식입니다.
참고: 로깅 공급자를 사용 설정하려면 이 값을 json으로 설정해야 합니다. 또한 컨테이너를 인스턴스화하는 동안 출력 탑재를 지정하지 않고 이 값이 지정된 경우에는 오류가 발생합니다.
MaxFileSize 정수 로그 파일의 최대 크기(MB)입니다. 현재 로그 파일의 크기가 이 값을 충족하거나 초과할 경우 로깅 공급자가 새 로그 파일을 시작합니다. -1을 지정하면 로그 파일의 크기는 출력 탑재(있는 경우)에 대한 최대 파일 크기에 의해서만 제한됩니다. 기본값은 1입니다.

ASP.NET Core 로깅 지원 구성에 대한 자세한 내용은 설정 파일 구성을 참조하세요.

탑재 설정

바인딩 탑재를 사용하여 컨테이너에서 또는 컨테이너로 읽고 씁니다. Docker 실행 명령의 --mount옵션을 지정하여 입력 탑재 또는 출력 탑재를 지정할 수 있습니다.

언어 서비스 컨테이너는 입력 또는 출력 탑재를 사용하여 학습 또는 서비스 데이터를 저장하지 않습니다.

호스트 탑재 위치의 정확한 구문은 호스트 운영 체제에 따라 다릅니다. 또한 호스트 컴퓨터의 탑재 위치에는 Docker 서비스 계정에서 사용되는 권한과 호스트 탑재 위치 권한 간의 충돌로 인해 액세스할 수 없습니다.

선택 사항 이름 데이터 유형 설명
허용되지 않음 Input 문자열 언어 서비스 컨테이너는 이를 사용하지 않습니다.
선택 사항 Output 문자열 출력 탑재의 대상입니다. 기본값은 /output입니다. 로그의 위치입니다. 컨테이너 로그가 포함됩니다.

예시:
--mount type=bind,src=c:\output,target=/output

다음 단계