O que é um pool de instâncias? Instância Gerenciada de SQL do Azure –
Aplica-se a:Instância Gerenciada de SQL do Azure
Este artigo fornece uma visão geral da opção de implantação do pool de instâncias para a Instância Gerenciada de SQL do Azure, que traz benefícios substanciais de economia de custos para os clientes.
Os pools de instâncias possibilitam a implantação de várias instâncias com recursos compartilhados, que fornecem uma infraestrutura conveniente e econômica para migrar vários bancos de dados de instâncias do SQL Server sem precisar consolidar cargas de trabalho menores e menos intensivas em computação em uma Instância Gerenciada de SQL maior.
Para começar, examine Criar um pool de instâncias.
Visão geral
Os pools de instâncias na Instância Gerenciada de SQL do Azure permitem implantar várias instâncias com recursos compartilhados em uma única máquina virtual subjacente em um cluster virtual.
Os pools de instâncias oferecem os seguintes benefícios principais:
- Capacidade de hospedar instâncias de 2 vCores, que estão disponíveis apenas em pools de instâncias
- Tempo de implantação de instância previsível e rápida (até 5 minutos).
- Infraestrutura econômica ao migrar várias instâncias do SQL Server.
O diagrama a seguir ilustra um pool de instâncias com várias instâncias gerenciadas implantadas em um cluster virtual em uma sub-rede de rede virtual:
Novidades
Novembro de 2024 traz os seguintes recursos:
- Crie pools, crie instâncias em um pool e modifique as configurações do pool no portal do Azure.
- Atualize as configurações do pool (como tamanho da computação, licença, propriedades) usando o PowerShell ou a CLI do Azure.
- Suporte para hardware de série premium.
- Mova uma instância para dentro e para fora do pool usando o PowerShell ou a CLI do Azure.
- Suporte ao pool de instâncias para preços de capacidade reservada.
Arquitetura
Os pools de instâncias têm uma arquitetura semelhante às instâncias gerenciadas únicas. Para dar suporte a implantações nas redes virtuais do Azure e fornecer isolamento e segurança aos clientes, os pools de instâncias também dependem de clusters virtuais. Um cluster virtual representa um conjunto dedicado de máquinas virtuais isoladas implantadas dentro da sub-rede de rede virtual do cliente. Todas as instâncias individuais e pools de instâncias na mesma sub-rede pertencem ao mesmo cluster virtual. As instâncias em um pool têm recursos de computação alocados para processos do SQL Server e componentes de gateway, que garantem um desempenho previsível. Após a implantação inicial do pool, as operações de gerenciamento em instâncias em um pool são mais rápidas, pois os processos SQL são criados em recursos de computação que já foram provisionados.
O tamanho do cálculo da máquina virtual baseia-se no número total de vCores alocados ao pool, que são distribuídos entre instâncias no pool. Essa arquitetura permite o particionamento da máquina virtual em várias instâncias que podem ter qualquer tamanho compatível, inclusive 2 vCores (exclusivo para pools de instâncias). Por exemplo, ao implantar um pool de instâncias de 8 vCore, você pode implantar duas instâncias de 2 vCore e uma de 4 vCore. Você pode então migrar seus bancos de dados SQL Server para as instâncias do pool. Como os pools de instância dão suporte à integração de rede virtual nativa, você pode implantar vários pools de instâncias, bem como várias instâncias individuais, na mesma sub-rede.
Os pools de instância fornecem um alto nível de isolamento, pois cada instância recebe vCores dedicados na máquina virtual de host subjacente. A principal diferença de um modelo de implantação do pool de instâncias em comparação com uma única instância gerenciada é que, com pools de instâncias, vários processos do SQL Server podem ser criados na mesma máquina virtual, que são recursos regidos usando objetos de trabalho do Windows. Se o isolamento no nível do processo não for suficiente, considere o uso de instâncias únicas em vez de pools de instâncias, pois as instâncias únicas têm apenas um único processo do SQL Server no nó da máquina virtual, fornecendo isolamento no nível da VM
O seguinte diagrama ilustra a principal diferença arquitetônica entre os dois modelos de implantação:
Cenários de aplicativos
Considere usar pools de instâncias para os seguintes cenários:
- Migrar um grupo de pequenas instâncias do SQL Server ao mesmo tempo, em que as instâncias são de 2 ou 4 vCores.
- Você precisa de criação ou escalonamento de instâncias rápido e previsível. Por exemplo, implantação de um novo locatário em um ambiente de aplicativo SaaS multilocatário que requer recursos em nível de instância.
- É importante ter um custo fixo ou limite de gastos. Por exemplo, executar teste de desenvolvimento ou ambientes de demonstração compartilhados de um tamanho fixo (ou que não muda com frequência), onde você implanta instâncias gerenciadas quando necessário.
Os pools de instâncias são particularmente adequados para migrar várias instâncias do SQL Server, pois o pré-provisionamento de recursos de computação compartilhados de acordo com seus requisitos totais de migração reduz o custo geral de propriedade após a migração. Por exemplo, considere um cenário para migrar quatro pequenas instâncias do SQL Server locais para a Instância Gerenciada de SQL do Azure. Sem um pool de instâncias, você provisionaria quatro instâncias gerenciadas por SQL únicas separadas com um mínimo de 4 vCores cada, todas com seus próprios recursos dedicados. Um pool de instâncias reduz esse custo, pois você pode implantar todas as instâncias com 2 vCores cada no pool em que os recursos são compartilhados pelo pool.
Propriedades de instância e pool
As propriedades a seguir são configuradas no nível do pool para todas as instâncias do pool:
- Camadas de hardware
- A licença do SQL Server, como o Benefício Híbrido do Azure
- Janela de manutenção
Além disso, considere o seguinte:
- As instâncias gerenciadas criadas em pools dão suporte aos mesmos níveis de compatibilidade e recursos disponíveis para instâncias gerenciadas únicas.
- Os recursos opcionais ou recursos que exigem a escolha de valores específicos (como agrupamento em nível de instância, fuso horário, ponto de extremidade público para tráfego de dados, grupos de failover) são configurados no nível da dimensão de instância e podem ser diferentes para cada instância em um pool.
- Como as instâncias implantadas em um pool compartilham a mesma máquina virtual, considere desabilitar recursos que introduzem riscos de segurança mais altos ou controlar firmemente as permissões de acesso a esses recursos, como integração CLR, backup e restauração nativos, email de banco de dados etc.
- Você pode configurar sua Instância Gerenciada de SQL para usar a autenticação do Microsoft Entra antes ou depois de ser adicionada ao pool.
- Cada instância gerenciada implantada em um pool tem um SQL Server Agent separado.
Limites de recursos
Quando você implanta uma instância em um pool, há limites para cada instância individual em pool e limites para os recursos usados pelo pool geral.
A seguinte tabela detalha os limites para as instâncias em pool e para o pool:
Limites do pool | Limites de instâncias agrupadas | |
---|---|---|
Camada de serviço | Uso Geral | Uso Geral |
Camada de hardware | Série padrão (Gen5) Série Premium |
Série padrão (Gen5) Série Premium |
Número de vCores1 | 8-16-24-32-40-64-80 | 2-4-8-16-24-32-40-64-80 |
Espaço de armazenamento máximo | 32 TB2 | - 640 GB para 2 vCores - 2 TB para 4 vCores - 8 TB para 8 vCores -16 TB para obter mais de 16 vCores |
Número máximo de bancos de dados | 500 | - 50 para 2 vCores - 100 para 4+ vCores |
Número máximo de instâncias | 40 | N/D |
1 opções de vCore para instâncias em pool dependem do número de vCores disponíveis no pool de instâncias.
2 O limite de armazenamento do pool é determinado pela soma do armazenamento de todas as instâncias do pool.
Para todos os outros limites de nível de instância, examine Limites de recursos.
Considerações sobre o desempenho
Embora as instâncias gerenciadas dentro de pools tenham vCore e RAM dedicados, compartilham um disco local (para tempdb
) e recursos de rede. Embora improvável, é possível experimentar um efeito de ruído vizinho de várias instâncias no pool com alto consumo de recursos ao mesmo tempo.
Se você estiver enfrentando esse comportamento, considere aumentar o tamanho do pool ou reimplantar os recursos de alto consumo como uma única instância fora do pool.
Cobrança do pool de instâncias
Os pools de instâncias permitem dimensionar a computação e o armazenamento de forma independente. Você paga por:
- Computação alocada ao pool, medida em vCores
- Armazenamento associado a cada instância medido em gigabytes (os primeiros 32 GB são gratuitos para cada instância).
O preço do vCore para um pool é cobrado independentemente de quantas instâncias são implantadas nesse pool. Não é possível definir opções de preços diferentes para instâncias individuais de um pool. Todas as instâncias do pool devem usar o mesmo modelo de licenciamento. O modelo de licença do pool pode ser alterado depois da criação do pool.
O preço da computação (medido em vCores) depende de você pagar ou não o preço total da licença do SQL Server. As duas seguintes opções de preço estão disponíveis:
- Licença incluída: o preço das licenças do SQL Server está incluído.
- Benefício Híbrido do Azure: um preço reduzido que inclui o Benefício Híbrido do Azure para SQL Server. Os clientes podem optar por esse preço usando suas licenças existentes do SQL Server com o Software Assurance.
Para obter detalhes completos sobre preços do pool de instâncias, consulte a seção de pools de instâncias na página de preços da Instância Gerenciada de SQL.
Observação
Os pools de instâncias criados em assinaturas qualificadas para o benefício de teste de desenvolvimento recebem automaticamente taxas de desconto de até 55% na Instância Gerenciada de SQL do Azure.
Preços de capacidade reservada
A capacidade reservada permite economizar no custo de computação fornecendo um desconto profundo quando você reserva o preço dos recursos por um período predeterminado. Agora você pode alocar a capacidade reservada para um pool de instâncias, o que cria a maneira mais econômica de executar várias instâncias.
Limitações
Para saber mais, examine as limitações do pool de instâncias.