Usar contêineres do Docker em ambientes desconectados

Os contêineres permitem que você execute as APIs dos serviços de IA do Azure no seu ambiente e são excelentes para requisitos específicos de segurança e governança de dados. Os contêineres desconectados permitem que você use várias dessas APIs desconectadas da Internet. No momento, os seguintes contêineres podem ser executados dessa maneira:

Antes de tentar executar um contêiner do Docker em um ambiente offline, verifique se você conhece as etapas para baixar e usar o contêiner com êxito. Por exemplo:

  • Recomendações e requisitos do computador host.
  • O comando pull do Docker que será usado para baixar o contêiner.
  • Como validar que um contêiner está em execução.
  • Como enviar consultas para o ponto de extremidade do contêiner, depois que ele estiver em execução.

Solicitar acesso para usar contêineres em ambientes desconectados

Preencha e envie o formulário de solicitação a fim de solicitar acesso aos contêineres desconectados da Internet.

O formulário solicita informações sobre você, sua empresa e o cenário do usuário para o qual você usará o contêiner. Depois que você envia o formulário, a equipe dos serviços de IA do Azure o analisará e lhe enviará uma decisão por email em até dez dias úteis.

Importante

  • No formulário, você precisa usar um endereço de email associado a uma ID da assinatura do Azure.
  • O recurso do Azure usado para executar o contêiner precisa ter sido criado com a ID da assinatura do Azure aprovada.
  • Verifique seu email ( tanto na caixa de entrada e quanto nas pastas de lixo eletrônico) para obter atualizações sobre o status do seu aplicativo da Microsoft.

Após sua aprovação, você poderá executar o contêiner depois de baixá-lo do MCR (Microsoft Container Registry), o que será descrito mais adiante no artigo.

Você não poderá executar o contêiner se a sua assinatura do Azure não for aprovada.

O acesso é limitado aos clientes que atendem aos seguintes requisitos:

  • Sua organização deve ser identificada como cliente estratégico ou parceiro da Microsoft.
  • Os contêineres desconectados devem ser executados totalmente offline, portanto, seus casos de uso precisam atender a um dos requisitos abaixo ou semelhantes:
    • Ambientes ou dispositivos sem conectividade com a Internet.
    • Localização remota que ocasionalmente tem acesso à Internet.
    • Organização sob regulamentação estrita de não enviar nenhum tipo de dados de volta para a nuvem.
  • Aplicativo concluído conforme instruído: preste muita atenção às diretrizes fornecidas em todo o aplicativo para garantir que você forneça todas as informações necessárias para aprovação.

Comprar um plano de preço de nível de compromisso para contêineres desconectados

Criar um novo recurso

  1. Entre no portal do Azure e selecione Criar um recurso para um dos serviços de IA do Azure aplicáveis listados acima.

  2. Insira as informações aplicáveis para criar seu recurso. Lembre-se de selecionar Contêineres desconectados do nível de compromisso como o tipo de preço.

    Observação

    • Você verá a opção de comprar um nível de compromisso apenas se ela tiver sido aprovada pela Microsoft.
    • Os detalhes de preços são apenas exemplos.
  3. Selecione Examinar + Criar na parte inferior da página. Examine as informações e selecione Criar.

Configurar o contêiner para uso desconectado

Consulte a documentação a seguir e obtenha as etapas para baixar e configurar o contêiner e usá-lo desconectado:

Serviço de Fala

Serviço de linguagem

Nomes de variáveis de ambiente em implantações do Kubernetes

Alguns Contêineres de IA do Azure, como por exemplo o Tradutor, exigem que os usuários passem nomes de variáveis ambientais que incluem dois-pontos (:) ao executar o contêiner. Isso funcionará bem ao usar o Docker, mas o Kubernetes não aceita dois-pontos em nomes de variáveis de ambiente. Para resolver isso, você pode substituir dois-pontos por caracteres de sublinhado duplo (__) ao implantar no Kubernetes. Confira o exemplo a seguir de um formato aceitável para nomes de variáveis de ambiente:

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

