Problemas de configuração e gerenciamento para Serviços de Nuvem do Azure (clássico): perguntas frequentes

Importante

Os Serviços de Nuvem (clássicos) agora foram preteridos para novos clientes e serão desativados em 31 de agosto de 2024 para todos os clientes. As novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido) .

Este artigo inclui perguntas frequentes sobre a configuração e o gerenciamento de Serviços de Nuvem do Microsoft Azure. Você também pode consultar a página de tamanho de VM de Serviços de Nuvem para obter informações de tamanho.

Caso o seu problema do Azure não seja abordado neste artigo, visite os fóruns do Azure no Microsoft Q&A e no Stack Overflow. Você pode postar seu problema nesses fóruns ou enviar para@AzureSupport no Twitter. Você também pode enviar uma solicitação de suporte do Azure. Para enviar uma solicitação de suporte na página Suporte do Azure, selecione Obter suporte.

Certificados

Monitoramento e registro em log

Configuração de rede

Permissões

Dimensionamento

Genérico

Certificados

Por que a cadeia de certificados do meu certificado TLS/SSL de serviço de nuvem está incompleta?

É recomendável que os clientes instalem uma cadeia de certificados completa (certificado de folha, certificados intermediários e certificado raiz), em vez de apenas o certificado de folha. Ao instalar apenas o certificado de folha, você confia no Windows para criar a cadeia de certificados percorrendo a CTL. Se ocorrerem problemas intermitentes de rede ou DNS no Azure ou no Windows Update quando o Windows estiver tentando validar o certificado, o certificado poderá ser considerado inválido. Ao instalar a cadeia de certificados completa, esse problema pode ser evitado. O blog em Como instalar um certificado SSL encadeado mostra como fazer isso.

Qual é a finalidade do "Certificado de Criptografia das Ferramentas do Microsoft Azure para Extensões"?

Esses certificados são criados automaticamente sempre que uma extensão é adicionada ao serviço de nuvem. Normalmente, essa é a extensão WAD ou a extensão RDP, mas pode ser pessoas, como a extensão Antimalware ou Coletor de Log. Esses certificados são usados apenas para criptografar e descriptografar a configuração privada da extensão. A data de validade nunca é verificada, assim, não importa se o certificado expirou. 

Você pode ignorar esses certificados. Se você quiser limpar os certificados, poderá tentar excluir todos eles. O Azure emitirá um erro se você tentar excluir um certificado que esteja em uso.

Como posso gerar uma CSR (Solicitação de Assinatura de Certificado) sem fazer "RDP" para a instância?

Consulte o documento de diretrizes a seguir:

Como obter um certificado para uso com o WAWS (Sites do Microsoft Azure)

O CSR é apenas um arquivo de texto. Ele não precisa ser criado no computador em que o certificado será realmente usado. Embora este documento tenha sido escrito para um Serviço de Aplicativo, a criação de CSR é genérica e também se aplica a Serviços de Nuvem.

Meu certificado de gerenciamento de serviço de nuvem está vencendo. Como renová-lo?

Você pode usar comandos do PowerShell a seguir para renovar seus certificados de gerenciamento:

Add-AzureAccount
Select-AzureSubscription -Current -SubscriptionName <your subscription name>
Get-AzurePublishSettingsFile

O Get-AzurePublishSettingsFile criará um novo certificado de gerenciamento em assinatura>certificados de gerenciamento no portal do Azure. O nome do novo certificado se parece com "YourSubscriptionNam]-[CurrentDate]-credenciais".

Como automatizar a instalação do certificado TSL/SSL principal (.pfx) e do certificado intermediário (.p7b)?

Você pode automatizar essa tarefa usando um script de inicialização (lote/cmd/PowerShell) e registrar esse script de inicialização no arquivo de definição de serviço. Adicione o script de inicialização e o certificado (arquivo. p7b) na pasta do projeto do mesmo diretório do script de inicialização.

Qual é a finalidade do certificado de “Gerenciamento de Serviço do Microsoft Azure para MachineKey”?

Este certificado é usado para encriptar chaves de máquina em Funções de Web do Azure. Para saber mais, veja este comunicado.

Para obter mais informações, confira os seguintes artigos:

Monitoramento e registro em log

Quais são os recursos futuros do serviço de nuvem no portal do Azure que podem ajudar a gerenciar e monitorar aplicativos?

Capacidade de gerar um novo certificado De Protocolo De Área De Trabalho Remota (RDP) estará disponível em breve. Como alternativa, você pode executar o seguinte script:

$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My" -KeyLength 20 48 -KeySpec "KeyExchange"
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password

Capacidade de escolher o blob ou local para o seu csdef e de carregar localização de cscfg em breve. Usando New-AzureDeployment, você pode definir o valor de cada local.

Capacidade de monitorar as métricas no nível de instância. Há mais recursos de monitoramento disponíveis em Como monitorar Serviços de Nuvem.

Por que o IIS para de gravar no diretório de log?

Você esgotou a cota de armazenamento local para gravação no diretório de log. Para corrigir isso, você pode executar uma destas três ações:

  • Habilitar o diagnóstico para o IIS e mover o diagnóstico periodicamente para o armazenamento de Blobs.
  • Remover manualmente os arquivos de log do diretório de log.
  • Aumentar os limite de cota para recursos locais.

Para obter mais informações, consulte um dos seguintes documentos:

Como habilitar o registro em log do WAD para serviços de nuvem?

Você pode habilitar o log do Windows Azure Diagnostics (WAD) através das seguintes opções:

  1. Ativar a partir do Visual Studio
  2. Ativar pelo código .NET
  3. Ativar através do Powershell

Para obter as configurações atuais do WAD do seu Serviço em Nuvem, você pode usar o cmd Get-AzureServiceDiagnosticsExtensions do PowerShell ou pode visualizá-lo no portal na folha “Serviços em Nuvem -> Extensões”.

Configuração de rede

Como fazer para configurar o tempo limite para o Azure Load Balancer?

Você pode especificar o tempo limite no arquivo de definição de serviço (csdef) assim:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="mgVS2015Worker" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
  <WorkerRole name="WorkerRole1" vmsize="Small">
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
    </ConfigurationSettings>
    <Imports>
      <Import moduleName="RemoteAccess" />
      <Import moduleName="RemoteForwarder" />
    </Imports>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="tcp" port="10100"   idleTimeoutInMinutes="30" />
    </Endpoints>
  </WorkerRole>

Consulte Novo: tempo limite de ociosidade configurável para o Azure Load Balancer para obter mais informações.

Como fazer para associar um endereço IP estático ao meu serviço de nuvem?

Para configurar um endereço IP estático, você precisa criar um IP reservado. Esse IP reservado pode ser associado a um novo serviço de nuvem ou a uma implantação existente. Consulte os documentos a seguir para obter detalhes:

Quais são os recursos e as funcionalidades que o DDOS e o IPS/IDS básicos do Azure oferecem?

O Azure tem IPS/IDS nos servidores físicos do datacenter para proteger-se contra ameaças. Além disso, os clientes podem implantar soluções de segurança de terceiros, como firewalls de aplicativo Web, firewalls de rede, antimalware, IDS/IPS (sistema de detecção de intrusão/sistema de prevenção de intrusão) e muito mais. Para obter mais informações, consulte Proteger seus dados e ativos e cumprir padrões de segurança globais.

A Microsoft monitora continuamente servidores, redes e aplicativos para detectar ameaças. A abordagem de gerenciamento de ameaças em várias frentes do Azure, usa detecção de intrusão, prevenção de ataque de DDoS (negação de serviço distribuída), teste de penetração, análise de comportamento, detecção de anomalias e machine learning para reforçar constantemente sua defesa e reduzir os riscos. O Microsoft Antimalware para Azure protege os serviços de nuvem e as máquinas virtuais do Azure. Você tem a opção de implantar soluções de segurança de terceiros adicionalmente, como firewalls de aplicativo Web, firewalls de rede, antimalware, IDS/IPS (sistema de detecção de intrusão/sistema de prevenção de intrusão) e muito mais.

Como habilitar o HTTP/2 na VM dos Serviços de Nuvem?

O Windows 10 e Windows Server 2016 vêm com suporte para HTTP/2 no lado do cliente e do servidor. Se seu cliente (navegador) estiver se conectando ao servidor do IIS sobre TLS que negocia HTTP/2 por meio de extensões do TLS, então não será necessário fazer nenhuma alteração no lado do servidor. Isso ocorre porque, por TLS, o cabeçalho h2-14 que especifica o uso de HTTP/2 é enviado por padrão. Se, por outro lado, o cliente estiver enviando um cabeçalho de atualização a ser atualizado para HTTP/2, será necessário fazer a alteração abaixo no lado do servidor para garantir que a atualização funcione e que você termine com uma conexão HTTP/2.

  1. Execute regedit.exe.
  2. Navegue até a chave do Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters.
  3. Crie um novo valor DWORD chamado DuoEnabled.
  4. Defina seu valor como 1.
  5. Reinicie seu servidor.
  6. Vá para o Site da Web padrão e, em Associações, crie uma nova associação TLS com o certificado autoassinado recém-criado.

Para obter mais informações, consulte:

  • HTTP/2 no IIS
  • Vídeo: HTTP/2 no Windows 10: navegador, aplicativos e servidor Web

Essas etapas poderiam ser automatizadas por meio de uma tarefa de inicialização. Assim, sempre que uma nova instância PaaS for criada, ela poder á fazer as alterações acima no Registro do sistema. Para obter mais informações, consulte Como configurar e executar tarefas de inicialização para um serviço de nuvem.

Quando isso tiver sido feito, será possível verificar se o HTTP/2 foi habilitado ou não usando um dos métodos a seguir:

  • Habilite a versão do protocolo nos logs do IIS e examine os logs do IIS. Ela mostrará HTTP/2 nos logs.
  • Habilite a Ferramenta do Desenvolvedor F12 no Internet Explorer ou Microsoft Edge e mude para a guia Rede para verificar o protocolo.

Para obter mais informações, consulte HTTP/2 on IIS (HTTP/2 no IIS).

Permissões

Como implementar acesso baseado em função para Serviços de Nuvem?

Serviços de Nuvem não dão suporte ao modelo RBAC do Azure (controle de acesso baseado em função do Azure), uma vez que ele não é um serviço do baseado no Azure Resource Manager.

Consulte Entender as diferentes funções no Azure.

Área de trabalho remota

Os engenheiros internos da Microsoft podem tornar o desktop remoto para instâncias de serviço de nuvem sem permissão?

A Microsoft segue um processo estrito que não permite que os engenheiros internos tornem o desktop remoto em seu serviço de nuvem sem permissão por escrito (email ou outra comunicação por escrito) do proprietário ou seu representante.

Não consigo tornar o desktop remoto para VM de serviço de nuvem usando o arquivo RDP. Recebo o seguinte erro: Ocorreu um erro de autenticação (código: 0x80004005)

Esse erro pode ocorrer se você usar o arquivo RDP a partir de um computador ingressado no Microsoft Entra ID. Para resolver esse problema, siga estas etapas:

  1. Clique com o botão direito no arquivo RDP que você fez download e, em seguida, selecione Editar.
  2. Adicione "\" como prefixo antes do nome de usuário. Por exemplo, use .\nome de usuário em vez de nome de usuário.

Escala

Não consigo dimensionar além de X instâncias

Sua Assinatura do Azure tem um limite no número de núcleos que você pode usar. A escala não funcionará se você tiver usado todos os núcleos disponíveis. Por exemplo, se você tiver um limite de 100 núcleos, isso significa você poderia ter 100 instâncias de máquina virtual A1 dimensionadas para seu serviço de nuvem ou 50 instâncias de máquina virtual A2.

Como posso configurar o dimensionamento automático com base nas métricas de memória?

Atualmente, não há suporte para dimensionamento automático com base nas métricas de memória para os Serviços de Nuvem.

Para contornar esse problema, você pode usar o Application Insights. O dimensionamento automático oferece suporte ao Application Insights como uma fonte de métricas e pode dimensionar a contagem de instâncias de função com base na métrica de convidado como "Memória". Você precisa configurar o Application Insights no seu arquivo de pacote do projeto de serviço de nuvem (*.cspkg) e habilitar a extensão de Diagnóstico do Microsoft Azure no serviço para implementar essa tarefa.

Para obter mais detalhes sobre como utilizar uma métrica personalizada por meio do Application Insights para configurar o dimensionamento automático em serviços de nuvem, consulte Introdução ao dimensionamento automático por uma métrica personalizada no Azure

Para obter mais informações sobre como integrar o Diagnóstico do Microsoft Azure com o Application Insights para serviços de nuvem, consulte Enviar serviço de nuvem, máquina virtual ou dados de diagnóstico do Service Fabric para o Application Insights

Para obter mais informações sobre como habilitar o Application Insights para serviços de nuvem, consulte Application Insights para serviços de nuvem do Azure

Para obter mais informações sobre como habilitar o log de Diagnóstico do Microsoft Azure para serviços de nuvem, consulte Configurar diagnósticos para serviços de nuvem do Azure e máquinas virtuais

Genérico

Como fazer para adicionar `nosniff` ao meu site?

Para evitar que clientes detectem os tipos MIME, adicione uma configuração ao arquivo web.config.

<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <add name="X-Content-Type-Options" value="nosniff" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

Ela também pode ser adicionada como uma configuração no IIS. Use o comando abaixo com o artigo tarefas comuns de inicialização.

%windir%\system32\inetsrv\appcmd set config /section:httpProtocol /+customHeaders.[name='X-Content-Type-Options',value='nosniff']

Como fazer para personalizar o IIS para uma função web?

Use o script de inicialização do IIS do artigo tarefas comuns de inicialização.

O que é o limite de cota para meu serviço de nuvem?

Por que a unidade na VM do meu serviço de nuvem mostra muito pouco espaço livre em disco?

Esse comportamento é esperado e não deve causar nenhum problema ao seu aplicativo. Registro em log está ativado para a unidade %approot% em VMs virtuais de PaaS do Azure, que consome basicamente o dobro da quantidade de espaço que os arquivos normalmente ocupam. No entanto, há vários elementos a serem considerados que essencialmente transformam isso em um não problema.

O tamanho da unidade %approot% é calculado como <tamanho do .cspkg + tamanho máximo do diário + margem de espaço livre> ou 1,5 GB, o que for maior. O tamanho da sua VM não tem influência sobre esse cálculo. (O tamanho da VM só afeta o tamanho da unidade C: temporária.)

Não tem suporte para gravar na unidade %approot%. Se você estiver gravando na VM do Azure, deverá fazer isso em um recurso LocalStorage temporário (ou outra opção, como o armazenamento de Blobs, Arquivos do Azure etc.). Portanto, a quantidade de espaço livre na pasta %approot% não é significativa. Se você não tiver certeza de que seu aplicativo está gravando na unidade %approot%, poderá sempre permitir que o serviço seja executado por alguns dias e, em seguida, comparar os tamanhos "antes" e "depois". 

O Azure não gravará nada na unidade %approot%. Quando o VHD tiver sido criado do seu .cspkg e montado na VM do Azure, você poderá gravar apenas seu aplicativo nessa unidade. 

As definições do diário são não configuráveis, assim, não é possível desligá-las.

Como adicionar uma extensão antimalware para os Serviços de Nuvem de maneira automatizada?

É possível habilitar a extensão Antimalware usando o script do PowerShell na Tarefa de Inicialização. Siga as etapas nestes artigos para implementá-la:

Para obter mais informações sobre cenários de implantação do Antimalware e como habilitá-lo no portal, consulte Antimalware Deployment Scenarios (Cenários de implantação de Antimalware).

Como habilitar a SNI (Indicação de Nome de Servidor) para Serviços de Nuvem?

É possível habilitar a SNI nos Serviços de Nuvem usando um dos seguintes métodos:

Método 1: usar o PowerShell

A associação de SNI pode ser configurada usando o cmdlet do PowerShell New-WebBinding em uma tarefa de inicialização para uma instância de função do serviço de nuvem conforme descrito abaixo:

New-WebBinding -Name $WebsiteName -Protocol "https" -Port 443 -IPAddress $IPAddress -HostHeader $HostHeader -SslFlags $sslFlags

Conforme descrito aqui, o $sslFlags poderia ser um dos valores como o seguinte:

Valor Significado
0 Nenhuma SNI
1 SNI habilitada
2 Nenhuma associação de SNI que usa o Repositório de certificados central
3 Associação de SNI que usa o Repositório de certificados central

Método 2: código de uso

A associação de SNI também pode ser configurada por meio de código na inicialização da função conforme descrito nesta postagem no blog:

//<code snip> 
                var serverManager = new ServerManager(); 
                var site = serverManager.Sites[0]; 
                var binding = site.Bindings.Add(":443:www.test1.com", newCert.GetCertHash(), "My"); 
                binding.SetAttributeValue("sslFlags", 1); //enables the SNI 
                serverManager.CommitChanges(); 
    //</code snip>

Usando qualquer uma das abordagens acima, os respectivos certificados (*.pfx) para os nomes do host específicos precisam ser instaladas primeiro nas instâncias de função usando uma tarefa de inicialização ou por meio de código para que a associação de SNI entre em vigor.

Como adicionar marcas ao meu Serviço de Nuvem do Azure?

O Serviço de Nuvem é um recurso clássico. Somente os recursos criados por meio do Azure Resource Manager oferecem suporte a marcas. Não é possível aplicar marcas a recursos Clássicos como o Serviço de Nuvem.

O portal do Azure não exibe a versão do SDK do meu serviço de nuvem. Como posso mudar isso?

Estamos trabalhando para colocar este recurso no portal do Azure. Enquanto isso, você pode usar comandos do PowerShell a seguir para obter a versão do SDK:

Get-AzureService -ServiceName "<Cloud Service name>" | Get-AzureDeployment | Where-Object -Property SdkVersion -NE -Value "" | select ServiceName,SdkVersion,OSVersion,Slot

Desejo interromper o serviço de nuvem por vários meses. Como reduzir o custo de cobrança do serviço de nuvem sem perder o endereço IP?

Um serviço de nuvem já implantado é cobrado pela computação e armazenamento que ele usa. Portanto, mesmo que você desligue a VM do Azure, ainda será cobrado pelo Armazenamento.

Veja o que você pode fazer para reduzir sua cobrança sem perder o endereço IP do seu serviço:

  1. Reserve o endereço IP antes de excluir as implantações. Você será cobrado somente para esse endereço IP. Para obter mais informações sobre cobrança de endereço IP, consulte preços de endereços IP.
  2. Exclua as implantações. Não exclua xxx.cloudapp.net, para que você possa usá-lo no futuro.
  3. Se você desejar reimplantar o serviço de nuvem usando a mesma reserva de IP de sua assinatura, consulte endereços IP reservados para serviços de nuvem e máquinas virtuais.