Otimizar a administração de instâncias do SQL Server em ambientes locais e multinuvem usando o Azure Arc

Azure
Azure Arc
AKS (Serviço de Kubernetes do Azure)
Azure Resource Manager
Instância Gerenciada do Azure SQL

Essa arquitetura de referência ilustra como usar o Azure Arc para gerenciamento, manutenção e monitoramento de instâncias SQL Server em ambientes locais e multinuvem.

Arquitetura

Diagrama ilustrando diferentes cenários que aproveitam o Azure Arc para otimizar a administração de SQL Server instâncias que residem localmente ou hospedadas por provedores de nuvem de terceiros. O primeiro grupo de cenários consiste em SQL Server instâncias em execução em servidores físicos ou máquinas virtuais. O segundo grupo de cenários compreende clusters kubernetes hospedados na nuvem local ou de terceiros ou clusters Serviço de Kubernetes do Azure em execução no Azure Stack HCI, com o controlador de dados do Azure Arc servindo como uma camada de gerenciamento intermediária. Todos esses cenários oferecem integração com uma variedade de serviços do Azure, como O Azure Monitor e Log Analytics, Azure Policy, Microsoft Defender para Nuvem e Microsoft Sentinel.

Baixe um Arquivo Visio dessa arquitetura.

Componentes

A arquitetura consiste nos seguintes componentes e recursos:

  • SQL Server. Essa plataforma de dados oferece uma ampla variedade de opções de linguagens de desenvolvimento, tipos de dados, ambientes locais ou de nuvem e sistemas operacionais.
  • Azure Arc. Esse serviço baseado em nuvem estende o modelo de gerenciamento baseado em Resource Manager do Azure para recursos não Azure, incluindo VMs (máquinas virtuais), clusters kubernetes e bancos de dados em contêineres.
  • Servidores habilitados para Azure Arc. Esse serviço híbrido permite que você gerencie seus computadores Windows e Linux, hospedados fora do Azure, em sua rede corporativa ou em outro provedor de nuvem. Isso é semelhante a como você gerencia VMs nativas do Azure.
  • SQL Server habilitado para Azure Arc. Essa parte dos servidores habilitados para Azure Arc estende os serviços do Azure para SQL Server instâncias, hospedadas fora do Azure no datacenter do cliente, na borda ou em um ambiente multinuvem.
  • Kubernetes. Essa é uma plataforma de software livre portátil e extensível para gerenciar e orquestrar cargas de trabalho em contêineres.
  • Serviço de Kubernetes do Azure. Esse é um serviço que simplifica a implantação de um cluster do Kubernetes gerenciado no Azure.
  • Azure Stack HCI (20H2). Essa é uma solução de cluster HCI (infraestrutura hiperconvergente) que hospeda cargas de trabalho virtualizadas do sistema operacional Windows e Linux e seu armazenamento em um ambiente local híbrido. Um cluster consiste em dois a 16 nós físicos.
  • Serviço de Kubernetes do Azure no Azure Stack HCI. Essa é uma implementação do AKS, que automatiza a execução de aplicativos em contêineres em escala no Azure Stack HCI.
  • Kubernetes habilitado para Azure Arc. Esse serviço híbrido permite simplificar a implantação e o gerenciamento de clusters do Kubernetes dentro ou fora do Azure.
  • Serviços de dados habilitados para Azure Arc. Esse serviço híbrido possibilita executar serviços de dados do Azure localmente, na borda e em nuvens públicas usando o Kubernetes e a infraestrutura de sua escolha.
  • Instância Gerenciada de SQL do Azure. Esse serviço de banco de dados de nuvem inteligente e escalonável combina a compatibilidade mais ampla SQL Server mecanismo de banco de dados com todos os benefícios de uma plataforma como serviço totalmente gerenciada e sempre verde.
  • Instância Gerenciada de SQL habilitado para Azure Arc. Esse SQL do Azure serviço de dados pode ser criado na sua escolha de infraestrutura que hospeda os serviços de dados habilitados para Azure Arc.
  • Azure Resource Manager. O Azure Resource Manager é o serviço de implantação e gerenciamento do Azure. Ele fornece uma camada de gerenciamento que lhe permite criar, atualizar e excluir recursos em sua conta do Azure. Você usa recursos de gerenciamento, como controle de acesso, bloqueios e marcas para proteger e organizar seus recursos após a implantação.
  • Azure Monitor. Esse serviço baseado em nuvem maximiza a disponibilidade e o desempenho de aplicativos e serviços fornecendo uma solução abrangente para coletar, analisar e agir sobre telemetria de locais do Azure e não Azure.
  • Log Analytics. Essa é a principal ferramenta no portal do Azure para gravar consultas de log e analisar interativamente seus resultados.
  • Microsoft Sentinel. Essa é uma solução escalonável, nativa de nuvem, SIEM (gerenciamento de eventos de informações de segurança) e SOAR (resposta automatizada de orquestração de segurança).
  • Microsoft Defender para Nuvem. Esse sistema unificado de gerenciamento de segurança de infraestrutura fortalece a postura de segurança de seus datacenters e fornece proteção avançada contra ameaças em suas cargas de trabalho híbridas.
  • Backup do Azure. O serviço de Backup do Azure fornece soluções simples, seguras e econômicas para fazer backup de seus dados e recuperá-los da nuvem do Microsoft Azure.