Este exemplo substitui o formato padrão para os nomes de variáveis de ambiente Mounts:License e Mounts:Output no comando de execução do docker.

Atualizações de licença e imagem de contêiner

Os arquivos de licença de contêiner são usados como chaves para descriptografar determinados arquivos em cada imagem de contêiner. Se esses arquivos criptografados forem atualizados em uma nova imagem de contêiner, o arquivo de licença que você tem poderá falhar ao iniciar o contêiner, mesmo que ele tenha funcionado com a versão anterior da imagem de contêiner. Para evitar esse problema, recomendamos que você baixe um novo arquivo de licença do ponto de extremidade do recurso para o contêiner fornecido no portal do Azure depois de efetuar pull de novas versões de imagem de mcr.microsoft.com.

Para baixar um novo arquivo de licença, você pode adicionar DownloadLicense=True ao comando executar docker juntamente com uma montagem de licença, sua Chave de API e seu ponto de extremidade de cobrança. Consulte a documentação do seu contêiner para obter instruções detalhadas.

Registros de uso

Ao operar os contêineres do Docker em um ambiente desconectado, o contêiner gravará os registros de uso em um volume no qual eles são coletados ao longo do tempo. Você também pode chamar um ponto de extremidade REST para gerar um relatório sobre a utilização do serviço.

Argumentos para armazenar logs

Quando executado em um ambiente desconectado, uma montagem de saída precisa estar disponível para o contêiner para armazenar os logs de uso. Por exemplo, você incluiria -v /host/output:{OUTPUT_PATH} e Mounts:Output={OUTPUT_PATH} no exemplo abaixo, substituindo {OUTPUT_PATH} pelo caminho em que os logs serão armazenados:

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

Obter registros usando os pontos de extremidade do contêiner

O contêiner fornece dois pontos de extremidade para retornar registros sobre o uso.

Obter todos os registros

O ponto de extremidade a seguir fornecerá um relatório resumindo todo o uso coletado no diretório de registro de cobrança montado.

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

Ele retornará um JSON semelhante ao exemplo abaixo.

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

Obter registros de um mês específico

O ponto de extremidade a seguir fornecerá um relatório resumindo o uso em um mês e ano específicos.

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

Ele retornará uma resposta JSON semelhante ao exemplo abaixo:

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

Comprar um plano de compromisso para usar contêineres em ambientes desconectados

Os planos de compromisso para contêineres desconectados têm um período de compromisso de um ano civil. Ao comprar um plano, você será cobrado imediatamente pelo preço cheio. Durante o período de compromisso, você não pode alterar o plano de compromisso, no entanto, pode comprar unidades adicionais a um preço proporcional nos dias restantes do ano. Você tem até meia-noite (UTC) do último dia do seu compromisso, para encerrar um plano de compromisso.

Você pode escolher um plano de compromisso diferente nas configurações de Preços do nível de compromisso do seu recurso.

Encerrar um plano de compromisso

Se você decidir que não deseja continuar comprando um plano de compromisso, poderá definir a renovação automática do recurso como Não renovar automaticamente. Seu plano de compromisso expirará na data de término do compromisso exibida. Após essa data, você não será cobrado pelo plano de compromisso. Você poderá continuar usando o recurso do Azure para fazer chamadas à API, sendo cobrado o preço pago conforme o uso. Você tem até meia-noite (UTC) do último dia do ano para encerrar um plano de compromisso de contêineres desconectados e não ser cobrado pelo ano seguinte.

Solução de problemas

Se você executar o contêiner com uma montagem de saída e o registro em log habilitado, o contêiner gerará arquivos de log que são úteis para solucionar problemas que ocorrem durante a inicialização ou execução do contêiner.

Dica

Para obter mais informações e diretrizes para solução de problemas, confira Perguntas frequentes sobre os contêineres dos desconectados.

Próximas etapas

Visão geral dos contêineres de IA do Azure