Migrar namespaces standard do Barramento de Serviço do Azure para a camada premium

Anteriormente, o Barramento de Serviço do Azure oferecia namespaces apenas na camada Standard. Os namespaces são configurações de vários locatários otimizadas para ambientes de baixa taxa de transferência e para desenvolvedores. A camada Premium oferece recursos dedicados por namespace para latência previsível e maior taxa de transferência a um preço fixo. A camada Premium é otimizada para ambientes de produção e de alta taxa de transferência que exigem recursos empresariais adicionais.

Este artigo descreve como migrar namespaces de camada standard existentes para a camada premium.

Aviso

A migração destina-se aos namespaces standard do Barramento de Serviço a serem atualizados para a camada premium. A ferramenta de migração não tem suporte para downgrade.

Alguns pontos a serem observados:

  • Essa migração deve ocorrer no local, o que significa que os aplicativos remetente e receptor existentes não exigem nenhuma alteração no código nem na configuração. A cadeia de conexão existente apontará automaticamente para o novo namespace premium.
  • Se você estiver usando um nome premium existente, o namespace premiumnão deverá ter entidades nele para que a migração tenha êxito e não deverá ter o particionamento habilitado.
  • Todas as entidades no namespace standard são copiadas para o namespace premium durante o processo de migração.
  • A migração dá suporte a 1.000 entidades por unidade do sistema de mensagens na camada premium. Para identificar de quantas unidades do sistema de mensagens você precisa, comece com o número de entidades que você tem em seu namespace standard atual.
  • Não é possível migrar diretamente da camada básica para a camada premium, mas você pode fazê-lo indiretamente migrando da básica para a standard primeiro e, em seguida, da standard para a premium depois.
  • As configurações de controle de acesso baseado em função (RBAC) não são migradas, portanto, será necessário adicioná-las manualmente após a migração.

Etapas da migração

Algumas condições estão associadas ao processo de migração. Familiarize-se com as etapas a seguir para reduzir a possibilidade de erros. Essas etapas descrevem o processo de migração e os detalhes passo a passo são listados nas seções a seguir.

  1. Crie um namespace premium. Conclua as três etapas seguintes utilizando as instruções da CLI ou do portal do Microsoft Azure deste artigo.
  2. Emparelhe os namespaces standard e premium entre si.
  3. Sincronize (copie) as entidades do namespace standard para o premium.
  4. Confirme a migração.
  5. Esvazie entidades no namespace standard usando o nome de pós-migração do namespace.
  6. Exclua o namespace standard.

Importante

Depois que a migração tiver sido confirmada, acesse o namespace standard antigo e esvazie as filas e assinaturas. Depois que as mensagens forem descarregadas, elas poderão ser enviadas para o novo namespace premium para serem processadas pelos aplicativos receptores. Depois que as filas e assinaturas tiverem sido esvaziadas, recomendamos que você exclua o namespace standard antigo.

Migrar usando a CLI do Azure ou o PowerShell

Para migrar seu namespace standard do Barramento de Serviço para premium usando a ferramenta de CLI do Azure ou do PowerShell, siga estas etapas.

  1. Crie um namespace premium do Barramento de Serviço. Você pode fazer referência aos modelos do Azure Resource Manager ou usar o portal do Azure. Selecione premium para o parâmetro serviceBusSku.

  2. Defina as variáveis de ambiente a seguir para simplificar os comandos de migração. Você pode obter a ID do Azure Resource Manager para seu namespace Premium navegando até o namespace no portal do Microsoft Azure e copiando a parte da URL que se parece com o exemplo a seguir: /subscriptions/00000000-0000-0000-0000-00000000000000/resourceGroups/contosoresourcegroup/providers/Microsoft.ServiceBus/namespaces/contosopremiumnamespace.

    resourceGroup = <resource group for the standard namespace>
    standardNamespace = <standard namespace to migrate>
    premiumNamespaceArmId = <Azure Resource Manager ID of the premium namespace to migrate to>
    postMigrationDnsName = <post migration DNS name entry to access the standard namespace>
    

    Importante

    O alias/nome (post_migration_dns_name) pós-migração será usado para acessar o namespace standard antigo após a migração. Use isso para esvaziar as filas e as assinaturas e, em seguida, exclua o namespace.

  3. Emparelhe os namespaces standard e premium e inicie a sincronização usando o seguinte comando:

    az servicebus migration start --resource-group $resourceGroup --name $standardNamespace --target-namespace $premiumNamespaceArmId --post-migration-name $postMigrationDnsName
    
  4. Verifique o status da migração usando o seguinte comando:

    az servicebus migration show --resource-group $resourceGroup --name $standardNamespace
    

    A migração é considerada concluída quando você vê os seguintes valores:

    • MigrationState = "Active"
    • pendingReplicationsOperationsCount = 0
    • provisioningState = "Succeeded"

    Esse comando também exibe a configuração de migração. Verifique se os valores estão definidos corretamente. Verifique também o namespace premium no portal para garantir que todas as filas e tópicos tenham sido criados e que correspondam ao que existia no namespace standard.

  5. Confirme a migração executando o seguinte comando completo:

    az servicebus migration complete --resource-group $resourceGroup --name $standardNamespace
    

