Compartilhar via


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

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

Este artigo explica como mover a Instância Gerenciada de SQL do Azure de uma sub-rede para outra sub-rede na mesma rede virtual ou em uma rede virtual diferente. A operação é semelhante ao dimensionamento de vCores ou à alteração da camada de serviço da instância. Durante a movimentação, a Instância Gerenciada de SQL permanece disponível, exceto por um curto tempo de inatividade quando o failover acontece - normalmente durando até 10 segundos, mesmo que transações de longa execução sejam interrompidas.

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

  • O cluster virtual cria ou redimensiona a infraestrutura subjacente na sub-rede de destino.
  • O cluster virtual é removido ou desfragmentado na sub-rede de origem.

Requisitos e limitações

Você deve implantar a Instância Gerenciada de SQL dentro de uma sub-rede dedicada em uma rede virtual do Azure. O tamanho da sub-rede (intervalo de sub-rede) determina quantas instâncias gerenciadas de SQL você pode implantar na sub-rede. Para implantar uma instância gerenciada de SQL ou movê-la para outra sub-rede, a sub-rede de destino deve atender a 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 sua instância gerenciada de SQL, 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 de SQL são categorizadas como Prontas para Instância Gerenciada. As redes virtuais que têm sub-redes com instâncias gerenciadas de SQL já implantadas neles exibem um ícone da Instância Gerenciada de SQL antes do nome da rede virtual. Sub-redes vazias prontas para uma instância gerenciada de SQL 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. Para saber por que a sub-rede não está pronta e se a sub-rede pode atender aos requisitos de rede, use o ícone de informações à direita do nome da sub-rede. Estes requisitos incluem:

  • delegando para o Microsoft.Sql/managedInstances provedor de recursos
  • anexar uma tabela de rotas
  • anexar um grupo de segurança de rede

Se a sub-rede fizer parte de outra rede virtual, você precisará:

  • 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 de atender a esses requisitos, a sub-rede passa da categoria Não pronta para a categoria Pronta para Instância Gerenciada e pode ser usada para uma instância gerenciada de SQL.

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

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:

  • Pronto para a Instância Gerenciada (contém a Instância Gerenciada de SQL existente)

    Nenhum ajuste é feito. Essas sub-redes já contêm instâncias gerenciadas de SQL e fazer qualquer alteração na sub-rede pode afetar as instâncias existentes.

  • Pronto para a 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 necessárias, mas ausentes. As regras personalizadas que você adiciona à configuração de sub-rede de origem não são copiadas para a sub-rede de destino. Você deve replicar manualmente qualquer personalização da configuração de sub-rede de origem para a sub-rede de destino. Uma maneira de obter essa replicação é usando a mesma tabela de rotas e o grupo de segurança de rede para a sub-rede de origem e 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:

  • Você pode mover a Instância Gerenciada de SQL para uma sub-rede que seja:

    • Na mesma rede virtual que a usada atualmente, ou
    • 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 úmida.

    Você pode preparar especialmente a sub-rede de destino para manter a zona DNS da instância gerenciada de SQL que você está movendo. Prepare a sub-rede criando uma nova instância gerenciada de SQL em uma sub-rede vazia e fornecendo o dnsZonePartner parâmetro na solicitação create. Esse parâmetro como um valor aceita a ID da Instância Gerenciada de SQL e, nesse caso, você pode usar a instância que posteriormente seria movida para a nova sub-rede.

    Além dessa abordagem, não há outra maneira de ditar a zona DNS da Instância Gerenciada de SQL, pois ela é gerada aleatoriamente. Atualmente, não há como atualizar a zona DNS de uma instância gerenciada de SQL existente.

Se você quiser 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 de grupo de failover que a sub-rede de origem:

    Abra tanto as portas de entrada quanto as de saída 5022 e o intervalo 11000-11999 no NSG (Grupo de Segurança de Rede) para conexões da outra sub-rede da instância gerenciada de SQL (aquela que contém a réplica do grupo de failover), a fim de 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. Você deseja 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, examine Habilitar replicação geográfica entre instâncias gerenciadas de SQL.

Etapas da operação

Mover uma instância de uma sub-rede para outra envolve muitas etapas. Dependendo de como sua instância gerenciada de SQL está configurada, a operação de movimentação 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 ou 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.
Distribuir arquivos de banco de dados ou 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 propagados ou os arquivos de banco de dados são anexados novamente, o sistema se prepara para failover. Quando tudo estiver pronto, o sistema executará um failover com um tempo de inatividade curto, normalmente menos de 10 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.

Para obter uma explicação detalhada das etapas de operação, consulte Duração das operações de gerenciamento na 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 são 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 obter uma referência completa dos comandos de gerenciamento de instância, consulte a referência da API Gerenciada para a Instância Gerenciada de SQL do Azure.

Você pode escolher a sub-rede de instância no painel Rede do portal do Azure. Depois de selecionar uma sub-rede e salvar as alterações, a operação de movimentação da instância será iniciada.

A operação de movimentação primeiro prepara a sub-rede de destino para implantação, o que pode levar vários minutos. Depois que a sub-rede estiver pronta, a operação de gerenciamento de movimentação de instância será iniciada e aparecerá no portal do Azure.

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

Você pode monitorar as operações de movimentação de instância do painel Visão geral do portal do Azure. Selecione a notificação para abrir outro painel que contém informações sobre a etapa atual, as etapas totais 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.