Detalhes do cenário

Alguns usos típicos dessa arquitetura:

  • Avaliar o Azure Arc habilitado SQL Server configuração, disponibilidade, desempenho e conformidade usando o Azure Monitor.
  • Detectar e corrigir ameaças de segurança direcionadas a SQL Server habilitadas para Azure Arc usando Microsoft Defender para Nuvem e Microsoft Sentinel.
  • Automatizar a implantação e o gerenciamento de Instância Gerenciada de SQL habilitados para Azure Arc no Kubernetes habilitado para Azure Arc em ambientes locais e multinuvem.
  • Automatizar a implantação e o gerenciamento de Instância Gerenciada de SQL habilitados para Azure Arc no AKS (Serviço de Kubernetes do Azure) no Azure Stack HCI.

Recomendações

As seguintes recomendações aplicam-se à maioria dos cenários. Siga estas recomendações, a menos que você tenha um requisito específico que as substitua.

Avaliar, monitorar e otimizar o desempenho, a disponibilidade, a conformidade e a segurança das instâncias de SQL Server habilitadas para Azure Arc usando os serviços do Azure

Sem um modelo operacional e de gerenciamento consistente e unificado, administrar instâncias individuais de SQL Server pode levar a custos de sobrecarga significativos. Sem um conjunto adequado de ferramentas, você precisa de habilidades avançadas e esforços contínuos para identificar e manter a configuração de SQL Server de alto desempenho, resiliente e segura. É particularmente importante resolver esses desafios à medida que o cenário de tecnologia de negócios evolui e se torna cada vez mais complexo, com várias instâncias de SQL Server em execução em diferentes hardwares em datacenters locais, várias nuvens públicas e privadas e a borda.

Você pode usar instâncias de SQL Server habilitadas para Azure Arc, hospedadas em máquinas físicas e virtuais que residem fora do Azure, que estão executando um sistema operacional Windows ou Linux com um agente do Connected Machine instalado localmente. O agente é instalado automaticamente quando você registra a instância SQL Server com o Azure. O Azure Arc usa o agente para estabelecer uma conexão lógica entre o recurso não Azure e o Azure. Depois de estabelecer essa conexão, um recurso não Azure se torna automaticamente um recurso híbrido do Azure, com sua própria identidade e uma ID de recurso do Azure Resource Manager. O Azure Resource Manager serve como a interface de gerenciamento que permite criar, modificar e excluir recursos do Azure. Depois de habilitar um recurso não Azure pelo Arc, você pode usar o Azure Resource Manager para facilitar a implementação de outros serviços do Azure que aprimoram a capacidade de gerenciamento de instâncias de SQL Server.

Observação

A instalação do Azure Connected Machine Agent também faz parte da implementação de servidores habilitados para Azure Arc. Efetivamente, não há necessidade de sua instalação ao implementar SQL Server habilitados para Azure Arc em servidores habilitados para Azure Arc.

Depois de atender a todos os pré-requisitos para o Azure Arc habilitado SQL Server, incluindo a instalação do agente do Log Analytics, você terá automaticamente a opção de usar a seguinte funcionalidade do Azure:

  • Avaliação de SQL sob demanda do SQL Server habilitado para Azure Arc. A avaliação depende do agente do Log Analytics para coletar dados relevantes e carregá-los no workspace do Log Analytics designado. Com os logs carregados no workspace, a solução SQL Server Assessment Log Analytics gerencia a análise de dados e permite que você examine seus resultados diretamente no portal do Azure. Sempre que aplicável, a solução também fornece recomendações sobre possíveis melhorias. Os resultados da análise são organizados em quatro categorias: qualidade da avaliação, segurança e conformidade, disponibilidade e continuidade e desempenho e escalabilidade. O agente do Log Analytics verifica se há atualizações em intervalos regulares e as carrega automaticamente no workspace do Log Analytics para garantir que os resultados que você está revisando estejam atualizados.

Observação

O agente do Log Analytics normalmente é chamado de MMA (Microsoft Monitoring Agent).

  • Segurança de dados avançada para SQL Server habilitados para Azure Arc. Essa funcionalidade ajuda a detectar e corrigir anomalias de segurança e ameaças a instâncias de SQL Server habilitadas para Azure Arc. Assim como a Avaliação de SQL sob demanda, para habilitar a SQL Server habilitada para Azure Arc, você precisa instalar o agente do Log Analytics no servidor que hospeda a instância do SQL Server. Você também deve habilitar o recurso Microsoft Defender para Nuvem do Microsoft Defender para Nuvem para definir automaticamente o escopo da coleta de dados e analisá-lo. Você pode examinar os resultados dessa análise no Microsoft Defender para Nuvem e, depois de integrar o Microsoft Sentinel, usá-la para investigar ainda mais os alertas de segurança diretamente no portal do Azure.

Automatizar a implantação e o gerenciamento de Instância Gerenciada de SQL habilitados para Azure Arc em ambientes locais e multinuvem

O Instância Gerenciada de SQL habilitado para Azure Arc se torna uma implantação em contêineres em execução sobre os serviços de dados habilitados para Azure Arc. Para hospedar sua implantação, você pode usar as seguintes opções:

  • Serviços de dados habilitados para Azure Arc em um cluster do Kubernetes habilitado para Azure Arc. O Kubernetes habilitado para Azure Arc dá suporte a uma ampla variedade de distribuições do Kubernetes hospedadas em ambientes de nuvem ou locais em servidores virtuais ou físicos.
  • Serviços de dados habilitados para Azure Arc em um cluster do AKS hospedado em um cluster do Azure Stack HCI físico local.

Ambas as opções dão suporte a recursos equivalentes relacionados a SQL Server porque esses recursos dependem da camada de serviços de dados habilitados para Azure Arc. No entanto, ao usar o Azure Stack HCI, você deve implementar o AKS porque isso simplifica a implementação e o gerenciamento da infraestrutura do Kubernetes e suas cargas de trabalho.

O Instância Gerenciada de SQL habilitado para Azure Arc oferece quase 100% de compatibilidade com o mecanismo de banco de dados SQL Server mais recente. Isso facilita as migrações de lift-and-shift para serviços de dados habilitados para Azure Arc com alterações mínimas de aplicativo e banco de dados.

O Instância Gerenciada de SQL habilitado para Azure Arc depende do controlador de dados do Azure Arc para estabelecer e manter uma conexão lógica com o painel de controle do Azure Resource Manager. O controlador de dados se torna um grupo de pods em execução no cluster local do Kubernetes ou do AKS. Os pods orquestram Instância Gerenciada de SQL gerenciamento e tarefas operacionais, como provisionamento e desprovisionamento, failover automático, atualizações, dimensionamento, backup e restauração e monitoramento.

Ao planejar os serviços de dados habilitados para Azure Arc, você precisa decidir se o controlador de dados funcionará no modo de conectividade conectado diretamente ou indiretamente conectado. Sua decisão tem implicações importantes para os recursos de gerenciamento e a quantidade de dados que estão sendo enviados ao Azure. Se os serviços de dados habilitados para Azure Arc estiverem conectados diretamente ao Azure, você poderá gerenciá-los usando as interfaces e ferramentas padrão baseadas em Resource Manager do Azure, incluindo os modelos portal do Azure, CLI do Azure (Interface Command-Line do Azure) ou Azure Resource Manager. Se os serviços de dados habilitados para Azure Arc estiverem conectados indiretamente ao Azure, o Azure Resource Manager fornecerá seu inventário somente leitura. Da mesma forma, o modo Conectado Diretamente será necessário se você quiser fornecer serviços de dados habilitados para Azure Arc com suporte para o Azure Active Directory (Azure AD), RBAC do Azure (controle de acesso baseado em função do Azure) ou integrá-los a esses serviços do Azure como Microsoft Defender para Nuvem, Azure Monitor ou Backup do Azure.

Cuidado

O modo de conectividade conectado indiretamente requer que uma quantidade mínima de dados seja entregue ao Azure para fins de inventário e cobrança pelo menos uma vez por mês.

Embora o modo Conectado Indiretamente ofereça funcionalidade reduzida, ele permite que você acomode uma variedade de cenários que impedem o uso do modo Conectado Diretamente. Isso se aplica, por exemplo, a datacenters locais que bloqueiam a conectividade externa direta devido a requisitos comerciais ou regulatórios ou devido a preocupações com ataques externos ou exfiltração de dados. Ele também fornece suporte para locais de site de borda com conectividade limitada ou sem conexão direta com a Internet.

O conjunto comum de recursos do Azure Arc habilitado Instância Gerenciada de SQL incluem:

  • Suporte para atualizações automatizadas. A Microsoft frequentemente fornece atualizações para serviços de dados habilitados para Azure Arc por meio do MCR (Registro de Contêiner da Microsoft). Isso inclui patches de manutenção e novos recursos e fornecer uma experiência semelhante à dos serviços de dados gerenciados do Azure. No entanto, você controla o agendamento e a cadência da implantação.
  • Escala elástica. A arquitetura baseada em contêiner dá suporte inerentemente à escala elástica, com limites que dependem da capacidade de sua infraestrutura. Essa funcionalidade acomoda cenários de intermitência que têm necessidades voláteis, incluindo ingestão e consulta de dados em tempo real, em qualquer escala, com tempo de resposta de sub-segundo.
  • Provisionamento de autoatendimento. Com a orquestração baseada em Kubernetes, você pode provisionar um banco de dados em segundos usando a interface gráfica ou as ferramentas da CLI do Azure.
  • Monitoramento e gerenciamento flexíveis. Com o Azure Arc habilitado Instância Gerenciada de SQL, você pode coletar e analisar logs e telemetria de APIs do Kubernetes e implementar o monitoramento local usando painéis kibana e Grafana. Você também pode provisionar e gerenciar Instância Gerenciada de SQL habilitados para Azure Arc usando várias ferramentas de gerenciamento de SQL Server padrão, incluindo o Azure Data Studio e a CLI do Azure e ferramentas de gerenciamento do Kubernetes, como Helm e kubectl.

Além disso, como a Instância Gerenciada de SQL habilitada para Azure Arc é executada no Kubernetes habilitado para Azure Arc ou aks no Azure Stack HCI, você também pode usar seus recursos de gerenciamento, segurança e conformidade, incluindo:

Cuidado

Verifique se os recursos do Azure Arc que você pretende usar em seu ambiente de produção estão disponíveis.

Considerações

O Microsoft Azure Well-Architected Framework é um conjunto de princípios orientadores que são seguidos nessa arquitetura de referência. As considerações a seguir são enquadradas no contexto desses princípios.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

  • O Azure Arc ajuda a minimizar ou até mesmo eliminar a necessidade de sistemas locais de gerenciamento e monitoramento, o que reduz a complexidade e o custo operacionais, especialmente em ambientes grandes, diversificados e distribuídos. Isso ajuda a deslocar custos adicionais associados aos serviços relacionados ao Azure Arc. Por exemplo, a segurança de dados avançada para a instância de SQL Server habilitada para Azure Arc requer a funcionalidade [Microsoft Defender para Nuvem] do Microsoft Defender para Nuvem, o que tem implicações de preço.
  • Conteinerizar seu ambiente SQL Server usando o Instância Gerenciada de SQL habilitado para Azure Arc ajuda a aumentar a densidade e a mobilidade da carga de trabalho. Isso facilita a utilização de hardware mais eficiente, o que tende a maximizar o ROI (retorno sobre o investimento) e minimizar os custos operacionais, ajudando a acelerar as iniciativas de consolidação do datacenter.

Excelência operacional

A excelência operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar sua carga de trabalho para atender às demandas colocadas por usuários de maneira eficiente. Para saber mais, confira Visão geral do pilar de eficiência de desempenho.

  • O Instância Gerenciada de SQL habilitado para Azure Arc compartilha a base de código com a versão estável mais recente do SQL Server, fornecendo suporte para o mesmo conjunto de recursos de alto desempenho e escalabilidade.

  • Ao planejar a implantação do Azure Arc habilitado Instância Gerenciada de SQL, você deve identificar a quantidade correta de computação, memória e armazenamento que serão necessários para executar o controlador de dados do Azure Arc e os grupos de servidores de instância gerenciada de SQL pretendidos. No entanto, observe que você tem a flexibilidade de estender a capacidade do cluster subjacente do Kubernetes ou do AKS ao longo do tempo adicionando nós de computação ou armazenamento adicionais.

  • O Kubernetes ou o AKS oferece uma camada de abstração sobre o hardware e a pilha de virtualização subjacentes. As classes de armazenamento implementam essa abstração para armazenamento. Ao provisionar um pod, você precisa decidir qual classe de armazenamento usar para seus volumes. Sua decisão é importante do ponto de vista de desempenho porque uma escolha incorreta pode resultar em desempenho abaixo do ideal. Ao planejar a implantação da Instância Gerenciada de SQL habilitada para Azure Arc, você deve considerar uma variedade de fatores que afetam a configuração de armazenamento kubernetes-storage-class-factors para o controlador de dados e as instâncias de banco de dados.

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, consulte Visão geral do pilar de confiabilidade.

  • Com a Instância Gerenciada de SQL habilitada para Azure Arc, planejar o armazenamento também é essencial do ponto de vista da resiliência de dados. Em caso de falha de hardware, uma opção incorreta pode gerar o risco de perda total de dados. Para evitar esse risco, você deve considerar uma variedade de fatores que afetam a configuração do armazenamento kubernetes-storage-class-factors para o controlador de dados e as instâncias do banco de dados.

  • Com o Azure Arc habilitado Instância Gerenciada de SQL, você pode implantar bancos de dados individuais em um padrão único ou de vários pods. Por exemplo, o tipo de preço de uso geral ou desenvolvedor implementa um único padrão de pod, enquanto um tipo de preço comercialmente crítico altamente disponível implementa um padrão de vários pods. Uma instância gerenciada de SQL do Azure altamente disponível usa Grupos de Disponibilidade AlwaysOn para replicar os dados de uma instância em outra de forma síncrona ou assíncrona.

  • O Instância Gerenciada de SQL habilitado para Azure Arc compartilha a base de código com a versão estável mais recente do SQL Server, fornecendo suporte para a maioria de seus recursos de alta disponibilidade.

  • A Instância Gerenciada de SQL habilitada para Azure Arc fornece backups locais automáticos, independentemente do modo de conectividade. No modo Conectado Diretamente, você também tem a opção de aplicar Backup do Azure para retenção de backup fora do site e de longo prazo.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

  • O Instância Gerenciada de SQL habilitado para Azure Arc compartilha a base de código com a versão estável mais recente do SQL Server, fornecendo suporte para o mesmo conjunto de recursos de segurança.

  • Com o Azure Arc habilitado Instância Gerenciada de SQL, no modo Conectado Diretamente, você deve fornecer ao controlador de dados acesso direto ao MCR para facilitar atualizações automáticas e aplicação de patch. Como alternativa, você tem a opção de importar imagens de contêiner do MCR e disponibilizá-las em um registro de contêiner privado local acessível pelo controlador de dados.

  • O Azure Connected Machine Agent comunica a saída para o Azure Arc pela porta TCP 443 usando o protocolo TLS.

  • Com o Azure Arc habilitado Instância Gerenciada de SQL no modo Conectado Diretamente, não há necessidade de abrir portas de entrada no perímetro de datacenters locais. O controlador de dados iniciou a conectividade de saída de maneira segura pela porta TCP 443 usando o protocolo TLS.

Cuidado

Para aprimorar a segurança dos dados em trânsito para o Azure, você deve configurar servidores que hospedam as instâncias do SQL Server para usar o protocolo TLS 1.2.

Próximas etapas