FAQs - Suporte técnico

Cloud - Linha T-Cloud - Migração de dados entre Edges

time.png Tempo aproximado para leitura: 00:10:00 min

Dúvida

Como realizar a Migração de dados entre Edges?

Ambiente
Cloud - Linha T-Cloud - Todas as versões

Solução
Para realizar a Migração de dados entre Edges, siga os passos a seguir:

Escopo EDGES
Ícone/Nome TCloud

image2022-8-22_20-41-26.png

Formulário

image2022-8-22_20-41-49.png

 

Objetivo

Esta ação tem por objetivo realizar um cadastro de migração automático, possibilitando que o time de DevOps prepare e faça o upload dos arquivos através de scripts executados nas instâncias de uma topologia.

Além de preparar os arquivos, a ação permite que seja escolhida uma topologia destino para que estes arquivos preparados na topologia origem sejam aplicados na topologia destino

 

Como utilizar

Ao clicar na ação, o seguinte formulário será apresentado:

 

image2022-8-22_20-48-59.png

 

O campo"Catálogo de migração"será apresentado automaticamente, o TCloud irá buscar o template na tabela de catálogo de migração pelo produto/sistema operacional da topologia onde a ação está sendo disparada

No campo"Descrição da Migração"deve ser informado um título para a migração que será cadastrada, com isso será possível identificar a migração cadastrado no módulo do migrador (Mais informações sobre o módulo do migrador, acesse a página T-Cloud - Migrador)

No campo"Selecione os artefatos a serem migrados"serão apresentados todos os artefatos de aplicação cadastrados no template de migração (Mais informações sobre o template de migração, acesse a página Habilitando o migrador para um novo produto)

O campo"Migrar dados do Banco"é utilizado para informar se os dados do banco também serão utilizados no cadastro de migração gerado

O campo"Migrar restrição de NAT/LB"é utilizado para que o TCloud migre as regras de restrição de NAT/LB para a topologia destino, caso seja selecionada a topologia destino no formulário. Para este item, temos duas observações:

  • As restrições só serão migradas caso a topologia destino possua a mesma regra de NAT/LB restrita na topologia origem
  • Esta migração não contempla as regras de NAT/LB cadastradas em uma VPN

O Campo"Topologia destino"é utilizado para informar para qual topologia os dados serão serão importados. Caso não seja informado uma topologia destino, o TCloud irá apenas cadastrar a migração para que ela seja aplicada posteriormente pelo módulo do migrador

O campo"Tipo de migração"é utilizado para decidir se a migração dos dados, caso seja selecionado a topolgia destino, será utilizada apenas para validação ou se será uma migração oficial para Go Live. Neste caso, a única diferença de uma para outra é que se a opção de Go Live for selecionada, o TCloud irá transferir o DNS da topologia origem para a topologia destino.. (Obs: neste momento a topologia origem ficará sem cadastro de DNS e a topologia destino terá o seu DNS substituído pelo DNS da topologia origem)

Ao confirmar o formulário, o TCloud irá criar um ID para esta migração, este ID será enviado no campo migration_id na chamada dos scripts de preparação/upload dos dados de aplicação 

 

Detalhes de execução do pipeline

O pipeline possui o seguinte diagrama de execução:

 

image2022-8-22_21-15-28.png

 

 

1 - Controle de fila da ação

2 - Execução de scripts de preparação e upload dos dados de aplicação solicitados pelo formulário.

Neste ponto, será criado um disco temporário na instância core para evitar que os dados preparados não comprometa o espaço livre do disco de dados da instância. O disco temporário é criado com o mesmo tamanho do disco de dados da core e é excluído logo após o step de execução de scripts de preparação/upload de arquivos.

Os scripts desta ação receberão as informações  do formulário, a variável migration_id com o ID da migração cadastrado no momento da execução da ação e por fim a estrutura de artefatos cadastradas no template

Exemplo de input recebido em base64 no script de migração

 
{
"form": {
"migration_catalog": "protheus_windows_v1",
"description": "Migração TESP3 prd x TESP3 tst",
"application": {
"bin": true,
"protheus_data": true,
"rpo": true,
"ini": true
},
"database": "S",
"migrate_rules": "N",
"topology_dest": "142441",
"migration_type": "validation"
},
"migration_id": 682,
"application": [{
"application_type": "bin",
"filename": "bin.zip",
"status": "new"
}, {
"application_type": "protheus_data",
"filename": "protheus_data.zip",
"status": "new"
}, {
"application_type": "rpo",
"filename": "rpo.zip",
"status": "new"
}, {
"application_type": "ini",
"filename": "ini.zip",
"status": "new"
}]
}