Migrar usando o portal do Azure

A migração usando o portal do Azure tem o mesmo fluxo lógico que a migração usando os comandos. Siga estas etapas para fazer a migração usando o portal do Azure.

  1. No menu Navegação no painel esquerdo, selecione Fazer a migração para premium. Selecione o botão Introdução para continuar na página seguinte. Image showing the Migrate to premium page.

  2. Você verá a página de Namespaces de instalação a seguir.

    Image showing the Setup Namespaces page.

  3. Nas páginas de Namespaces de instalação, siga uma destas etapas:

    1. Se você selecionar Criar um namespace premium:
      1. Na página Criar namespace, insira um nome para o namespace e selecione Revisar + criar.

      2. Na página Examinar + criar escolha Criar.

        Image showing the Create Namespace page.

    2. Se você optar por Selecionar um namespace premium vazio existente:
      1. Selecione a assinatura do Azure e o grupo de recursos que tem o namespace.

      2. Em seguida, selecione o namespace Premium.

      3. Em seguida, clique em Selecionar.

        Image showing the selection of an existing premium namespace.

  4. Insira um nome após a migração e selecione Avançar. Você usará esse nome para acessar o namespace standard depois que a migração for concluída.

    Image showing the post-migration name for the standard namespace.

  5. Selecione Iniciar Sincronização de dados para sincronizar entidades entre os namespaces padrão e premium.

    Image showing the start sync button.

  6. Na caixa de diálogo, selecione Sim para confirmar e iniciar a sincronização de dados. Aguarde a conclusão da sincronização. Em seguida, selecione Avançar.

    Importante

    Se você precisar anular a migração por qualquer motivo, examine o fluxo de anulação na seção de perguntas frequentes deste documento.

  7. Selecione Migração completa na página de Opção.

    Image showing the **Switch** page of the migration wizard.

  8. Selecione Sim para confirmar a alternância do seu namespace padrão para Premium. Quando a alternância for concluída, o nome DNS do seu namespace padrão apontará para o namespace Premium. Essa operação não pode ser desfeita. Você verá a página Êxito quando a migração for concluída.

    Image showing the Success page.

Advertências

Alguns dos recursos fornecidos pela camada Standard do Barramento de Serviços do Azure não são suportados pela camada Premium do Barramento de Serviços do Azure. Eles são por design, uma vez que a camada premium oferece recursos dedicados para taxa de transferência e latência previsíveis.

Aqui está uma lista dos recursos não suportados pelo Premium e sua mitigação -

Entidades expressas

Entidades expressas que não confirmam nenhum dado de mensagem no armazenamento não são suportadas na camada Premium. Os recursos dedicados forneciam um aprimoramento significativo na taxa de transferência e garantiam que os dados fossem persistidos, como é esperado de qualquer sistema de mensagens empresariais.

Durante a migração, qualquer uma de suas entidades expressas em seu namespace standard será criada no namespace Premium como uma entidade não expressa.

Se você utiliza modelos do Azure Resource Manager, certifique-se de remover o sinalizador "enableExpress" da configuração de implantação para que seus fluxos de trabalho automatizados sejam executados sem erros.

Configurações de RBAC

As configurações de RBAC (controle de acesso baseado em função) no namespace não são migradas para o namespace premium. Você precisará adicioná-las manualmente após a migração.

Perguntas frequentes

O que acontece quando a migração é confirmada?

Depois que a migração for confirmada, a cadeia de conexão que aponta para o namespace standard apontará para o namespace premium.

Os aplicativos emissor e receptor se desconectarão do namespace padrão e se reconectarão ao namespace Premium automaticamente.

