Mover a Instância Gerenciada de SQL do Azure entre sub-redes

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

Este artigo ensina a mover uma Instância Gerenciada de SQL do Azure de uma sub-rede para outra (na mesma VNet ou em uma VNET diferente), o que é similar à escalação de vCores ou à alteração da camada de serviço da instância. A Instância Gerenciada de SQL fica disponível durante a movimentação, exceto durante um pequeno tempo de inatividade causado por um failover no final da atualização, geralmente de até dez segundos, mesmo que transações de execução prolongada sejam interrompidas.

A movimentação da instância para outra sub-rede dispara as seguintes operações de cluster virtual:

  • O cluster virtual criará ou redimensionará a infraestrutura subjacente na sub-rede de destino.
  • O cluster virtual é removido ou desfragmentado na sub-rede de origem.

Requisitos e limitações

A Instância Gerenciada de SQL deve ser implantada em uma sub-rede dedicada dentro de uma rede virtual do Azure. O número de instâncias gerenciadas que podem ser implantadas na sub-rede depende do tamanho da sub-rede (intervalo de sub-rede). Para implantar uma instância gerenciada ou movê-la para outra sub-rede, a sub-rede de destino precisa ter determinados requisitos de rede.

Antes de mover a instância para outra sub-rede, examine os seguintes conceitos:

Preparação da sub-rede

Antes de mover a instância gerenciada, confirme se a sub-rede está marcada como Pronta para Instância Gerenciada.

Na interface do usuário da rede virtual do portal do Azure, as redes virtuais que atendem aos pré-requisitos de uma instância gerenciada são categorizadas como Prontas para Instância Gerenciada. As redes virtuais que têm sub-redes com instâncias gerenciadas já implantadas exibem um ícone de Instância Gerenciada de SQL antes do nome da rede virtual. As sub-redes vazias prontas para uma instância gerenciada exibem um ícone de sub-rede de rede virtual.

As sub-redes marcadas como Não prontas não atendem a todos os requisitos para implantação de Instância Gerenciada de SQL. Use o ícone de informações à direita do nome da sub-rede para saber por que a sub-rede não está pronta e se a sub-rede pode atender aos requisitos de rede. Estes requisitos incluem:

  • fazer a delegação ao provedor de recursos Microsoft.Sql/managedInstances
  • anexar uma tabela de rotas
  • anexar um grupo de segurança de rede

No caso de a sub-rede fazer parte de alguma outra rede virtual, os requisitos extras são

  • Emparelhamento bidirecional entre a rede virtual atual e de destino.
  • As sub-redes atuais e de destino usam tabelas de rotas e grupos de segurança de rede separados.

Depois que todos os requisitos forem atendidos, a sub-rede passará da categoria Não prontas para Prontas para Instância Gerenciada e poderá ser usada para uma instância gerenciada.

A sub-rede que já está em uso (sub-redes usadas para implantações de instância não podem conter outros recursos) ou a sub-rede que tem uma zona DNS diferente (uma limitação de movimentação de instância entre sub-redes) sempre fazem parte da categoria Não prontas.

Captura de tela das opções de sub-rede da Instância Gerenciada de SQL do Azure.

Dependendo do estado e da designação da sub-rede, os seguintes ajustes podem ser feitos na sub-rede de destino:

  • Pronta para Instância Gerenciada (contém a Instância Gerenciada de SQL existente) : nenhum ajuste é feito. Essas sub-redes já contêm instâncias gerenciadas e qualquer alteração na sub-rede poderá afetar as instâncias existentes.
  • Pronta para Instância Gerenciada (vazia) : o fluxo de trabalho valida todas as regras necessárias no grupo de segurança de rede e na tabela de rotas e adiciona todas as regras que são necessárias, mas estão ausentes. 1

Observação

1 As regras personalizadas adicionadas à configuração da sub-rede de origem não são copiadas para a sub-rede de destino. A personalização da configuração da sub-rede de origem precisa ser replicada manualmente para a sub-rede de destino. Uma forma de fazer isso é usar a mesma tabela de rotas e o mesmo grupo de segurança de rede para as sub-redes de origem e de destino.

Limitações da sub-rede de destino

Considere as seguintes limitações ao escolher uma sub-rede de destino para uma instância existente:

  • A Instância Gerenciada do SQL pode ser movida para a sub-rede que é:

    • Na mesma rede virtual usada no momento,
    • Em uma rede virtual emparelhada, se estiver movendo para uma sub-rede em outra rede virtual.
  • A zona DNS das instâncias na sub-rede de destino deve corresponder à zona DNS da instância que está sendo movida. Essa limitação se aplica se você planeja mover para uma sub-rede não vazia.

    • Você pode preparar especialmente a sub-rede de destino para manter a zona DNS da Instância Gerenciada de SQL que está sendo movida. A preparação pode ser feita criando novas Instâncias Gerenciadas de SQL em uma sub-rede vazia e fornecendo o parâmetro dnsZonePartner na solicitação create. Esse parâmetro como valor aceita o ID de Instância Gerenciada de SQL e neste caso você pode usar a instância que posteriormente seria movida para a nova sub-rede1.

