Consolide instâncias - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Consolide instâncias

Esta seção se concentra na técnica de otimização de custos de combinar várias instâncias SQL do servidor no mesmo servidor para minimizar os custos de licenciamento e maximizar a utilização dos recursos.

Visão geral

A criação de uma instância faz parte do processo de instalação do SQL Server Database Engine. A instância SQL do servidor é uma instalação completa, contendo seus próprios arquivos de servidor, logins de segurança e bancos de dados do sistema (master, model, msdb e tempdb). Como uma instância tem todos os seus próprios arquivos e serviços, você pode instalar várias instâncias SQL do Servidor no mesmo sistema operacional sem que as instâncias interfiram umas nas outras. No entanto, como as instâncias estão todas instaladas no mesmo servidor, todas compartilham os mesmos recursos de hardware, como computação, memória e rede.

É comum usar apenas uma única instância de SQL servidor por servidor em ambientes de produção para que uma instância “ocupada” não use demais os recursos de hardware compartilhados. Dar a cada instância SQL do servidor seu próprio sistema operacional, com seus próprios recursos, é um limite melhor do que confiar na governança de recursos. Isso é especialmente verdadeiro para cargas de trabalho de SQL servidor de alto desempenho que exigem grandes quantidades RAM e CPU recursos.

No entanto, nem todas as cargas de trabalho SQL do servidor usam uma grande quantidade de recursos. Por exemplo, algumas organizações atribuem a cada um de seus clientes sua própria instância de SQL servidor dedicada para fins de conformidade ou segurança. Para clientes menores ou clientes que normalmente não estão ativos, isso significa executar as instâncias SQL do servidor com recursos mínimos.

Conforme observado no guia Microsoft SQL Server 2019: Licenciamento, cada servidor que executa o SQL Servidor deve contabilizar um mínimo de quatro CPU licenças. Isso significa que, mesmo que você execute um servidor com apenas doisvCPUs, ainda deverá licenciar o SQL Servidor para quatrovCPUs. Com base no preço do SQL servidor público da Microsoft, essa é uma diferença de $3.945 se você usar a edição SQL Server Standard. Para organizações que executam vários servidores com instâncias únicas de SQL servidor usando recursos mínimos, o custo combinado de ter que licenciar recursos não utilizados pode ser substancial.

Cenário de otimização de custos

Esta seção explora um exemplo de cenário que compara a diferença entre executar quatro servidores Windows Server, cada um com uma única instância SQL do Server, com um único servidor Windows Server maior executando várias instâncias do SQL Server simultaneamente.

Se cada instância SQL do servidor precisar apenas de dois vCPUs e 8 GBRAM, o custo total por servidor será de 7.890 USD para a licença de SQL servidor, além de um custo de computação por hora de 0,096 USD.

EC2instância vCPUs RAM Preço vCPUs para licenciar Custo total SQL de licenciamento do servidor
m6i.large 2 8 0,096 4 $7.890

Expandindo isso para quatro servidores, o custo total é de $31.560 para a licença de SQL servidor com um custo de computação por hora de $0,384.

EC2instância vCPUs RAM Preço vCPUs para licenciar Custo total SQL de licenciamento do servidor
4x 6i.large 2 32 0,384 16 $31.560

Se você combinar todas as quatro instâncias SQL do servidor em uma única EC2 instância, a quantidade total de recursos computacionais e computação permanecerá a mesma. No entanto, ao remover os custos desnecessários de licenciamento SQL do servidor, você pode reduzir o custo total de execução da carga de trabalho em $15.780.

EC2instância vCPUs RAM Preço vCPUs para licenciar Custo total SQL de licenciamento do servidor
m6i.2xlarge 8 32 0,384 8 $15.780
nota

Nas tabelas anteriores, os custos computacionais mostram preços por hora sob demanda para EC2 servidores da Amazon que executam o Windows Server na região. us-east-1 Os custos de licenciamento da SQL Server Standard Edition se referem aos preços do SQL servidor público da Microsoft.

Recomendações de otimização de custos

Se você está pensando em consolidar instâncias de SQL servidor, a maior preocupação é o consumo de recursos para cada uma das instâncias que você deseja consolidar. É importante obter métricas de desempenho por longos períodos para entender melhor os padrões de carga de trabalho em cada servidor. Algumas ferramentas comuns para monitoramento do consumo de recursos são Amazon CloudWatch, Windows Performance Monitor (perfmon) e as ferramentas de monitoramento nativas do SQL Server.

Recomendamos que você considere as seguintes questões ao analisar se as cargas de trabalho SQL do seu servidor poderiam ser combinadas para usar os mesmos recursos do servidor sem que elas interfiram umas nas outras:

  • Quais recursos (CPUmemória e largura de banda de rede) são consumidos durante seu estado estável?

  • Quais recursos (CPUmemória e largura de banda de rede) são consumidos durante os picos?

  • Com que frequência os picos ocorrem? Os picos são consistentes?

  • Os picos de recursos de um servidor coincidem com os picos de recursos de outro servidor?

  • Quais são o armazenamento IOPSe a taxa de transferência usados pelo SQL servidor?

Se você quiser seguir em frente com um plano para combinar instâncias SQL do servidor, consulte a postagem Executar várias instâncias do SQL servidor em uma EC2 instância da Amazon no blog de operações e migrações na AWS nuvem. Esta postagem fornece instruções sobre como fazer alterações na configuração no SQL Server para adicionar instâncias adicionais. Antes de começar, considere as pequenas diferenças quando várias instâncias são instaladas no mesmo servidor:

  • A instância padrão SQL do banco de dados do servidor é nomeada MSSQLSERVER e usa a porta 1433.

  • Cada instância adicional instalada no mesmo servidor é uma instância de banco de dados “nomeada”.

  • Cada instância nomeada tem um nome de instância e uma porta exclusivos.

  • O SQLNavegador do Servidor deve ser executado para coordenar o tráfego para as instâncias nomeadas.

  • Cada instância pode usar locais separados para arquivos de dados do banco de dados e logins separados.

  • As SQL configurações de memória máxima do servidor devem ser definidas de acordo com as necessidades de desempenho de cada instância, com seu total combinado também deixando memória suficiente para o sistema operacional subjacente.

  • Você pode usar os recursos nativos de backup e restauração do SQL servidor ou AWS DMSpara migração ou consolidação.

Recursos adicionais