Com isso, o script deve identificar os artefatos selecionados, prepará-los em um arquivo .zip e enviá-los para o TCloud através de uma url de upload multpart.

Utilizamos o upload multpart porque a AWS tem um limite de 5GB em sua API que recebe o upload de arquivos.

O envio de um arquivo em uma url pré assinada de upload multpart se dá da seguinte forma:

  • Primeiro deve-se calcular em quantas partes pretende mandar os arquivos, levando em consideração que cada parte não pode ser superior a 5GB
  • Definido a quantidade de partes, o script deve chamar a URL do TCloud para pegar a URL assinada de cada parte. A URL a ser chamada é a seguinte: 

           POSThttps://api-tcloud.fluig.cloudtotvs.com.br/prod/customer/{ccode}/topology/{topology_id}/migration/{migration_id}/application-presign-url/{type}?parts={parts}

           As chaves "topology_api_key" e "topology_api_secret" devem ser passadas no body desta chamada, da mesma forma que é chamada na API de geração do Custom Data

           Parâmetros:

ccode: CCODE do cliente

topology_id: numero da topologia

migration_id: ID da migração cadastrado pelo TCloud na execução da ação

type: tipo do artefato cadastrado no catálogo de migração

parts: quantidade de partes a ser enviado o arquivo

 