Se estiver utilizando a ID do Azure Resource Manager para configuração, em vez de uma cadeia de conexão (por exemplo, como um destino para uma Assinatura da Grade de Eventos), será necessário atualizar a ID do Azure Resource Manager para que seja a do namespace Premium.

O que devo fazer depois que a migração de standard para premium é concluída?

A migração standard para premium verifica se os metadados de entidade, como tópicos, assinaturas e filtros, são copiados do namespace standard para o namespace premium. Os dados da mensagem que foram confirmados no namespace standard não são copiados do namespace standard para o namespace premium.

O namespace standard pode ter algumas mensagens que foram enviadas e confirmadas enquanto a migração estava em andamento. Esvazie manualmente essas mensagens do namespace Standard e envie-as manualmente para o namespace Premium. Para drenar manualmente as mensagens, utilize um aplicativo de console ou um script que drene as entidades do namespace padrão usando o nome DNS pós-migração que você especificou nos comandos de migração. Envie essas mensagens para o namespace premium para que elas possam ser processadas pelos receptores.

Depois que as mensagens tiverem sido esvaziadas, exclua o namespace standard.

Importante

Depois que as mensagens do namespace standard tiverem sido esvaziadas, exclua o namespace padrão. Isso é importante porque a cadeia de conexão que inicialmente fazia referência ao namespace standard agora faz referência ao namespace premium. Você não precisará mais do namespace padrão. Excluir o namespace padrão que você migrou ajuda a reduzir a confusão mais tarde.

Quanto tempo de inatividade é esperado?

O processo de migração destina-se a reduzir o tempo de inatividade esperado para os aplicativos. O tempo de inatividade é reduzido usando a cadeia de conexão que os aplicativos remetente e receptor usam para apontar para o novo namespace premium.

O tempo de inatividade experimentado pelo aplicativo é limitado ao período necessário para atualizar a entrada DNS para apontar para o namespace premium. O tempo de inatividade é de aproximadamente 5 minutos.

É necessário fazer alterações de configuração durante a migração?

Não, não há nenhuma alteração de código nem de configuração necessária para fazer a migração. A cadeia de conexão que os aplicativos remetente e receptor usam para acessar o namespace standard é mapeada automaticamente para funcionar como um alias para o namespace premium.

Como fazer para anular a migração?

A migração pode ser anulada usando o comando Abort ou o portal do Azure.

CLI do Azure

az servicebus migration abort --resource-group $resourceGroup --name $standardNamespace

Portal do Azure

Selecione Anular na página Sincronizar entidades.

Image showing the Abort page.

Quando ela for concluída, você verá a seguinte página:

Image showing the Abort complete page.

O que acontece quando eu anulo a migração?

Quando o processo de migração é anulado, ele anula o processo de cópia das entidades (tópicos, assinaturas e filtros) do namespace standard para o premium e interrompe o emparelhamento.

A cadeia de conexão não é atualizada para apontar para o namespace premium. Seus aplicativos existentes continuam funcionando como acontecia antes de você iniciar a migração.

No entanto, ele não exclui as entidades no namespace premium nem o namespace premium. Exclua as entidades manualmente se você decidiu não avançar com a migração.

Importante

Se você decidir anular a migração, exclua o namespace premium que você provisionou para a migração para que você não seja cobrado pelos recursos.

Não quero ter que esvaziar as mensagens. O que devo fazer?

Pode haver mensagens enviadas pelos aplicativos remetente e confirmadas no armazenamento no namespace padrão enquanto a migração está ocorrendo e logo antes da confirmação da migração.

Durante a migração, os dados/carga da mensagem real não são copiados do namespace padrão para o premium. As mensagens precisam ser esvaziadas manualmente e enviadas ao namespace premium.

No entanto, se você puder migrar durante uma janela de manutenção planejada e não quiser esvaziar e enviar as mensagens manualmente, siga estas etapas:

  1. Interrompa os aplicativos remetentes. Os aplicativos receptores processarão as mensagens que estão atualmente no namespace standard e esvaziarão a fila.

  2. Depois que as filas e as assinaturas no namespace padrão estiverem vazias, siga o procedimento descrito anteriormente para executar a migração do namespace padrão para o Premium.

  3. Após a conclusão da migração, você poderá reiniciar os aplicativos remetentes.

  4. Os remetentes e receptores agora se conectarão automaticamente ao namespace premium.

    Observação

    Você não precisa interromper os aplicativos receptores para a migração.

    Depois que a migração for concluída, os aplicativos receptores serão desconectados do namespace standard e se conectarão automaticamente ao namespace premium.

Próximas etapas