Mover o Azure SQL Managed Instance entre sub-redes

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

O Azure SQL Managed Instance tem de ser implementado dentro de uma sub-rede dedicada numa 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-redes).

Este artigo ensina você a mover sua instância gerenciada de uma sub-rede para outra (na mesma VNet ou em uma diferente), semelhante ao dimensionamento de vCores ou à alteração da camada de serviço da instância. A Instância Gerenciada SQL está disponível durante a mudança, exceto durante um curto tempo de inatividade causado por um failover no final da atualização - normalmente com duração de até 10 segundos, mesmo se as transações de longa execução forem interrompidas.

Mover a instância para outra sub-rede aciona as seguintes operações do 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.

Antes de mover sua instância para outra sub-rede, considere familiarizar-se com os seguintes conceitos:

Requisitos e limitações

Para implantar uma instância gerenciada ou movê-la para outra sub-rede, a sub-rede de destino deve ter determinados requisitos de rede.

Prontidão da sub-rede

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

Na interface do usuário da rede virtual do portal do Azure, as redes virtuais que atendem aos pré-requisitos para uma instância gerenciada são categorizadas como Pronto para Instância Gerenciada. As redes virtuais que têm sub-redes com instâncias gerenciadas já implantadas nelas exibem um ícone de Instância Gerenciada SQL antes do nome da rede virtual. As sub-redes vazias que estão 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 a implantação da Instância Gerenciada 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:

  • delegando ao provedor de recursos Microsoft.Sql/managedInstances
  • anexando uma tabela de rotas
  • Anexando um grupo de segurança de rede

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

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

Depois que todos os requisitos forem atendidos, a sub-rede será movida da categoria Não pronto para a categoria Pronto para instância gerenciada e poderá ser usada para uma instância gerenciada.

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

Screenshot of the Azure SQL Managed Instance subnet options.

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

  • Pronto para Instância Gerenciada (contém Instância Gerenciada SQL existente): Nenhum ajuste é feito. Essas sub-redes já contêm instâncias gerenciadas, e fazer qualquer alteração na sub-rede pode afetar as instâncias existentes.
  • Pronto para instância gerenciada (vazio): 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. 1

Nota

1 As regras personalizadas adicionadas à configuração da sub-rede de origem não são copiadas para a sub-rede de destino. Qualquer personalização da configuração da sub-rede de origem tem de ser replicada manualmente na sub-rede de destino. Uma forma de o conseguir é ao utilizar a mesma tabela de rotas e 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:

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

    • Na mesma rede virtual utilizada atualmente,
    • 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 SQL que está sendo movida. A preparação pode ser feita criando uma nova Instância Gerenciada SQL em uma sub-rede vazia e fornecendo o parâmetro dnsZonePartner na solicitação de criação. Esse parâmetro como um valor aceita a ID da Instância Gerenciada do SQL e, nesse caso, você pode usar a instância que seria movida posteriormente para a nova sub-rede1.

Nota

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

  • Se você quiser migrar uma Instância Gerenciada 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 (Network Security Group) 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 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, consulte Habilitar replicação geográfica entre instâncias gerenciadas.

Etapas de operação

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

Nome do passo Descrição do passo
Validação do pedido Valida os parâmetros enviados. Se uma configuração incorreta for detetada, 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 de nova instância O processo SQL é iniciado no cluster virtual implantado na sub-rede de destino.
Semeando arquivos de banco de dados / anexando 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.
Preparando failover e failover Depois que os dados forem propagados ou os arquivos de banco de dados reanexados, o sistema se prepara para failover. Quando tudo está pronto, o sistema executa um failover com um curto tempo de inatividade, geralmente inferior a 10 segundos.
Limpeza de instância SQL antiga Remove o processo SQL antigo do cluster virtual de origem.
Exclusão de cluster virtual Se for a última instância dentro da sub-rede de origem, a etapa final excluirá o cluster virtual de forma síncrona. Caso contrário, o cluster virtual será desfragmentado de forma assíncrona.

Uma explicação detalhada das etapas de operação pode ser encontrada na visão geral das operações de gerenciamento da Instância Gerenciada 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. A API de atualização de instância existente, o Azure PowerShell e os comandos da CLI do Azure foram aprimorados com uma propriedade de ID de sub-rede.

No portal do Azure, use o campo de sub-rede na folha Rede para mover a instância para a sub-rede de destino. Ao usar o Azure PowerShell ou a CLI do Azure, forneça uma ID de sub-rede diferente no comando update 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 Referência da API de gerenciamento para instância gerenciada SQL do Azure.

A opção para escolher a sub-rede da instância está localizada na folha Rede do portal do Azure. A operação de movimentação de instância começa 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.

How to select subnet on SQL Managed Instance networking blade

Monitore as operações de movimentação de instância da folha Visão geral do portal do Azure. Selecione a notificação para abrir uma folha adicional contendo informações sobre a etapa atual, o total de etapas e um botão para cancelar a operação.

Screenshot shows the Overview page where you can monitor the move operation and cancel it.

Próximos passos