Observação

1 Fora dessa abordagem, não há outra maneira de ditar a zona DNS da Instância Gerenciada de SQL porque ela é gerada aleatoriamente. A partir de agora, também não existe uma maneira de atualizar a zona DNS de uma Instância Gerenciada de SQL existente.

  • Para migrar uma Instância Gerenciada de SQL com um grupo de failover, os seguintes pré-requisitos se aplicam:
    • A sub-rede de destino precisa ter as mesmas regras de segurança necessárias para a replicação do grupo de failover que a sub-rede de origem: abra as portas de entrada e saída 5022 e o intervalo 11000~11999 no NSG (Grupo de Segurança de Rede) para conexões da outra sub-rede de instância gerenciada (aquela que contém a réplica do grupo de failover) para permitir o tráfego de replicação entre as duas instâncias.
    • A sub-rede de destino não pode ter um intervalo de endereços sobreposto com a sub-rede que contém a réplica da instância secundária do grupo de failover. Por exemplo, se o MI1 estiver na sub-rede S1, a instância secundária no grupo de failover será MI2 na sub-rede S2. Queremos mover o MI1 para a sub-rede S3. A sub-rede S3 não pode ter um intervalo de endereços sobreposto com a sub-rede S2.

Para saber mais sobre como configurar a rede para grupos de failover, confira Habilitar replicação geográfica entre instâncias gerenciadas.

Etapas da operação

Mover uma instância de uma sub-rede para outra envolve várias etapas e, dependendo de como a Instância Gerenciada de SQL está configurada, pode levar de 30 minutos a 6 horas.

A seguinte tabela detalha as etapas que ocorrem durante a operação de movimentação de instância:

Nome da etapa Descrição da etapa
Validação de solicitação Valida os parâmetros enviados. Se uma configuração incorreta for detectada, a operação falhará com um erro.
Redimensionamento/criação de cluster virtual Dependendo do estado da sub-rede de destino, o cluster virtual é criado ou redimensionado.
Inicialização da nova instância O processo de SQL é iniciado no cluster virtual implantado na sub-rede de destino.
Como propagar/anexar arquivos de banco de dados Dependendo da camada de serviço, o banco de dados é semeado ou os arquivos de banco de dados são anexados.
Como preparar o failover Depois que os dados são semeados ou os arquivos de banco de dados são reanexados, o sistema se prepara para o failover. Quando tudo estiver pronto, o sistema executará um failover com um tempo de inatividade curto, geralmente de menos de dez segundos.
Limpeza da instância SQL antiga Remove o processo de SQL antigo do cluster virtual de origem.
Exclusão do cluster virtual Se esta for a última instância dentro da sub-rede de origem, a etapa final excluirá o cluster virtual de maneira síncrona. Caso contrário, o cluster virtual será desfragmentado de maneira assíncrona.

Veja uma explicação detalhada das etapas da operação na visão geral das operações de gerenciamento da Instância Gerenciada de SQL do Azure

Mover a instância

Uma movimentação de instância entre sub-redes faz parte da operação de atualização da instância. Os comandos da API de atualização de instância existente, do Azure PowerShell e da CLI do Azure foram aprimorados com uma propriedade de ID de sub-rede.

No portal do Azure, use o campo de sub-rede no painel Rede para mover a instância para a sub-rede de destino. Ao usar Azure PowerShell ou a CLI do Azure, forneça uma ID de sub-rede diferente no comando de atualização para mover a instância de uma sub-rede existente para a sub-rede de destino.

Para ver uma referência completa dos comandos de gerenciamento de instância, confira a Referência da API de Gerenciamento de Instância Gerenciada de SQL do Azure.

A opção para escolher a sub-rede da instância está localizada no painel Rede do portal do Azure. A operação de movimentação de instância é iniciada quando você seleciona uma sub-rede e salva as alterações.

A primeira etapa da operação de movimentação é preparar a sub-rede de destino para implantação, o que pode levar vários minutos. Quando a sub-rede estiver pronta, a operação de gerenciamento de movimentação de instância será iniciada e ficará visível no portal do Azure.

Como selecionar a sub-rede no painel de rede da Instância Gerenciada de SQL

Monitore as operações de movimentação de instância no painel Visão geral do portal do Azure. Selecione a notificação para abrir um painel adicional que contém informações sobre a etapa atual, o total de etapas e um botão para cancelar a operação.

A captura de tela mostra a página Visão geral, onde você pode monitorar e cancelar a operação de movimentação.

Próximas etapas