Criar um pool de instâncias (versão prévia): Instância Gerenciada de SQL do Azure

Aplica-se a: Instância Gerenciada de SQL do Azure

Este artigo ensina a criar um pool de instâncias para a Instância Gerenciada de SQL do Azure usando o portal do Azure, o PowerShell ou a CLI do Azure, bem como a mover instâncias de e para o pool usando o PowerShell ou a CLI do Azure.

Os pools de instâncias possibilitam implantar várias instâncias com recursos compartilhados em uma única máquina virtual, o que fornece uma infraestrutura conveniente e econômica para migrar várias instâncias do SQL Server sem a necessidade de consolidar cargas de trabalho menores e com menos uso intensivo de computação em uma Instância Gerenciada SQL maior.

Observação

Os pools de instâncias da Instância Gerenciada de SQL do Azure estão em versão prévia no momento.

Pré-requisitos

Para criar um pool de instâncias, você deve ter:

Considerações sobre tamanho de sub-rede

Planeje cuidadosamente o tamanho de sua sub-rede ao usar um pool de instâncias. Consulte Determinar o tamanho e intervalo de sub-rede necessários para obter diretrizes de dimensionamento de sub-rede.

Use a seguinte fórmula ao calcular o número de endereços IP exigidos por um pool de instâncias que contém diversas instâncias de uso geral:

