O que é um pool de instâncias (visualização)? - Instância Gerenciada SQL do Azure
Aplica-se a:Instância Gerenciada 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 SQL do Azure.
Os pools de instâncias possibilitam a implantação de várias instâncias com recursos compartilhados, o que fornece uma infraestrutura conveniente e econômica para migrar vários bancos de dados de instâncias do SQL Server sem a necessidade de consolidar cargas de trabalho menores e menos intensivas em computação em uma instância gerenciada SQL maior.
Para começar, revise Criar um pool de instâncias.
Nota
Os pools de instâncias para a Instância Gerenciada SQL do Azure estão atualmente em visualização.
Descrição geral
Os pools de instâncias na Instância Gerenciada SQL do Azure permitem implantar várias instâncias com recursos compartilhados em uma única máquina virtual subjacente dentro de um cluster virtual.
Os pools de instâncias oferecem os seguintes benefícios principais:
- Capacidade de hospedar instâncias 2-vCore, que só estão disponíveis em pools de instâncias
- Tempo de implantação de instância previsível e rápido (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?
A atualização prévia de 2024 dos pools de instâncias traz os seguintes novos recursos:
- A configuração do pool (como tamanho de computação, licença, propriedades) pode ser atualizada usando o PowerShell ou a CLI do Azure.
- O hardware da série Premium é agora suportado.
- Você pode mover uma instância para dentro e para fora do pool usando o PowerShell ou a CLI do Azure.
Arquitetura
Os pools de instâncias têm uma arquitetura semelhante às instâncias gerenciadas únicas. Para dar suporte a implantações em redes virtuais do Azure e fornecer isolamento e segurança para os clientes, os pools de instâncias também dependem de clusters virtuais. Os clusters virtuais representam 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 pertencem ao mesmo cluster virtual. As instâncias dentro de um pool e as instâncias únicas implantadas na mesma sub-rede não compartilham recursos de computação alocados para processos e componentes de gateway do SQL Server, o que garante previsibilidade de desempenho. 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 o cluster virtual já foi estendido quando o pool foi provisionado.
O tamanho de computação da máquina virtual é baseado no número total de vCores alocados para o 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 ser de qualquer tamanho suportado, incluindo 2 vCores (exclusivo para pools de instâncias). Por exemplo, ao implantar um pool de instâncias 8-vCore, você pode implantar duas instâncias 2-vCore e uma instância 4-vCore. Em seguida, você pode migrar seus bancos de dados do SQL Server para as instâncias dentro do pool. E como os pools de instâncias oferecem suporte à integração de rede virtual nativa, você pode implantar vários pools de instâncias, bem como várias instâncias únicas, na mesma sub-rede.
A principal diferença entre os dois modelos de implantação é que você pode criar vários processos do SQL Server na mesma máquina virtual quando usa um pool de instâncias, que são controlados por recursos usando objetos de trabalho do Windows. Instâncias únicas têm apenas um único processo do SQL Server no nó da máquina virtual.
O diagrama a seguir ilustra a principal diferença de arquitetura entre os dois modelos de implantação:
Cenários de aplicações
Considere o uso de pools de instâncias para os seguintes cenários:
- Migração de um grupo de pequenas instâncias do SQL Server ao mesmo tempo, onde as instâncias são 2 ou 4 vCores.
- Você precisa de criação ou dimensionamento de instância rápido e previsível. Por exemplo, a implantação de um novo locatário em um ambiente de aplicativo SaaS multilocatário que requer recursos no nível da instância.
- Ter um custo fixo ou limite de gastos é importante. Por exemplo, executar ambientes compartilhados de desenvolvimento-teste ou demonstração de tamanho fixo (ou que mudam com pouca frequência), onde implanta periodicamente instâncias geridas quando necessário.
Os pools de instâncias são particularmente adequados para migrar várias instâncias do SQL Server, uma vez que 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 locais do SQL Server para a Instância Gerenciada SQL do Azure. Sem um pool de instâncias, você provisionaria quatro instâncias gerenciadas 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 onde os recursos são compartilhados pelo pool.
Propriedades da instância e do pool
As propriedades a seguir são configuradas no nível do pool para todas as instâncias no 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 oferecem suporte aos mesmos níveis de compatibilidade e recursos disponíveis para instâncias gerenciadas únicas.
- Recursos opcionais ou recursos que exigem que você escolha valores específicos (como agrupamento no nível da 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 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 introduzam maiores riscos de segurança 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 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 uma instância separada do SQL Agent.
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 tabela a seguir detalha os limites para instâncias agrupadas e o pool:
Limites da piscina | Limites de instâncias agrupadas | |
---|---|---|
Escalão de serviço | Fins Gerais | Fins Gerais |
Nível 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 |
Armazenamento máximo | 32 TB2 | - 640 GB para 2 vCores - 2 TB para 4 vCores - 8 TB para 8 vCores -16 TB para 16+ vCores |
Número máximo de bases de dados | 500 | - 50 para 2 vCores - 100 para 4+ vCores |
Máximo # de instâncias | 40 | N/A |
1 As 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 é ditado pela soma do armazenamento para todas as instâncias no pool.
Para todos os outros limites de nível de instância, revise Limites de recursos.
Considerações de desempenho
Embora as instâncias gerenciadas dentro de pools tenham vCore e RAM dedicados, elas compartilham um disco local (para tempdb
) e recursos de rede. Embora improvável, é possível experimentar um efeito vizinho barulhento 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.
Faturamento 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 para o pool, medida em vCores
- Armazenamento associado a cada instância medida em gigabytes (os primeiros 32 GB são gratuitos para cada instância).
O preço vCore de um pool é cobrado independentemente de quantas instâncias são implantadas nesse pool. Não é possível definir diferentes opções de preços para instâncias individuais em um pool. Todas as instâncias no pool devem usar o mesmo modelo de licenciamento. O modelo de licença para o pool pode ser alterado após a criação do pool.
O preço de computação (medido em vCores) depende se você está pagando ou não o preço total da licença do SQL Server. Estão disponíveis as duas opções de preços seguintes:
- 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 de preços do pool de instâncias, consulte a seção pools de instâncias na página de preços da Instância Gerenciada SQL.
Nota
Os pools de instâncias criados em assinaturas qualificadas para o benefício de desenvolvimento e teste recebem automaticamente taxas de desconto de até 55% na Instância Gerenciada SQL do Azure.
Limitações
Para saber mais, revise as limitações do pool de instâncias.