Exemplo de retorno da API
Será retornado o id de upload gerado pela AWS e uma lista com a url assinada de cada parte do upload:
{
"upload_id": "5oWJGemCFnkf4064_dNT1aeRLHVQs2WGRw2Xmovzn7zn0tOKUbvRsDAWQc8o3LZlSIwtxbQAyLW.2RJhIGEWejt3qSNEgXsGwzL0zoRcW.p9YG359kvdOFnENl.I4uaajIeAd9EyJfOZQ_sYT56UG1oBImrAMhPfH93OkLpYZNA-",
"urls": [
"https://tcloud-customer-migration.s3.amazonaws.com/CLAUDI5/840/application/bin/protheus_data.zip?uploadId=5oWJGemCFnkf4064_dNT1aeRLHVQs2WGRw2Xmovzn7zn0tOKUbvRsDAWQc8o3LZlSIwtxbQAyLW.2RJhIGEWejt3qSNEgXsGwzL0zoRcW.p9YG359kvdOFnENl.I4uaajIeAd9EyJfOZQ_sYT56UG1oBImrAMhPfH93OkLpYZNA-&partNumber=1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6PDUB7WMB5QWNDGQ%2F20220823%2Fsa-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220823T010522Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAkaCXNhLWVhc3QtMSJGMEQCIDlAHNhg8MYbCCPBdJYGdQtkbvTw%2Fos7vjNsBvkb0C5TAiBtVMbiH25YU%2BBtG4fxLAaIPO%2BWr4umoSrkhhaQTmeAaiqcAwiC%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAQaDDk5NDUyODMyOTExMiIMCRomuGt88B%2FxH09ZKvACCatjhytQZBBCYGBlAlWrvtnZ462JYBhir%2Bcm8729MNu9VpwrNC3gtIJMkDvQEiRRKDSxQgLNZyMehqqhyB5Gw%2F8XFpa0DKPOSXzrPZmMG%2BOa1%2FfSzdKmit7I1yz8YCk%2B7Av9JnOKdsL%2Fex6JweN2i8oNGH2RnbuauT%2FesLDCbtJcV6Vqdwo7Iv894HgVbqKEWRTiXnrP7YsN0vuHB76zIzsmzePoVaqxWSt2wOuxmE4Qa%2B8FsW5HgLc3yQEJr51uPP3U1JYV1s7v4tHpCbbOfhhCJ34uoQdEP%2BfmtzfmRx1JVTHON2o3bj6kcPmqfMNp5gGPW8hgICUX98mUQO%2FQhY5MjdddpCkh4llpMCmcz5cxKIwbxq3Bnj0pLKa4P1PEGMD0H24ZrfDgiN5h0E70iPj8MeL%2FDNUAiM1YXOLz5pjvr%2F0WNTrNfvmS2LgLttsOiuU2rRBOKFJpsYpFC878CB34QsjKHxUQqSnDhWcCmpQw9M6QmAY6ngEGP9yArixJ9xXA%2Fvx91vFiUIz1zpQqa3IzVWGUyjTAQBLO7R0wnXhp0D2dSb1m2QGkL%2FC32k%2BCfp5RC9FcbNB%2BURkIIK2UZY0Pt9AhgG5PKd2XM9f9wVf9Q2Dx%2Fs%2BaBw4JIvJ2wP%2FeK0F%2FcbVPZA4soPjiB8E3VR8jX%2BUUrY7taoPqQAqMzb%2Fq9rrkO2CVF%2BOEhZFb0TC387DOLn%2BYHA%3D%3D&X-Amz-Signature=1ffcc1f43ab09c2f3ad66316f3a48b2497990bae9efaa2a57ffef98531b61fb9",
"https://tcloud-customer-migration.s3.amazonaws.com/CLAUDI5/840/application/bin/protheus_data.zip?uploadId=5oWJGemCFnkf4064_dNT1aeRLHVQs2WGRw2Xmovzn7zn0tOKUbvRsDAWQc8o3LZlSIwtxbQAyLW.2RJhIGEWejt3qSNEgXsGwzL0zoRcW.p9YG359kvdOFnENl.I4uaajIeAd9EyJfOZQ_sYT56UG1oBImrAMhPfH93OkLpYZNA-&partNumber=2&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6PDUB7WMB5QWNDGQ%2F20220823%2Fsa-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220823T010522Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAkaCXNhLWVhc3QtMSJGMEQCIDlAHNhg8MYbCCPBdJYGdQtkbvTw%2Fos7vjNsBvkb0C5TAiBtVMbiH25YU%2BBtG4fxLAaIPO%2BWr4umoSrkhhaQTmeAaiqcAwiC%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAQaDDk5NDUyODMyOTExMiIMCRomuGt88B%2FxH09ZKvACCatjhytQZBBCYGBlAlWrvtnZ462JYBhir%2Bcm8729MNu9VpwrNC3gtIJMkDvQEiRRKDSxQgLNZyMehqqhyB5Gw%2F8XFpa0DKPOSXzrPZmMG%2BOa1%2FfSzdKmit7I1yz8YCk%2B7Av9JnOKdsL%2Fex6JweN2i8oNGH2RnbuauT%2FesLDCbtJcV6Vqdwo7Iv894HgVbqKEWRTiXnrP7YsN0vuHB76zIzsmzePoVaqxWSt2wOuxmE4Qa%2B8FsW5HgLc3yQEJr51uPP3U1JYV1s7v4tHpCbbOfhhCJ34uoQdEP%2BfmtzfmRx1JVTHON2o3bj6kcPmqfMNp5gGPW8hgICUX98mUQO%2FQhY5MjdddpCkh4llpMCmcz5cxKIwbxq3Bnj0pLKa4P1PEGMD0H24ZrfDgiN5h0E70iPj8MeL%2FDNUAiM1YXOLz5pjvr%2F0WNTrNfvmS2LgLttsOiuU2rRBOKFJpsYpFC878CB34QsjKHxUQqSnDhWcCmpQw9M6QmAY6ngEGP9yArixJ9xXA%2Fvx91vFiUIz1zpQqa3IzVWGUyjTAQBLO7R0wnXhp0D2dSb1m2QGkL%2FC32k%2BCfp5RC9FcbNB%2BURkIIK2UZY0Pt9AhgG5PKd2XM9f9wVf9Q2Dx%2Fs%2BaBw4JIvJ2wP%2FeK0F%2FcbVPZA4soPjiB8E3VR8jX%2BUUrY7taoPqQAqMzb%2Fq9rrkO2CVF%2BOEhZFb0TC387DOLn%2BYHA%3D%3D&X-Amz-Signature=1577206423a181d128c3e66ffe070b953400f9302422c4f89b08f314ee328290",
"https://tcloud-customer-migration.s3.amazonaws.com/CLAUDI5/840/application/bin/protheus_data.zip?uploadId=5oWJGemCFnkf4064_dNT1aeRLHVQs2WGRw2Xmovzn7zn0tOKUbvRsDAWQc8o3LZlSIwtxbQAyLW.2RJhIGEWejt3qSNEgXsGwzL0zoRcW.p9YG359kvdOFnENl.I4uaajIeAd9EyJfOZQ_sYT56UG1oBImrAMhPfH93OkLpYZNA-&partNumber=3&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6PDUB7WMB5QWNDGQ%2F20220823%2Fsa-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220823T010522Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAkaCXNhLWVhc3QtMSJGMEQCIDlAHNhg8MYbCCPBdJYGdQtkbvTw%2Fos7vjNsBvkb0C5TAiBtVMbiH25YU%2BBtG4fxLAaIPO%2BWr4umoSrkhhaQTmeAaiqcAwiC%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAQaDDk5NDUyODMyOTExMiIMCRomuGt88B%2FxH09ZKvACCatjhytQZBBCYGBlAlWrvtnZ462JYBhir%2Bcm8729MNu9VpwrNC3gtIJMkDvQEiRRKDSxQgLNZyMehqqhyB5Gw%2F8XFpa0DKPOSXzrPZmMG%2BOa1%2FfSzdKmit7I1yz8YCk%2B7Av9JnOKdsL%2Fex6JweN2i8oNGH2RnbuauT%2FesLDCbtJcV6Vqdwo7Iv894HgVbqKEWRTiXnrP7YsN0vuHB76zIzsmzePoVaqxWSt2wOuxmE4Qa%2B8FsW5HgLc3yQEJr51uPP3U1JYV1s7v4tHpCbbOfhhCJ34uoQdEP%2BfmtzfmRx1JVTHON2o3bj6kcPmqfMNp5gGPW8hgICUX98mUQO%2FQhY5MjdddpCkh4llpMCmcz5cxKIwbxq3Bnj0pLKa4P1PEGMD0H24ZrfDgiN5h0E70iPj8MeL%2FDNUAiM1YXOLz5pjvr%2F0WNTrNfvmS2LgLttsOiuU2rRBOKFJpsYpFC878CB34QsjKHxUQqSnDhWcCmpQw9M6QmAY6ngEGP9yArixJ9xXA%2Fvx91vFiUIz1zpQqa3IzVWGUyjTAQBLO7R0wnXhp0D2dSb1m2QGkL%2FC32k%2BCfp5RC9FcbNB%2BURkIIK2UZY0Pt9AhgG5PKd2XM9f9wVf9Q2Dx%2Fs%2BaBw4JIvJ2wP%2FeK0F%2FcbVPZA4soPjiB8E3VR8jX%2BUUrY7taoPqQAqMzb%2Fq9rrkO2CVF%2BOEhZFb0TC387DOLn%2BYHA%3D%3D&X-Amz-Signature=4012c2f17adff8d7c4fa89ff73de9af07bd331fe8de8d4093e4c323e5b25cfea",
"https://tcloud-customer-migration.s3.amazonaws.com/CLAUDI5/840/application/bin/protheus_data.zip?uploadId=5oWJGemCFnkf4064_dNT1aeRLHVQs2WGRw2Xmovzn7zn0tOKUbvRsDAWQc8o3LZlSIwtxbQAyLW.2RJhIGEWejt3qSNEgXsGwzL0zoRcW.p9YG359kvdOFnENl.I4uaajIeAd9EyJfOZQ_sYT56UG1oBImrAMhPfH93OkLpYZNA-&partNumber=4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6PDUB7WMB5QWNDGQ%2F20220823%2Fsa-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220823T010522Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAkaCXNhLWVhc3QtMSJGMEQCIDlAHNhg8MYbCCPBdJYGdQtkbvTw%2Fos7vjNsBvkb0C5TAiBtVMbiH25YU%2BBtG4fxLAaIPO%2BWr4umoSrkhhaQTmeAaiqcAwiC%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAQaDDk5NDUyODMyOTExMiIMCRomuGt88B%2FxH09ZKvACCatjhytQZBBCYGBlAlWrvtnZ462JYBhir%2Bcm8729MNu9VpwrNC3gtIJMkDvQEiRRKDSxQgLNZyMehqqhyB5Gw%2F8XFpa0DKPOSXzrPZmMG%2BOa1%2FfSzdKmit7I1yz8YCk%2B7Av9JnOKdsL%2Fex6JweN2i8oNGH2RnbuauT%2FesLDCbtJcV6Vqdwo7Iv894HgVbqKEWRTiXnrP7YsN0vuHB76zIzsmzePoVaqxWSt2wOuxmE4Qa%2B8FsW5HgLc3yQEJr51uPP3U1JYV1s7v4tHpCbbOfhhCJ34uoQdEP%2BfmtzfmRx1JVTHON2o3bj6kcPmqfMNp5gGPW8hgICUX98mUQO%2FQhY5MjdddpCkh4llpMCmcz5cxKIwbxq3Bnj0pLKa4P1PEGMD0H24ZrfDgiN5h0E70iPj8MeL%2FDNUAiM1YXOLz5pjvr%2F0WNTrNfvmS2LgLttsOiuU2rRBOKFJpsYpFC878CB34QsjKHxUQqSnDhWcCmpQw9M6QmAY6ngEGP9yArixJ9xXA%2Fvx91vFiUIz1zpQqa3IzVWGUyjTAQBLO7R0wnXhp0D2dSb1m2QGkL%2FC32k%2BCfp5RC9FcbNB%2BURkIIK2UZY0Pt9AhgG5PKd2XM9f9wVf9Q2Dx%2Fs%2BaBw4JIvJ2wP%2FeK0F%2FcbVPZA4soPjiB8E3VR8jX%2BUUrY7taoPqQAqMzb%2Fq9rrkO2CVF%2BOEhZFb0TC387DOLn%2BYHA%3D%3D&X-Amz-Signature=96a2a9c542035f16c5c78737a61f2a8324b63238070254820748dc87ff557e81",
.
.
.
]
}
  • Abrir o arquivo a ser enviado, ir lendo ele em partes e enviar cada parte nas URL pré assinadas retornadas no passo anterior. O método a ser chamado para estas url é o PUT e a parte do arquivo lida deve ir no body da chamada.
  • Cada envio com sucesso retorna uma "ETag" no cabeçalho de resposta. Estas ETags deverão ser guardadas em um array com o seguinte formato: {"ETag": "{ETag retornada}", "PartNumber": "{Numero da parte enviada}"}
  • Após finalizar o envio de todas as partes, a seguinte URL do TCloud deve ser chamada:

           POSThttps://api-tcloud.fluig.cloudtotvs.com.br/dev/customer/{ccode}/topology/{topology_id}/migration/{migration_id}/application-presign-url/{type}/finish-upload/{upload_id}

           As chaves "topology_api_key" e "topology_api_secret" devem ser passadas no body desta chamada, da mesma forma que é chamada na API de geração do Custom Data

           Parâmetros:

ccode: CCODE do cliente

topology_id: numero da topologia

migration_id: ID da migração cadastrado pelo TCloud na execução da ação

type: tipo do artefato cadastrado no catálogo de migração

upload_id: ID do upload retornada pela API que gera as urls assinadas

3 - Executa o export do banco e grava a URL assinada de download deste export no cadastro de migração

4 - Executa a migração do DNS da topologia origem para topologia destino

5 - Executa as ações de migração de banco e aplicação na topologia destino, caso a topologia destino tenha sido informada no formulário da ação.

Neste momento a ação irá gerar um pipeline de aplicação da migração para a aplicação e outro para o banco. Caso um destes pipelines apresente erro, o pipeline da ação de migração entre edges também ficará com status de erro, os detalhes destas ações de importação de dados da aplicação podem ser vistos na documentação Habilitando o migrador para um novo produto

6 - Executa a migração de regras de restrição de NAT/LB  na topologia destino

 

Configuração da ação no produto

O botão da ação de migração entre édge só aparece para usuários que possuem a permissão para a feature "292 - Migrar dados de cliente entre Edges"

Para adicionar no catálogo de ações, o seguinte json deve ser inserido na chave "items" do template:

{
"actionSave": {
"method": "POST",
"payload_export_application": {
"cmd_list": [
{
"cmd": "", //nome do script .ps1 ou .py
"instance_type": [
"" //tipos de instâncias que o comando será executado
],
"params": [
"" //argumentos passado para o script
],
"timeout": 300 //timeout do comando
},
{...} //demais comandos
]
},
"uri": "/customer/{{cloud_id}}/topologies/{{topology_id}}/action/customer_migration_edge"
},
"action_type": "sync",
"css_icon": "fas fa-rocket",
"feature_id": 292,
"label_id": "Migração de dados entre Edges",
"method": "GET",
"msg_alert": "Mensagem de alerta customizada que aparecerá na parte inferior do formulário. Aceita código HTML",
"msg_confirm": "Mensagem customizada que aparecerá ao clicar no botão 'Enviar' do formulário",
"name": "action_customer_migration_edge",
"type": "form",
"uri": "/customer/{{cloud_id}}/topologies/{{topology_id}}/action/customer_migration_edge",
"visibility": "show"
}

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _