Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial mostra como usar Azure Functions para se conectar a recursos em uma rede virtual Azure usando pontos de extremidade privados. Você cria um novo aplicativo de funções usando uma nova conta de armazenamento que está bloqueada atrás de uma rede virtual usando o portal Azure. A rede virtual usa um gatilho de fila do Barramento de Serviço.
Neste tutorial, você aprenderá a:
- Crie um aplicativo de funções no plano Elástico Premium com integração de rede virtual e pontos de extremidade privados.
- Criar recursos Azure, como o Barramento de Serviço
- Bloqueie seu Barramento de Serviço atrás de um ponto de extremidade privado.
- Implante um aplicativo de funções que usa os gatilhos Barramento de Serviço e HTTP.
- Teste para ver se seu aplicativo de funções está seguro na rede virtual.
- Limpe os recursos.
Criar um aplicativo de funções em um plano Premium
Você cria um aplicativo de funções C# em um plano Elástico Premium, que suporta recursos de rede, como a integração de rede virtual na criação, juntamente com a escala sem servidor. Este tutorial usa C# e Windows. Outros idiomas e o Linux também são suportados.
No menu do portal Azure ou na página Home, selecione Criar um recurso.
Na página Nova, selecioneAplicativo de Funções>.
Na página de opções de hospedagem, selecione Functions Premium.
Na página Básico, use a seguinte tabela para configurar o aplicativo de funções.
Configuração Valor sugerido Descrição Subscription Sua assinatura A assinatura com a qual esse novo aplicativo de funções será criado. Grupo de Recursos GrupoDeRecursosMeu Nome do novo grupo de recursos em que você cria seu aplicativo de funções. Nome do aplicativo de funções Nome globalmente exclusivo Nome que identifica seu novo aplicativo de funções. Os caracteres válidos são a-z(não diferencia maiúsculas de minúsculas),0-9e-.Publicar Code Escolha entre a publicação de arquivos de código ou de um contêiner do Docker. Pilha de tempo de execução .NET Este tutorial usa .NET. Versão 8 (LTS) Este tutorial usa .NET 8.0 em execução no mesmo processo que o host do Functions. Região Região preferencial Escolha uma região perto de você ou de outros serviços acessados por suas funções. Sistema operacional Windows Este tutorial usa Windows mas também funciona para Linux. Plano Funções Premium Plano de hospedagem que define como os recursos são alocados para seu aplicativo de funções. Por padrão, ao selecionar Premium, é criado um novo plano do Serviço de Aplicativo. EP1 representa o SKU e o tamanho padrão, em que EP significa Premium elástico. Para obter mais informações, consulte a lista de SKUs Premium.
Ao executar funções JavaScript em um plano Premium, você deve escolher uma instância com menos vCPUs. Para obter mais informações, confira Escolher planos Premium de núcleo único.Selecione A seguir: Armazenamento. Na página Armazenamento, insira as seguintes configurações.
Configuração Valor sugerido Descrição Conta de armazenamento Nome globalmente exclusivo Crie uma conta de armazenamento usada pelo seu aplicativo de funções. O nome da conta de armazenamento deve ter entre três e 24 caracteres. Eles podem conter apenas números e letras minúsculas. Você também pode usar uma conta existente que não esteja restringida por regras de firewall e atenda aos requisitos de conta de armazenamento. Quando você usa o Functions com uma conta de armazenamento bloqueada, você precisa de uma conta de armazenamento v2. Essa versão é a versão de armazenamento padrão criada ao criar um aplicativo de funções com recursos de rede por meio do portal Azure. Selecione Avançar: Rede. Na página Rede, insira as seguintes configurações.
Observação
Algumas dessas configurações não são visíveis até que outras opções sejam selecionadas.
Configuração Valor sugerido Descrição Habilitar o acesso público Desativado Negar o acesso à rede pública bloqueia todo o tráfego de entrada, exceto os pontos de extremidade privados. Habilitar a injeção de rede Por A capacidade de configurar seu aplicativo com a integração de rede virtual na criação aparece na janela do portal depois que essa opção é ativada. Rede Virtual Criar Novo Selecione o campo Criar. Na tela pop-out, forneça um nome para sua rede virtual e selecione Ok. As opções para restrição do acesso de entrada e saída ao seu aplicativo de funções na criação são exibidas. Você deve habilitar explicitamente a integração de rede virtual na parte de acesso de saída da janela para restringir o acesso de saída. Insira as seguintes configurações para a seção Acesso de entrada. Esta etapa cria um ponto de extremidade privado no seu aplicativo de funções.
Dica
Para continuar interagindo com seu aplicativo de funções no portal do Azure, você precisa adicionar seu computador local à rede virtual. Se você não deseja restringir o acesso de entrada, ignore esta etapa.
Configuração Valor sugerido Descrição Habilitar pontos de extremidade privados Por A capacidade de configurar seu aplicativo com a integração de rede virtual na criação aparece no portal depois que essa opção está habilitada. Nome do ponto de extremidade privado myInboundPrivateEndpointName Nome que identifica seu novo ponto de extremidade privado do aplicativo de funções. Sub-rede de entrada Criar Novo Esta opção cria uma sub-rede para seu ponto de extremidade privado de entrada. Vários pontos de extremidade privados podem ser adicionados a uma sub-rede única. Forneça um Nome de Sub-rede. O bloco de endereço da sub-rede pode ser deixado com o valor padrão. Selecione OK. Para saber mais sobre o dimensionamento de sub-redes, confira Sub-rede. DNS Zona Azure DNS privado Esse valor indica qual servidor DNS seu ponto de extremidade privado utiliza. Na maioria dos casos, se você estiver trabalhando no Azure, Azure DNS privado Zone será a zona DNS que você deve usar, pois usar Manual para zonas DNS personalizadas aumenta a complexidade. Insira as seguintes configurações para a seção Acesso de saída. Esta etapa integra seu aplicativo de funções com uma rede virtual no momento da criação. Ele também expõe as opções para criar pontos de extremidade privados na sua conta de armazenamento e restringir sua conta de armazenamento do acesso à rede ao criar. Quando o aplicativo de funções é integrado à rede virtual, todo o tráfego de saída por padrão passa pela rede virtual.
Configuração Valor sugerido Descrição Habilitar a integração da VNet Por Essa configuração integra seu aplicativo de funções a uma rede virtual ao criar e direcionar todo o tráfego de saída por meio da rede virtual. Sub-rede de saída Criar novo Essa configuração cria uma nova sub-rede para a integração de rede virtual do aplicativo de funções. Um aplicativo de funções só pode ser integrado à rede virtual com uma sub-rede vazia. Forneça um Nome de Sub-rede. O bloco de endereço da sub-rede pode ser deixado com o valor padrão. Selecione OK. A opção para criar pontos de extremidade privados de armazenamento será exibida. Para usar seu aplicativo de funções com redes virtuais, é necessário associá-lo a uma sub-rede. Insira as seguintes configurações para a seção Ponto de extremidade privado de armazenamento. Esta etapa cria pontos de extremidade privados para os pontos de extremidade de blob, fila, arquivo e tabela na sua conta de armazenamento ao criar. Essa abordagem integra efetivamente sua conta de armazenamento à rede virtual.
Configuração Valor sugerido Descrição Adicionar um ponto de extremidade privado de armazenamento Por A capacidade de configurar seu aplicativo com a integração de rede virtual na criação é exibida no portal depois que essa opção é habilitada. Nome do ponto de extremidade privado myInboundPrivateEndpointName Nome que identifica o ponto de extremidade privado da sua conta de armazenamento. Sub-rede de ponto de extremidade privado Criar Novo Esta configuração cria uma sub-rede para seu ponto de extremidade privado de entrada na conta de armazenamento. Vários pontos de extremidade privados podem ser adicionados a uma sub-rede única. Forneça um Nome de Sub-rede. O bloco de endereço da sub-rede pode ser deixado com o valor padrão. Selecione OK. DNS Zona Azure DNS privado Esse valor indica qual servidor DNS seu ponto de extremidade privado utiliza. Na maioria das vezes, se você estiver trabalhando no Azure, a "Azure DNS privado Zone" será a zona DNS que você deve usar, pois o uso de Manual para zonas DNS personalizadas terá maior complexidade. Selecione Próximo: Monitoramento. Na página Monitoramento, insira as configurações a seguir.
Configuração Valor sugerido Descrição Application Insights Padrão Crie um recurso do Application Insights com o mesmo nome de aplicativo na região mais próxima com suporte. Expanda essa configuração se precisar alterar o nome do recurso New ou armazenar seus dados em um Location diferente em uma geografia Azure. Selecione Examinar + criar para examinar as seleções de configuração do aplicativo.
Na página Revisar e criar, reveja suas configurações. Em seguida, selecione Criar para criar e implantar o aplicativo de funções.
Selecione o ícone Notificações no canto superior direito do portal e veja se a mensagem Implantação concluída com sucesso é exibida.
Selecione Ir para recursos para exibir o novo aplicativo de funções. Você também pode selecionar Fixar no painel. A fixação torna mais fácil retornar a esse recurso de aplicativo de função no seu painel.
Parabéns! Você criou com êxito seu aplicativo de funções premium.
Observação
Algumas implantações podem ocasionalmente falhar ao criar os pontos de extremidade privados na conta de armazenamento com o erro StorageAccountOperationInProgress. Essa falha ocorre mesmo que o próprio aplicativo de funções tenha sido criado com êxito. Quando encontrar esse erro, exclua o aplicativo de funções e repita a operação. Em vez disso, você pode criar manualmente os pontos de extremidade privados na conta de armazenamento.
Criar um Barramento de Serviço
Em seguida, você cria uma instância de Barramento de Serviço que é usada para testar a funcionalidade dos recursos de rede do aplicativo de funções neste tutorial.
No menu do portal Azure ou na página Home, selecione Criar um recurso.
Na página New, pesquise Barramento de Serviço. Em seguida, selecione Criar.
Na guia Basics, use a tabela a seguir para definir as configurações de Barramento de Serviço. Deixe os valores padrão para todas as outras configurações.
Configuração Valor sugerido Descrição Subscription Sua assinatura A assinatura na qual seus recursos são criados. Grupo de recursos GrupoDeRecursosMeu O grupo de recursos que você criou com seu aplicativo de funções. Nome do namespace myServiceBus O nome da instância de Barramento de Serviço para a qual o ponto de extremidade privado está habilitado. Localização myFunctionRegion A região em que você criou seu aplicativo de funções. Tipo de preços Premium Escolha essa camada para usar pontos de extremidade privados com Barramento de Serviço do Azure. Selecione Examinar + criar. Depois da validação, selecione Criar.
Bloqueie seu Barramento de Serviço
Crie o endpoint privado para bloquear seu Barramento de Serviço:
No novo Barramento de Serviço, no menu em Settings, selecione Networking.
Na guia Conexões de pontos de extremidade privados, selecione Ponto de extremidade privado.
Na guia Básicos, use as configurações de ponto de extremidade privado mostradas na tabela a seguir.
Configuração Valor sugerido Descrição Subscription Sua assinatura A assinatura na qual seus recursos são criados. Grupo de recursos GrupoDeRecursosMeu O grupo de recursos que você criou com seu aplicativo de funções. Nome sb-endpoint O nome do ponto de extremidade privado do barramento de serviço. Região myFunctionRegion A região em que você criou sua conta de armazenamento. Na guia Recurso, use as configurações de ponto de extremidade privado mostradas na tabela a seguir.
Configuração Valor sugerido Descrição Subscription Sua assinatura A assinatura na qual os recursos são criados. Tipo de recurso Microsoft.ServiceBus/namespaces Tipo de recurso para Barramento de Serviço. Recurso myServiceBus O Barramento de Serviço que você criou anteriormente no tutorial. Sub-fonte de destino espaço para nome O endpoint privado usado para o namespace do Barramento de Serviço. Na guia Rede Virtual, para a configuração Subnet, escolha a sub-rede de entrada que você criou.
Deixe DNS e Marcas como padrão e selecione Examinar + criar. Depois da validação, selecione Criar.
Depois que o ponto de extremidade privado for criado, retorne à seção Networking do namespace Barramento de Serviço e verifique a guia Public Access.
Verifique se as redes selecionadas estão selecionadas.
Selecione + Adicionar rede virtual existente para adicionar a rede virtual criada recentemente.
Na guia Adicionar redes, use as configurações de rede da tabela a seguir:
Configuração Valor sugerido Descrição Subscription Sua assinatura A assinatura na qual os recursos são criados. Redes virtuais myVirtualNet Nome da rede virtual à qual seu aplicativo de funções se conecta. Sub-redes funções Nome da sub-rede à qual o aplicativo de funções se conecta. Selecione Adicionar o endereço IP do cliente para permitir ao IP do cliente atual acesso ao namespace.
Observação
Permitir o endereço IP do cliente é necessário para habilitar a publicação de mensagens pelo portal do Azure na fila mais adiante neste tutorial.
Selecione Habilitar para habilitar o ponto de extremidade de serviço.
Selecione Add para adicionar a rede virtual e a sub-rede selecionadas às regras de firewall do Barramento de Serviço.
Selecione Salvar para salvar as regras de firewall atualizadas.
Os recursos na rede virtual agora podem se comunicar com o Barramento de Serviço usando o ponto de extremidade privado.
Criar uma fila
Crie a fila na qual o gatilho do Azure Functions Barramento de Serviço recebe eventos.
No Barramento de Serviço, no menu em Entities, selecione Queues.
Selecionar Fila. Para efeitos deste tutorial, forneça o nome da fila como o nome da nova fila.
Selecione Criar.
Importante
Atualmente, este tutorial mostra como se conectar ao Barramento de Serviço usando uma cadeia de conexão, o que exige que você lide com um segredo compartilhado. Para melhorar a segurança, em vez disso, você deve usar identidades gerenciadas ao se conectar a Barramento de Serviço de seu aplicativo. Para obter mais informações, consulte conexões baseadas em identidade no artigo de referência da ligação do Barramento de Serviço.
Obter uma cadeia de conexão do Barramento de Serviço
Em sua Barramento de Serviço, no menu em Settings, selecione As políticas de acesso compartilhado.
Selecione RootManageSharedAccessKey. Copie e salve a Cadeia de conexão primária. Você precisa desse cadeia de conexão ao definir as configurações do aplicativo.
Configurar o aplicativo de funções
No aplicativo de funções, no menu em Configurações, selecione Configuração.
Para usar seu aplicativo de funções com redes virtuais e barramento de serviços, atualize as configurações do aplicativo mostradas na tabela a seguir. Para adicionar ou editar uma configuração, selecione + Nova configuração de aplicativo ou o ícone Editar na coluna mais à direita da tabela de configurações do aplicativo. Quando terminar, selecione Salvar.
Configuração Valor sugerido Descrição SERVICEBUS_CONNECTION myServiceBusConnectionString Crie essa configuração do aplicativo para a cadeia de conexão de seu Barramento de Serviço. Essa cadeia de conexão de armazenamento é da seção Get a Barramento de Serviço cadeia de conexão. WEBSITE_CONTENTOVERVNET 1 Crie essa configuração de aplicativo. Um valor 1 permite que o aplicativo de funções seja dimensionado para contas de armazenamento restritas a uma rede virtual. Como você está usando um plano de hospedagem Elástico Premium, na exibição Configuração, selecione a guia Configurações de runtime da função. Defina Monitoramento de Escala de Runtime para em . Em seguida, selecione Aplicar. O dimensionamento controlado por tempo de execução permite conectar funções de gatilho não HTTP a serviços executados em sua rede virtual.
Observação
A escala de runtime não é necessária para aplicativos de funções hospedados em um plano do Serviço de Aplicativo Dedicado.
Implantar um gatilho Barramento de Serviço e um gatilho HTTP
Observação
A ativação de pontos de extremidade privados em um aplicativo de funções também torna o site do Gerenciador de Controle de Serviço (SCM) publicamente inacessível. As instruções a seguir fornecem instruções de implantação usando o Centro de Implantações no aplicativo de funções. Como alternativa, use a implantação de zip ou agentes auto-hospedados implantados em uma sub-rede na rede virtual.
Em GitHub, vá para o repositório de exemplo a seguir. Ele contém um aplicativo de funções e duas funções: um gatilho HTTP e um gatilho de fila do Barramento de Serviço.
Na parte superior da página, selecione Fork para criar uma bifurcação desse repositório em sua própria conta ou organização GitHub.
Em seu aplicativo de funções, no menu em Implantação, selecione Centro de Implantação. Em seguida, selecione Configurações.
Na guia Configurações, use as configurações de implantação mostradas na tabela a seguir.
Configuração Valor sugerido Descrição Fonte GitHub Você deve ter criado um repositório GitHub para o código de exemplo na etapa 2. Organização minhaOrganização A organização na qual foi feito o check-in do seu repositório. Em geral, é sua conta. Repositório Tutorial de funções vnet O repositório bifurcado a partir daqui. Branch principal A ramificação principal do repositório que você criou. Pilha de tempo de execução .NET O código de exemplo está em C#. Versão .NET Core 3.1 A versão de runtime. Clique em Salvar.
Captura de tela de como implantar o código do Azure Functions por meio do portal.
A implantação pode levar alguns minutos. Após a implantação do aplicativo, você verá uma mensagem de status Bem-sucedido (Ativo) na guia Logs. Se necessário, atualize a página.
Parabéns! Você implantou com êxito seu aplicativo de funções de amostra.
Testar seu aplicativo de funções bloqueado
Aqui está uma maneira de monitorar sua função usando o Application Insights:
No aplicativo de funções, no menu em Monitoramento, selecione Application Insights. Escolha Aplicar e selecione Exibir dados do Application Insights.
No menu em Investigar, selecione Métricas dinâmicas.
Abra uma nova guia. No Barramento de Serviço, no menu em Entities, selecione Queues.
Selecione sua fila.
No menu, selecione Barramento de Serviço Explorer. Selecione Enviar mensagens e, para Tipo de Conteúdo , escolha Texto/Sem Formatação. Digite uma mensagem.
Selecione Enviar para enviar a mensagem.
Captura de tela de como enviar mensagens do Barramento de Serviço usando o portal.
Na guia Métricas ao vivo, você deverá ver que o gatilho da fila do Barramento de Serviço foi disparado. Se não, reenvie a mensagem do Barramento de Serviço Explorer.
Parabéns! Você testou com sucesso a configuração do aplicativo de funções com pontos de extremidade privados.
Entender as zonas DNS privadas
Você usou um ponto de extremidade privado para se conectar a recursos do Azure. Você está se conectando a um endereço IP privado em vez de ao ponto de extremidade público. Os serviços de Azure existentes são configurados para usar um DNS existente para se conectar ao ponto de extremidade público. Você deve substituir a configuração de DNS para se conectar ao ponto de extremidade privado.
Uma zona DNS privada é criada para cada recurso do Azure que foi configurado com um ponto de extremidade privado. Um registro DNS é criado para cada endereço IP privado associado ao ponto de extremidade privado.
As zonas DNS a seguir foram criadas neste tutorial:
- privatelink.file.core.windows.net
- privatelink.blob.core.windows.net
- privatelink.servicebus.windows.net
- privatelink.azurewebsites.net
Limpar os recursos
Nas etapas anteriores, você criou os recursos do Azure em um grupo de recursos. Se você não espera precisar desses recursos no futuro, poderá excluí-los excluindo o grupo de recursos:
No menu do portal Azure ou página inicial, selecione Resource groups>myResourceGroup.
No painel myResourceGroup , verifique se os recursos listados são os que você deseja excluir.
Selecione Excluir grupo de recursos. Digite myResourceGroup na caixa de texto para confirmar e selecione Excluir.
Próximas etapas
Neste tutorial, você criou um aplicativo de funções Premium, uma conta de armazenamento e Barramento de Serviço. Você protegeu todos esses recursos por meio de pontos de extremidade privados.
Use os links a seguir para saber mais sobre as opções de rede do Azure Functions e pontos de extremidade privados.