# Migrar uma aplicação para a Azion

Uma aplicação que roda em outro provedor tem uma origem, um domínio e regras que moldam o seu tráfego. Migrá-la para a Azion significa reconstruir essa cadeia na plataforma e mover o domínio por último, para que a aplicação continue servindo enquanto você trabalha. Você registra a origem como um [connector](/pt-br/documentacao/plataforma/connectors/), a serve por uma [aplicação](/pt-br/documentacao/plataforma/applications/), a expõe em um [workload](/pt-br/documentacao/plataforma/workloads/) e aponta o domínio para o workload.

Se você está saindo de um dos provedores abaixo, siga o guia dele. Cada um mapeia os serviços do provedor para os equivalentes na Azion.

| Provedor                                                                              | O guia cobre                                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Akamai](/pt-br/documentacao/guias/plataforma/migracao/akamai-guia-migracao/)         | Properties, EdgeWorkers, Cloudlets, redirecionamentos e headers, cache, balanceamento de carga, entrega de imagens e mídia, EdgeKV, NetStorage, bancos de dados, WAF, proteção DDoS, bots, rate limits, monitoramento, mPulse, certificados e DNS |
| [AWS](/pt-br/documentacao/guias/plataforma/migracao/aws-guia-migracao/)               | CloudFront, Lambda, API Gateway, Step Functions e EventBridge, cache, balanceamento de carga, imagens, Bedrock, DynamoDB, ElastiCache, S3, RDS e Aurora, WAF, Shield, bots, rate limits, CloudWatch, X-Ray, certificados e Route 53               |
| [Cloudflare](/pt-br/documentacao/guias/plataforma/migracao/cloudflare-guia-migracao/) | Pages, Workers, redirecionamentos e headers, cache, balanceamento de carga, imagens, Workers AI, Workers KV, R2, D1, WAF, proteção DDoS, bots, rate limits, analytics e logs, certificados e DNS                                                  |
| [Fastly](/pt-br/documentacao/guias/plataforma/migracao/fastly-guia-migracao/)         | Serviços, Compute, VCL, redirecionamentos e headers, cache, balanceamento de carga, Image Optimizer, streaming e WebSockets, KV stores, Object Storage, Next-Gen WAF, proteção DDoS, bots, rate limits, logging e certificados                    |
| [Vercel](/pt-br/documentacao/guias/plataforma/migracao/vercel-guia-migracao/)         | Projetos, funções, redirecionamentos e headers, cache, imagens, rotas de IA, Edge Config, Blob, firewall, bots, rate limits, acesso à conta, observabilidade, Speed Insights e Web Analytics, certificados e DNS                                  |

---

## Pré-requisitos

- Uma conta Azion. Para abrir uma, consulte [Criar uma conta](/pt-br/documentacao/fundamentos/criar-uma-conta/).
- O endereço da origem atual: um nome de host, um endereço IPv4 ou IPv6 ou um bucket do [Object Storage](/pt-br/documentacao/plataforma/object-storage/).
- Acesso aos registros DNS do domínio no seu provedor de DNS.
- (Opcional) A [Azion CLI](/pt-br/documentacao/devtools/cli/), para desenvolvimento local e deploy.