2 * (5 + (3 * # of MIs)) + 5

# of MIs refere-se ao número potencial máximo de instâncias que você planeja provisionar. O número máximo possível de instâncias no pool é 40.

Criar pool de instâncias

Você pode criar um pool de instâncias usando o portal do Azure, o PowerShell ou a CLI do Azure. Considere o seguinte:

  • No momento, apenas a camada de serviço de uso geral em hardware da série padrão (Gen5) ou da série premium está disponível.
  • O nome do pool pode conter apenas letras minúsculas, números e hifens e não pode começar com um hífen.
  • O Benefício Híbrido do Azure é aplicado no nível do pool de instâncias. Você pode definir o tipo de licença ao criar o pool e atualizar o tipo de licença após a criação do pool.

Importante

A implantação de um pool de instâncias é uma operação demorada que pode levar até 4,5 horas.

Para criar um pool de instâncias no portal do Azure, siga estas etapas:

  1. Pesquise por pools de instâncias no portal do Azure e selecione o serviço Pools de instâncias para abrir a página Pools de instâncias.

    Captura de tela da pesquisa de pools de instância no portal do Azure.

  2. Na página Pools de instância, selecione + Criar para abrir a página Criar pool de Instâncias Gerenciadas de SQL do Azure:

    Captura de tela da página Pools de instâncias no portal do Azure com a opção +Criar selecionada.

  3. Em Criar pool de Instâncias Gerenciadas de SQL do Azure:

    1. Forneça os detalhes do projeto e da instância na guia Informações básicas.
    2. Use a opção Configurar pool de instâncias em Computação + armazenamento para abrir a página Computação + Armazenamento e escolha a camada de serviço, o hardware de computação e a licença do SQL Server que o pool deve usar. Use Aplicar para salvar as configurações de computação e voltar para a página Criar pool de Instâncias Gerenciadas de SQL do Azure.
    3. Selecione uma rede virtual existente ou configure uma nova na guia Rede.
    4. (Opcional) Configure uma janela de manutenção não padrão para o pool na guia Configurações adicionais.
    5. Revise sua configuração na guia Revisar + criar e selecione Criar para criar seu pool de instâncias.

    Captura de tela da página Criar pool de Instâncias Gerenciadas de SQL do Azure no portal do Azure com a opção Configurar pool de instâncias selecionada.

  4. Você pode monitorar a implantação do pool em Notificações.

Depois de criar seu pool de instâncias, é possível criar uma instância no pool usando o portal do Azure. Também é possível mover uma instância existente para o pool usando o PowerShell ou a CLI do Azure.

Crie uma nova instância no pool

Após a criação do pool, você poderá criar uma instância no pool usando o portal do Azure, o PowerShell ou a CLI do Azure.

Considere o seguinte:

  • É necessário especificar o tipo de licença da nova instância, que deve corresponder ao tipo de licença do pool.

Para criar uma instância dentro de um pool usando o portal do Azure, siga estas etapas:

  1. Acesse a página SQL do Azure no portal do Azure.

  2. Na página SQL do Azure, selecione + Criar para abrir a página Selecionar opção de implantação do SQL.

  3. No bloco Instâncias gerenciadas de SQL, escolha Instância única como o tipo de recurso e selecione Criar para abrir a página Criar Instância Gerenciada de SQL do Azure.

  4. Na guia Informações básicas da página Criar Instância Gerenciada de SQL do Azure:

    1. Selecione o grupo de recursos que contém o pool de instâncias existente.
    2. Escolha Sim para Pertence a um pool de instâncias? em Detalhes da instância gerenciada para criar sua instância dentro de um pool de instâncias.
    3. Selecione o pool na lista suspensa Pool de instâncias.

    Captura de tela da página Criar Instância Gerenciada de SQL do Azure no portal do Azure com a opção Pertence a um pool de instâncias selecionada.

  5. Preencha os detalhes restantes na página Criar Instância Gerenciada de SQL do Azure para criar sua instância dentro do pool. Para obter detalhes, consulte Criar Instância Gerenciada de SQL do Azure.

  6. Selecione Revisar + criar para revisar as configurações da nova instância e use Criar para implantar a instância dentro do pool selecionado.

Mover instância existente

Você pode mover uma instância existente para dentro e para fora de um pool usando o PowerShell ou a CLI do Azure se:

  • Está no mesmo grupo de recursos que o pool.
  • Está na mesma rede virtual e sub-rede que o pool.
  • Ajusta-se aos limites de recursos do pool de instâncias.

Quando uma instância existente é movida para um pool, as configurações no nível do pool prevalecem sobre as configurações no nível da instância. Por exemplo, a instância herda o tipo de licença e a janela de manutenção definida no nível do pool. Quando uma instância é movida para fora do pool, ela mantém as configurações herdadas do pool. A única exceção é com o tipo de licença, cujo padrão volta para 'LicenseIncluded' quando uma instância é removida do pool de instâncias: o Benefício Híbrido do Azure e o benefício dos direitos de failover híbrido devem ser configurados manualmente depois que uma instância é movida para fora de um pool.

No momento, não há suporte para mover uma instância existente dentro de um pool usando o portal do Azure.

Para mover uma instância para um pool com o PowerShell, forneça o nome do pool ao usar Set-AzSqlInstance:

$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName

Para mover uma instância para fora de um pool, forneça um nome de pool em branco:

$instance01 | Set-AzSqlInstance -InstancePoolName ''

Conectar-se à instância em um pool

É possível optar por se conectar a uma instância em um pool com um ponto de extremidade privado ou um ponto de extremidade público. Para usar um ponto de extremidade privado, é necessário usar o Link Privado do Azure.

Para se conectar a uma instância em um pool com um ponto de extremidade público, é necessário habilitar o ponto de extremidade e permitir o tráfego do ponto de extremidade público no grupo de segurança de rede.

Criar um banco de dados

Criar um banco de dados para uma instância em um pool é o mesmo que criar um banco de dados para uma única instância. Você pode criar um banco de dados usando o portal do Azure, o PowerShell ou a CLI do Azure.

Para criar um banco de dados para uma instância gerenciada de SQL existente usando o portal do Azure, siga estas etapas:

  1. Acesse a Instância Gerenciada de SQL no portal do Azure.
  2. No painel Visão geral, selecione + Novo banco de dados na barra de comandos para abrir a página Criar banco de dados gerenciado do SQL do Azure.
  3. Forneça os detalhes do novo banco de dados.
  4. Selecione Revisar + criar para conferir a configuração do novo banco de dados e use Criar para implantá-lo.

Obter uso do pool

Você pode usar o PowerShell para determinar como os recursos estão sendo usados em um pool.

Para obter uma lista de instâncias em um pool, use Get-AzSqlInstance:

$instancePool | Get-AzSqlInstance

Para obter o uso de recursos do pool, use Get-AzSqlInstancePoolUsage:

$instancePool| Get-AzSqlInstancePoolUsage

Você pode adicionar o parâmetro -ExpandChildren para obter uma visão geral detalhada do pool e das instâncias dentro dele:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

Para listar os bancos de dados em uma instância, use Get-AzSqlInstanceDatabase:

$databaseParams = @{
    InstanceName = $instance01Name
    ResourceGroupName = $resourceGroupName
}

$databases = Get-AzSqlInstanceDatabase @databaseParams

Observação

Para verificar os limites das instâncias implantadas em um pool e dos bancos de dados por pool de instâncias, examine os limites de recursos.

Atualizar um pool de instâncias

É possível atualizar as configurações de um pool de instâncias existente usando o PowerShell ou a CLI do Azure.

Você pode usar o PowerShell para fazer alterações nos limites do pool de instâncias.

O script de exemplo a seguir altera o tipo de licença, o tamanho do vCore e o tipo de hardware:

Alterar tipo de licença:

$instancePoolParams = @{
    LicenseType = "BasePrice"
    VCores = 16
    ComputeGeneration = "Gen8"
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams

Você também pode determinar agendas de janela de manutenção disponíveis:

$parameters = @{
    Location = $location
    MaintenanceScope = "SQLManagedInstance"
}
 
$configurations = Get-AzMaintenancePublicConfiguration @parameters
$maintenanceWindowOptions = $configurations | Where-Object { $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance" }

Então você poderá alterar a janela de manutenção especificando uma opção de janela, como:

$instancePoolParams = @{
    MaintenanceConfigurationId = $maintenanceWindowOptions[1].Id
}

$instancePool | Set-AzSqlInstancePool @instancePoolParams

Atualizar uma instância em pool

Se os limites de recursos do pool não tiverem sido excedidos, você poderá modificar as configurações de recursos de uma instância em um pool usando o PowerShell ou a CLI do Azure,

Para modificar parâmetros de recursos para uma instância em um pool, use Set-AzSqlInstance.

A seguinte amostra atualiza os vCores para 8 e altera o tamanho do armazenamento da Instance1 para 512 GB:

$instancePoolParams = @{
    VCore = 8
    StorageSizeInGB = 512
    InstancePoolName = $instancePoolName
}

$instance1name | Set-AzSqlInstance @instancePoolParams

Excluir um pool de instância

Você poderá excluir um pool de instâncias usando o PowerShell ou a CLI do Azure, depois que todas as instâncias do pool tiverem sido excluídas ou movidas para fora do pool.

Para eliminar um conjunto de instâncias, use Remove-AzSqlInstancePool.

O seguinte exemplo de script exclui um pool de instâncias vazio:

$params = @{
    ResourceGroupName = "<resource group name>"
    Name = "<instance pool name>"
}

Remove-AzSqlInstancePool @params

Operações de pool de instâncias

A seguinte tabela mostra as operações de pool de instâncias disponíveis:

Comando Portal do Azure PowerShell CLI do Azure
Criar um pool de instância Sim Sim Sim
Atualizar propriedades do pool Não Sim Sim
Verificar o uso e as propriedades de uma pool Sim Sim Sim
Excluir um pool de instância Sim Sim Sim
Criar uma instância gerenciada em um pool Sim Sim Sim
Mover uma instância gerenciada para um pool Não Sim Sim
Excluir uma instância gerenciada de um pool Sim Sim Sim
Mover uma instância gerenciada para fora de um pool Não Sim Sim
Criar um banco de dados em instância em um pool Sim Sim Sim
Excluir um banco de dados de uma Instância Gerenciada de SQL Sim Sim Sim

Para usar o PowerShell, instale a última versão do PowerShell Core e siga as instruções para Instalar o módulo do Azure PowerShell.

Comandos do PowerShell disponíveis:

Cmdlet Descrição
New-AzSqlInstancePool Criar um pool de instâncias.
Get-AzSqlInstancePool Devolve informações sobre um pool de instância.
Set-AzSqlInstancePool Definir propriedades para um pool de instâncias.
Remove-AzSqlInstancePool Remover um pool de instâncias.
Get-AzSqlInstancePoolUsage Retornar informações sobre o uso do pool de instâncias.

Para operações relacionadas a instâncias dentro de pools e instâncias únicas, use os comandos de instância gerenciada padrão, mas o nome do pool de instâncias propriedade deve ser populada ao usar esses comandos para uma instância em um pool.

Limitações

Durante a versão prévia pública, as instâncias de um pool têm as seguintes limitações:

  • O nome do pool pode conter apenas letras minúsculas, números e hifens e não pode começar com um hífen.
  • Todas as instâncias do pool usam o mesmo modelo de licenciamento. Ao especificar um modelo de licença para uma instância que seja diferente do modelo de licença do pool, o modelo de licença do pool será usado. Quando a instância é movida para fora do pool, ela muda automaticamente para uma licença completa paga (LicenseType = 'LicenseIncluded'). Ative manualmente o Benefício Híbrido do Azure ou o benefício de direitos de failover híbrido para alterar o modelo de licenciamento.
  • As instâncias agrupadas devem pertencer à mesma sub-rede e grupo de recursos. Mover uma instância para dentro e para fora do pool só é possível na sub-rede do pool e do mesmo grupo de recursos.
  • Somente a camada de serviço de uso geral está disponível em hardware da série padrão (Gen5) ou da série premium. A camada de serviço Uso Geral de Última Geração e Comercialmente Crítico e o hardware com otimização de memória da série Premium não estão disponíveis.
  • O número máximo possível de instâncias no pool é 40.
  • Um pool de instâncias só poderá ser excluído depois que todas as instâncias do pool forem excluídas ou movidas para fora do pool.
  • Não é possível usar o portal do Azure para:
    • Configurar o pool de instâncias. Use o PowerShell ou a CLI do Azure.
    • Mover instâncias para dentro e para fora do pool. Use o PowerShell ou a CLI do Azure.
  • Os seguintes recursos de Instância Gerenciada de SQL não têm suporte quando as instâncias estão em um pool:

Solicitações de suporte

Criar e gerenciar solicitações de suporte para pools de instância no portal do Azure.

Para criar uma solicitação de suporte no portal do Azure, siga estas etapas:

  1. Abra a página Nova solicitação de suporte no portal do Azure.

  2. Forneça as seguintes informações em Nova solicitação de suporte:

    1. Em Tipo de problema, selecione Technical.
    2. Escolha a Assinatura apropriada na lista suspensa.
    3. Em Tipo de serviço, selecione SQL Managed Instance.
    4. Em Recurso, forneça o nome da sua Instância Gerenciada de SQL, se ela existir, ou selecione Pergunta geral se não for possível implantar sua instância no pool.
    5. Em Resumo, digite instance pools.
    6. Em Tipo de problema, escolha Create, Scale, Stop, Start, or Delete Resources.
    7. Em Subtipo de problema, escolha Instance Pools.

    Captura de tela da solicitação de suporte para pools de instâncias no portal do Azure.

  3. Selecione Avançar nas páginas subsequentes até que você possa criar sua solicitação de suporte.

Para criar implantações maiores de Instância Gerenciada de SQL (com ou sem pools de instâncias), talvez seja necessário obter uma cota regional maior. Para mais informações, consulte Solicitar aumentos de cotas para Banco de Dados SQL do Azure. A lógica de implantação para pools de instâncias compara o consumo total de vCore no nível do pool com sua cota para determinar se você tem permissão para criar novos recursos sem aumentar ainda mais sua cota.