> **nota**
>
> Com o plano de suporte **Business** ou superior, o [Integration Services](/pt-br/documentacao/servicos/integration-services/) dá acesso a especialistas da Azion durante a migração. Para os planos, consulte os [Serviços de Suporte da Azion](https://www.azion.com/pt-br/servicos-profissionais/).

---

## Registre a origem como um connector

Um connector informa à Azion de onde buscar o conteúdo e o código da aplicação. Para criá-lo no Azion Console:

1. **Abra a página Connectors**

   Acesse [Azion Console](https://console.azion.com/) > **Connectors**.

2. **Selecione + Connector**

3. **Selecione o tipo do connector**

   Em **Connector Type**, selecione *HTTP* para um nome de host ou um endereço IP, ou *Object Storage* para um bucket.

4. **Insira a origem**

   Em **Address**, insira o endereço da origem. Se a origem responde a um virtual host diferente desse endereço, insira-o em **Host Header**.

5. **Selecione Save**

O connector está pronto para ser definido como origem da aplicação. Para as demais opções de conexão, consulte [Connectors](/pt-br/documentacao/plataforma/connectors/).

---

## Crie a aplicação

A aplicação guarda as regras, as configurações de cache e as funções que servem o conteúdo. Para partir de um template, abra [Templates e integrações](/pt-br/documentacao/plataforma/marketplace/) e faça o deploy de um; o [Azion Starter Kit](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/azion-starter-kit/) oferece um projeto básico para explorar a plataforma, e a [lista completa de templates](/pt-br/documentacao/plataforma/marketplace/templates/) cobre os frameworks mais comuns. Para partir do seu próprio código, consulte [Primeiros passos com Applications](/pt-br/documentacao/plataforma/applications/primeiros-passos/).

Para rotear a aplicação para o connector:

1. **Abra a aplicação**

   Acesse [Azion Console](https://console.azion.com/) > **Applications** > **sua aplicação**.

2. **Abra a aba Rules Engine**

3. **Edite a regra padrão**

   Edite a regra padrão ou adicione uma regra para a fase de requisição.

4. **Defina o critério**

   Em **Criteria**, defina **If `${uri}` starts with `/`**, para que a regra cubra toda a aplicação.

5. **Defina o comportamento**

   Em **Behavior**, selecione **Set Connector** e selecione o connector.

6. **Selecione Save**

As requisições que chegam à aplicação agora são buscadas no connector. Para as demais configurações, consulte [Applications](/pt-br/documentacao/plataforma/applications/).

---

## Exponha a aplicação em um workload

Um workload dá à aplicação o seu domínio Azion e recebe o domínio personalizado depois. Para criá-lo:

1. **Abra a página Workloads**

   Acesse [Azion Console](https://console.azion.com/) > **Workloads**.

2. **Selecione + Workload**

3. **Nomeie o workload e escolha a infraestrutura**

   Insira um **Name**. Em **Infrastructure**, selecione *Production*. Essa escolha não pode ser alterada depois que o workload é salvo.

4. **Insira o domínio personalizado**

   Em **Subdomain** e **Domain**, insira o nome de host ao qual a aplicação responde. Por exemplo: `www` e `example.com`.

5. **Selecione a aplicação**

   Em **Applications**, selecione a aplicação.

6. **(Opcional) Selecione um firewall**

   Em **Firewall**, selecione o firewall que protege a aplicação.

7. **Selecione o certificado**

   Em **Digital Certificate**, selecione o certificado do domínio, ou o certificado SAN da Azion para usar o domínio do workload.

8. **Selecione Save**

A Azion gera o domínio do workload, no formato `xxxxxxxxxx.map.azionedge.net`. É o endereço para o qual o domínio personalizado vai apontar.

---

## Teste a aplicação antes de mover o domínio

Enquanto o DNS público ainda aponta para o provedor atual, o seu computador pode alcançar a aplicação na Azion pelo arquivo `hosts`. É aqui que um erro de configuração da migração aparece antes que qualquer usuário o veja. Para fazer o staging da aplicação:

1. Resolva o domínio do workload para encontrar os endereços que o servem:

   ```bash
   host xxxxxxxxxx.map.azionedge.net
   ```

   A resposta lista o domínio e um ou mais endereços:

   ```bash
   xxxxxxxxxx.map.azionedge.net has address 200.0.0.0
   ```

2. No arquivo `hosts` do seu computador, adicione uma linha que mapeia o domínio personalizado para um desses endereços.

3. Abra o domínio personalizado em uma janela privada do navegador, para que uma resposta de DNS em cache não leve você ao provedor atual.

A aplicação carrega da Azion sob o seu próprio domínio. Para a localização do arquivo `hosts` em cada sistema operacional, consulte [Teste uma aplicação pelo arquivo hosts](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/primeiros-passos/testar-edge-application-atraves-do-arquivo-hosts/).

---

## Aponte o domínio para o workload

A mudança de DNS é a virada: quando o domínio passa a resolver para o workload, os usuários alcançam a aplicação pela Azion. Para apontar o domínio:

1. Faça login no seu provedor de DNS e abra os registros do domínio.

2. Crie ou edite o registro CNAME do subdomínio, apontando-o para o domínio do workload:

   | Name  | Value                          | Type  |
   | ----- | ------------------------------ | ----- |
   | `www` | `xxxxxxxxxx.map.azionedge.net` | CNAME |

3. Salve o registro.

Mudanças de DNS levam tempo para propagar. Para verificar o que os resolvers respondem, consulte [Encontre servidores DNS com o comando DIG](/pt-br/documentacao/guias/seguranca-de-aplicacoes/dns/executar-o-comando-dig/).

> **nota**
>
> Nem todo provedor aceita um registro CNAME no ápice do domínio. Para apontar o ápice, [migre os nameservers para a Azion](/pt-br/documentacao/guias/plataforma/migracao/migrar-ns-para-a-azion/). Para as configurações do domínio personalizado no Console, consulte [Aponte um domínio para um workload](/pt-br/documentacao/guias/plataforma/migracao/apontar-dominio-para-a-azion/).

---

## Próximos passos

- [Real-Time Metrics](/pt-br/documentacao/plataforma/real-time-metrics.md): Acompanhe requisições, dados transferidos, códigos de status e offload de cache em dashboards e na API GraphQL.
- [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events.md): Leia os logs de requisições, funções e eventos de WAF para diagnosticar a aplicação migrada.
- [Web Application Firewall](/pt-br/documentacao/plataforma/firewall.md#waf): Proteja a aplicação contra SQL injection, XSS e outros ataques na camada de aplicação.
- [DDoS Protection](/pt-br/documentacao/plataforma/workloads.md#ddos-protection): Entenda a proteção sempre ativa contra ataques volumétricos e de protocolo.
- [Functions](/pt-br/documentacao/plataforma/functions.md): Execute código no caminho da requisição da aplicação.
- [Rules Engine](/pt-br/documentacao/plataforma/applications/rules-engine.md): Reconstrua as regras de tráfego do provedor anterior.
