Migre da Cloudflare para a Azion
Migre um projeto da Cloudflare para a Azion: faça o deploy, recrie Workers, regras e cache, mova dados de KV, R2 e D1 e troque o DNS.
Um projeto na Cloudflare se distribui entre builds do Pages, Workers, arquivos de roteamento, namespaces KV, buckets R2, bancos de dados D1, regras de segurança e DNS. Movê-lo significa recriar cada um desses itens na Azion e confirmar que o projeto responde corretamente antes da mudança de DNS.
Na Azion, uma aplicação e suas regras assumem a entrega, o roteamento e o cache. Functions executa o código dos Workers. KV Store, Object Storage e SQL Database guardam os dados. Firewall filtra o tráfego, um workload atende o domínio e Edge DNS responde pela zona. Real-Time Metrics, Real-Time Events e Data Stream mostram o que acontece com cada requisição.

Cada etapa deste guia move uma camada, na ordem em que uma migração acontece: inventário, deployment, código e regras, dados, segurança, monitoramento e DNS. A maior parte do código migra com mudanças pontuais: como uma função lê variáveis, como abre o armazenamento e como chama um modelo. Quando um downtime próximo de zero não é um requisito, migre em fases com janelas de manutenção. As gravações param durante cada passo, então os dados não precisam de sincronização paralela.
Os pré-requisitos e os procedimentos desta página mudam conforme a interface que você seleciona:
Pré-requisitos
- Uma conta Azion. Para abrir uma, cadastre-se no Azion Console. Para mais informações, consulte Crie uma conta.
- A conta Cloudflare, com acesso aos seus projetos, Workers, armazenamentos de dados e zonas DNS.
- Acesso aos registros DNS ou ao registrador de cada domínio que você move.
curledig, para verificar as respostas HTTP e as respostas DNS.
- Acesso ao Azion Console. Para entrar, consulte Acesse Azion Console.
Faça o inventário da conta Cloudflare
Mova um projeto primeiro. Escolha um que teste o caminho completo e ainda migre rápido. Um bom primeiro projeto tem um build, alguns redirecionamentos, algumas variáveis de ambiente, um Worker e uma quantidade de dados gerenciável. Use-o para documentar o processo e depois mova os próximos projetos na mesma ordem. Mantenha o primeiro deployment pequeno e comprove que ele faz o build e roda na Azion antes de mover domínios, armazenamento ou bancos de dados.
Antes de criar qualquer coisa na Azion, liste o que o projeto usa:
- Projetos do Pages, seus comandos de build, diretórios de saída e presets de framework.
wrangler.tomle as configurações de CI/CD que fazem o deploy do projeto.- Variáveis de ambiente e secrets, das configurações do Pages, do
wrangler.toml, dos secrets gerenciados pela CLI e das configurações de CI/CD. - Workers, suas rotas e os bindings que cada um lê.
- Arquivos
_redirectse_headerse regras de redirecionamento, origens, transformações e cache. - Pools do Load Balancing e suas origens.
- Transformações de imagem e chamadas ao Workers AI.
- Namespaces do Workers KV, buckets R2 e bancos de dados D1.
- Domínios personalizados, zonas e registros DNS, DNSSEC e certificados.
- Regras de WAF, configurações de bots, regras de rate limiting e configurações de DDoS.
- Dashboards de analytics e exportações de logs.
Cada item da lista corresponde a uma etapa deste guia. A tabela em Mapeie cada produto da Cloudflare para a Azion indica o destino de cada um.
Mapeie cada produto da Cloudflare para a Azion
Todo produto da Cloudflare do inventário tem um destino na Azion. Encontre o produto na primeira coluna e mova-o com a etapa que indica seu destino. Um traço (-) na última coluna significa que a Azion não tem um equivalente direto.
| Produto da Cloudflare | O que cobre | Destino na Azion |
|---|---|---|
| Agents | Agentes com IA na plataforma de desenvolvimento | AI Inference e Functions |
| AI Crawl Control | Controle de acesso para crawlers de IA | Firewall, Network Shield e Functions |
| AI Gateway | Observação, cache, rate limiting e controle de tráfego de IA | Functions, Cache, Real-Time Events e Data Stream |
| AI Search | Pipelines gerenciados de recuperação e busca | SQL Database, com vector search, e AI Inference |
| Analytics | Analytics dos serviços da Cloudflare | Real-Time Metrics, Real-Time Events, Data Stream e Edge Pulse |
| API Shield | Descoberta de APIs, validação de schema, mTLS e controles | Firewall, Web Application Firewall, Network Shield e Certificate Manager |
| Bots | Detecção e mitigação de tráfego automatizado | Bot Manager e Bot Manager Lite |
| Cache | Comportamento do cache da CDN | Cache, incluindo Tiered Cache |
| Cloudflare for Platforms | Plataformas construídas sobre serviços da Cloudflare | Azion API e Marketplace |
| Cloudflare Images | Armazenamento, redimensionamento, otimização e entrega de imagens | Image Processor, com as imagens armazenadas no Object Storage |
| Cloudflare Network Firewall | Firewall como serviço para tráfego de rede | Firewall e Network Shield |
| D1 | Banco de dados SQL serverless construído sobre SQLite | SQL Database |
| DDoS Protection | Proteção contra ataques DDoS | DDoS Protection |
| Digital Experience Monitoring | Experiência de usuário, dispositivo, rede e aplicação | Edge Pulse e Real-Time Metrics |
| DNS | DNS autoritativo e segurança de DNS | Edge DNS |
| Dynamic Workers | Workers isolados criados sob demanda | Functions |
| KV | Armazenamento chave-valor global | KV Store |
| Load Balancing | Distribuição de tráfego entre origens | Load Balancer, um módulo de Connectors |
| Logs | Exportação, consulta e gerenciamento de logs | Real-Time Events e Data Stream |
| Origin Rules | Configurações de origem e roteamento de requisições para origens | Applications e Connectors |
| Pages | Deployments de frontend e full-stack | Applications, atendido por um workload, e Azion CLI |
| R2 | Armazenamento de objetos compatível com S3 | Object Storage |
| Rate limiting | Limites de taxa de requisições | Firewall e Functions |
| Rules | Lógica de requisição, roteamento, cache, transformação e segurança | Applications, Firewall e Functions. Functions também pode rodar dentro de um firewall |
| Secrets Store | Secrets para workloads de desenvolvimento | Variáveis de ambiente, armazenadas como secrets |
| Smart Shield | Proteção e otimização do acesso à origem | Cache com Tiered Cache, Application Accelerator e Origin Shield, um módulo de Connectors |
| SSL/TLS | Certificados, modos de criptografia e configurações de TLS | Certificate Manager e Edge DNS |
| Terraform | Gerenciamento de recursos com Terraform | Terraform Provider |
| Transform Rules | Alterações de requisição e resposta | Applications, por meio do Rules Engine, e Functions |
| Vectorize | Banco de dados vetorial para embeddings e busca semântica | SQL Database, com vector search |
| WAF | Regras de web application firewall | Web Application Firewall |
| Workers | Computação serverless | Functions |
| Workers AI | Inferência de IA em modelos hospedados | AI Inference |
A Azion possui um relatório SOC 2 Type 2 e um relatório SOC 3 e é PCI DSS 4.0.1 Level 1 Service Provider. Para as atestações, consulte SOC 2 e SOC 3 e Certificação PCI DSS.
Faça o deploy do projeto na Azion
Na Azion, um projeto do Pages se torna uma aplicação, e um workload atende essa aplicação em um domínio. A Cloudflare guarda a configuração de build no wrangler.toml. A Azion a guarda no azion.config.js, que também pode ser azion.config.mjs ou azion.config.cjs, conforme o preset.
| Tarefa | Cloudflare | Azion CLI |
|---|---|---|
| Instalar | npm i -D wrangler@latest | curl -fsSL https://cli.azion.app/install.sh | bash, ou brew install azion |
| Entrar | npx wrangler login | azion login |
| Rodar localmente | npx wrangler pages dev ./dist | azion dev |
| Fazer o deploy | npx wrangler pages deploy ./dist | azion link, depois azion deploy |
A Azion suporta 19 frameworks e 5 presets genéricos. Azion Console importa um repositório com um de seis presets, e Azion CLI pede o preset em um seletor.
A API cria a aplicação, suas regras e o workload, um recurso por vez. Para montar essa cadeia, consulte Primeiros passos com Applications.
O deployment responde em um domínio de workload que a Azion atribui sob map.azionedge.net. Antes de mover qualquer domínio de produção, envie uma requisição para o caminho raiz, com esse domínio no lugar de <your-workload-domain>:
A resposta traz o status, os headers e o corpo que o projeto retorna para /. Envie a mesma requisição para cada rota crítica.
Se o build falhar na Azion, compare o preset com o framework do projeto e verifique build.preset, build.entry e build.bundler no azion.config.js. O bloco build não tem campo de comando.
Mova as variáveis de ambiente
Variáveis de ambiente guardam chaves de API, credenciais de banco de dados, secrets de autenticação, endpoints de serviços, feature flags e configurações por ambiente. Uma variável que não chega à Azion quebra o projeto em tempo de execução, mesmo quando o deployment tem sucesso.
Na Cloudflare, um Worker lê uma variável do parâmetro env. Na Azion, as variáveis pertencem à conta, até 100 delas, e uma função as lê com Azion.env.get(). Cada variável tem uma chave, um valor e uma flag que a marca como secret.
Para criar as variáveis no Azion Console, abra a página Variables do menu Account e crie cada variável com sua chave e seu valor. Transforme em secret uma variável que guarda uma credencial.
Depois altere o código que lê as variáveis:
Uma função em produção também lê uma variável como process.env.API_KEY. No azion dev, uma função lê o arquivo .env do projeto em vez das variáveis da conta, ou todo o ambiente do shell quando não há arquivo .env. Se uma função informar que uma variável não foi encontrada, confirme que a variável existe na conta e que o código a lê com Azion.env.get().
Mova Workers para Functions
Os Workers costumam carregar a lógica mais crítica de um projeto: autenticação, personalização, orquestração de APIs e integrações com serviços de terceiros. Na Azion, esse código roda em Functions. Uma função guarda o código, uma instância de função o executa em uma aplicação, e uma regra decide quais requisições chegam até ela.
| Aspecto | Cloudflare Workers | Azion Functions |
|---|---|---|
| Handler | fetch(request, env, ctx) | fetch(request, env, ctx) |
| Variáveis | env.VARIABLE | Azion.env.get('VARIABLE') |
| Memória | 128 MB em todos os planos | 512 MB por isolate, em todos os planos |
| Cold start | Possível | Nenhum |
O handler mantém sua assinatura, mas env é um objeto vazio em uma função em produção, e ctx traz args e waitUntil. Qualquer valor que um Worker lê de um binding em env passa para uma variável, ou para a API de runtime do seu armazenamento:
A geolocalização passa de request.cf para request.metadata:
No azion dev, request.metadata é undefined. Teste o código que o lê em uma função em produção.
O código que lê Workers KV, D1 ou Workers AI também muda suas chamadas. As etapas Mova dados do Workers KV para KV Store, Mova bancos de dados D1 para SQL Database e Mova Workers AI para AI Inference mostram as novas chamadas. Para as APIs de runtime, consulte Web APIs.
Recrie redirecionamentos e reescritas
Redirecionamentos protegem rankings de busca, links de campanhas, backlinks e favoritos. Quando um redirecionamento quebra, o resultado é perda de tráfego e jornadas de usuário interrompidas. A Cloudflare os guarda em um arquivo _redirects. A Azion os guarda nas regras da aplicação, que você escreve no Azion Console, na API ou no azion.config.js.
| Aspecto | Cloudflare | Azion |
|---|---|---|
| Configuração | Arquivo _redirects | Rules Engine para Applications |
| Correspondência de padrões | Padrões glob (/*) | Expressões regulares com o operador matches, como ^/.*$, além de starts_with e is_equal |
| Valores capturados | :splat, :placeholder | %{name[index]}, como %{capture[1]} e %{capture[2]}, de um comportamento Capture Match Groups na mesma regra |
Converta cada padrão em uma expressão regular:
| Padrão da Cloudflare | Expressão regular da Azion |
|---|---|
/old-page | ^/old-page$ |
/blog/* | ^/blog/(.*)$ |
:splat | %{capture[1]}, com capture como nome do array |
Os critérios de uma regra selecionam as requisições, mas não capturam nada. Para reutilizar parte do caminho no destino, adicione um comportamento Capture Match Groups antes do redirecionamento, na mesma regra. Capture Match Groups requer Application Accelerator na aplicação. O array é local, então só a regra que o captura pode lê-lo.
Para criar o redirecionamento com Azion CLI, adicione a regra às rules da aplicação no azion.config.js. Dê a ela os comportamentos capture_match_groups e redirect_to_301 e execute azion deploy. Para os campos de uma regra, consulte azion.config.js.
Para verificar o redirecionamento, requisite um caminho antigo:
A resposta traz 301 Moved Permanently e um header location que termina em /blog/post. Uma regra nova pode levar alguns minutos para se propagar. Diante de uma resposta inesperada, aguarde e tente de novo antes de diagnosticar.
Para servir conteúdo de outro caminho sem redirecionamento, use Rewrite Request com as mesmas capturas. Em mudanças sensíveis para SEO, prefira redirecionamentos permanentes, evite cadeias de redirecionamento, mantenha os caminhos canônicos consistentes e teste os caminhos com e sem barra final.
Recrie headers personalizados
Headers controlam o cache, a segurança e o comportamento do navegador. A Cloudflare os guarda em um arquivo _headers, apenas para respostas. A Azion os adiciona com regras em qualquer uma das fases: Add Request Header altera a requisição enviada à origem, e o mesmo comportamento em uma regra da Response Phase altera a resposta enviada ao usuário.
| Aspecto | Cloudflare | Azion |
|---|---|---|
| Configuração | Arquivo _headers | Rules Engine para Applications, no Azion Console, na API ou no azion.config.js |
| Fases | Apenas resposta | Requisição e resposta |
| Valores dinâmicos | Não suportado | Variáveis de regra, como ${uri}, ${host} ou ${geoip_city_country_code} |
Este azion.config.js adiciona dois headers de segurança a toda resposta da aplicação:
O valor tem o formato Name: value, e o Console recusa qualquer outro formato com Header must follow the header-name: value format. Um workload precisa atender a aplicação para que os headers cheguem a um domínio. Execute azion deploy e depois verifique uma resposta:
A resposta traz x-frame-options: SAMEORIGIN e x-content-type-options: nosniff.
Recrie as configurações de cache
Na Azion, uma configuração de cache define por quanto tempo uma resposta fica em cache e o que faz duas requisições compartilharem uma cópia em cache. Uma regra com Set Cache Policy aplica a configuração às requisições a que corresponde. A regra seleciona uma configuração, e a configuração guarda o TTL e a chave de cache.
| Aspecto | Cloudflare | Azion |
|---|---|---|
| Níveis de cache | Regional Tiered Cache, Smart Tiered Cache, cache da rede e navegador | Cache, Tiered Cache e cache do navegador |
| Chave de cache | Personalizável | Personalizável na configuração de cache, com os controles Cache vary by, que requerem Application Accelerator |
| TTL | Por page rule | Max Age de cada configuração de cache, de 0 a 31.536.000 segundos |
| Purge | URL, tag, host e prefixo | URL, chave de cache e wildcard |
| Conteúdo expirado | stale-while-revalidate | Stale cache, que entrega uma cópia expirada quando a revalidação falha |
Max Age tem padrão de 60 segundos. Um valor abaixo de 60 requer Application Accelerator, e uma configuração de cache com Tiered Cache ativado precisa de pelo menos 3 segundos e de Override cache behavior. Stale cache respeita o stale-while-revalidate que a origem envia, ou mantém uma janela de 300 segundos com Override cache behavior. Ele vem ativado por padrão no Azion Console e desativado na API e na CLI.
As flags da CLI não definem o TTL do cache, o comportamento do cache nem Tiered Cache. Envie o corpo completo da configuração de cache a partir de um arquivo com --file, como mostra Primeiros passos com Cache.
Para variar o cache por query string, cookie ou dispositivo, use os controles Cache vary by da configuração de cache: Cache vary by Query String, Cache vary by Cookies e Cache vary by Devices. Eles requerem Application Accelerator na aplicação. Cache vary by Devices com o comportamento Allowlist mantém uma cópia para cada grupo de dispositivos que você seleciona, entre os grupos da aba Device Groups da aplicação. Para os controles, consulte Variação de cache.
Para fazer purge de conteúdo em cache, envie uma requisição POST para o endpoint de purge do tipo correspondente:
Purge é um endpoint de nível superior, não aninhado em applications. Um purge por URL aceita até 50 itens, e um purge por wildcard aceita uma expressão. Só um purge por chave de cache, em /v4/workspace/purge/cachekey, alcança Tiered Cache com "layer": "tiered_cache". Um purge por URL ou wildcard com essa camada falha com 30001. Para os tipos de purge, consulte Real-Time Purge.
Balanceie o tráfego entre origens
Na Azion, Load Balancer é um módulo de um connector, não um recurso separado. Um connector do tipo http guarda cada origem como um endereço, até 15 endereços com Load Balancer ativado e um endereço sem ele. Uma regra com Set Connector envia as requisições da aplicação para o connector.
| Aspecto | Cloudflare Load Balancing | Azion Load Balancer |
|---|---|---|
| Métodos de balanceamento | Round-robin, menos conexões, aleatório e direcionamento geográfico | Round Robin, Least Connections e IP Hash, que são round_robin, least_conn e ip_hash na API. Nenhum método direciona por localização |
| Health checks | Monitores HTTP, HTTPS e TCP | Nenhum. O failover é passivo: Max Retries e os timeouts tratam uma conexão que falhou |
| Failover | Ativo-passivo e ativo-ativo | Vários endereços Primary com pesos e endereços Backup que recebem tráfego apenas quando todos os primários falham |
| Afinidade de sessão | Cookie e hash de IP | Apenas IP Hash, que associa cada endereço IP de cliente a um endereço |
| Origens | Pools de origens | Endereços de um connector |
Cada endereço tem um Weight de 1 a 100, que define sua parcela do tráfego. IP Hash recusa endereços Backup, com 28005 na API. Max Retries aceita de 0 a 20, Connection Timeout de 1 a 300 segundos e Read/Write Timeout de 1 a 600 segundos. Esses campos existem apenas com Load Balancer ativado. Quando você o ativa no Azion Console, o formulário preenche Round Robin, 3, 30 e 60. Os padrões da API são 0, 60 e 120.
O comando de atualização precisa do corpo completo do connector. Coloque-o em um arquivo JSON e envie-o com --file, como mostra Primeiros passos com Load Balancer.
Para os campos do connector, consulte Configurações de connectors.
Entregue imagens otimizadas
Image Processor redimensiona, recorta, converte e aplica filtros a imagens sob demanda. Ele não armazena nada: lê a imagem de origem da origem da aplicação, que pode ser um bucket do Object Storage atrás de um connector.
| Aspecto | Cloudflare Images | Azion Image Processor |
|---|---|---|
| Armazenamento | Armazenamento integrado | A origem da aplicação, como Object Storage |
| Transformações | Redimensionamento, formato e qualidade | Redimensionamento, formato, qualidade, recorte, rotação, preenchimento e marca d’água |
| Formato de URL | /cdn-cgi/image/<OPTIONS>/<SOURCE-IMAGE> | /image.png?ims=<OPTIONS> |
| Formatos | WebP e AVIF | WebP, AVIF, JPEG, GIF e PNG |
| URLs assinadas | Suportadas | Por meio da integração Secure Token em um firewall |
Image Processor funciona em dois passos: ative o módulo na aplicação e depois crie uma regra com o comportamento Optimize Images. Uma requisição que nenhuma regra desse tipo atende é entregue sem processamento.
Para ativar Image Processor com Azion CLI, siga o painel CLI de Primeiros passos com Image Processor.
Image Processor lê a transformação do parâmetro de query ims:
| Sintaxe | Resultado | Exemplo |
|---|---|---|
?ims=WxH | Redimensiona para a largura e a altura, recortando para caber quando ambas estão definidas | ?ims=400x300 |
?ims=Wx | Redimensiona para a largura, com a altura proporcional | ?ims=400x |
?ims=xH | Redimensiona para a altura, com a largura proporcional | ?ims=x300 |
?ims=fit-in/WxH | Encaixa a imagem dentro das dimensões, sem nunca ampliá-la | ?ims=fit-in/400x300 |
?ims=fit-in/WxH/filters:fill(Color) | Encaixa a imagem e preenche o restante da área com uma cor | ?ims=fit-in/400x300/filters:fill(white) |
Image Processor converte para WebP quando o header Accept do cliente permite. AVIF precisa de ?ims=filters:format(avif) e de um cliente que aceite image/avif. Para manter em cache uma cópia para cada valor de ims, ative Application Accelerator e varie o cache por query string. Para cada parâmetro, consulte Parâmetros de URL.
Mova Workers AI para AI Inference
AI Inference executa um catálogo de modelos open source: large language models, vision language models, um modelo de embedding e um reranker. Um modelo não é um objeto que você cria, e a Azion não hospeda um endpoint de inferência para ele. Uma função chama um modelo pelo seu ID com Azion.AI.run() e não precisa de credencial:
| Aspecto | Cloudflare Workers AI | Azion AI Inference |
|---|---|---|
| Modelos | Modelos hospedados pela Cloudflare | Um catálogo de modelos open source. Para adaptar um modelo, use fine-tuning com LoRA |
| Interface | API REST | Azion.AI.run() dentro de uma função |
| Tipos de modelo | Geração de texto, imagem e fala | LLMs, vision language models, um modelo de embedding e um reranker |
No azion dev, Azion.AI é undefined. Teste a chamada em uma função em produção. Para os campos da requisição, consulte Invocação de modelos e a API de runtime de IA.
Para um endpoint /v1/chat/completions compatível com OpenAI, faça o deploy do template AI Inference Starter Kit. Ele cria uma aplicação e uma função que atendem esse endpoint. Para fazer o deploy, acesse Azion Console > Create, selecione o template e selecione Deploy. Azion CLI não tem flag de template.
Mova dados do Workers KV para KV Store
KV Store guarda configurações, feature flags, estado de sessão, tabelas de roteamento e preferências por usuário. Uma função abre um namespace com Azion.KV.open(), um global do runtime que não precisa de linha de import:
Azion.KV.open() é o único ponto de entrada e é assíncrono. O namespace precisa existir antes, ou open() lança NotFound. get() retorna null para uma chave inexistente, assim como para uma chave expirada.
KV Store não tem importação em massa, e nenhuma API, comando da CLI ou tela do Console lê ou grava chaves. Para mover os dados:
- Exporte as chaves da Cloudflare pela API dela.
- Crie o namespace com uma requisição
POSTparahttps://api.azion.com/v4/workspace/kv/namespaces. O nome aceita de 3 a 63 caracteres, diferencia maiúsculas de minúsculas e é permanente: um namespace não pode ser renomeado nem excluído. - Grave as chaves a partir de uma função em produção com
kv.put().
A função grava uma chave no máximo uma vez por segundo. Um valor aceita até 25 MB, uma chave até 512 bytes e os metadados até 1.024 bytes. Associe cada TTL da Cloudflare à opção expiration, em segundos Unix, ou a expirationTtl, em segundos com mínimo de 60. Uma gravação fica visível em todos os lugares em até 60 segundos, ou dentro do cacheTtl da leitura. Antes da importação, revise os prefixos das chaves, os formatos dos valores e o código que trata uma chave inexistente. Para o cliente, consulte API de runtime do KV Store.
Mova buckets do R2 para Object Storage
Object Storage guarda imagens, documentos, assets estáticos, mídia, uploads e arquivos gerados. Ele fala o protocolo S3, então ferramentas e SDKs S3 o alcançam com um novo endpoint, uma região e um par de chaves.
| Aspecto | Cloudflare R2 | Azion Object Storage |
|---|---|---|
| Endpoint | <ACCOUNT_ID>.r2.cloudflarestorage.com | s3.us-east-005.azionstorage.net |
| Região | auto | us-east-005 |
| Transferência de dados | Gratuita | Sem cobrança de transferência de dados no Object Storage. A entrega aos usuários passa por um workload, cobrada como transferência de dados de Workloads |
O par de chaves vem de uma credencial do Object Storage. Crie-a no Azion Console ou com uma requisição POST para https://api.azion.com/v4/workspace/storage/credentials. A secret_key só volta na resposta de criação. Para migrar, a credencial precisa de pelo menos listBuckets, listFiles e writeFiles, além de listAllBucketNames para listar os buckets.
Um script de migração em Node.js alcança Object Storage com o AWS SDK:
Para copiar os dados com o s3cmd, crie antes o bucket de destino no Azion Console, na API ou na CLI. O s3cmd não cria nem remove um bucket na Azion: s3cmd mb e s3cmd rb são recusados com 403 AccessDenied. Um nome de bucket aceita de 6 a 63 caracteres, é único entre todas as contas e não pode começar com azion.
-
Execute
s3cmd --configure -c ~/.s3cfg-azione informe estes valores:- Access Key e Secret Key: o par de chaves da credencial.
- Default Region:
us-east-005. - S3 Endpoint:
s3.us-east-005.azionstorage.net. - DNS-style bucket+hostname template:
%(bucket).s3.us-east-005.azionstorage.net. - Use HTTPS protocol:
true.
-
Configure um segundo arquivo,
~/.s3cfg-r2, com o endpoint e as chaves do bucket R2. Uma configuração do s3cmd guarda um endpoint. -
Baixe os objetos do R2:
-
Envie-os para a Azion:
Os objetos estão no bucket da Azion. Para verificar, liste-os com s3cmd -c ~/.s3cfg-azion ls s3://azion-bucket/. s3cmd ls sem bucket lista todos os buckets, o que exige listAllBucketNames na credencial. s3cmd sync s3://source-bucket/ s3://dest-bucket/ copia apenas entre dois buckets do mesmo provedor. Outros comandos funcionam da mesma forma: s3cmd put file.png s3://my-bucket/ envia um objeto, e s3cmd get s3://my-bucket/file.png baixa um. O rclone, a AWS CLI e outras ferramentas S3 também funcionam.
Azion Console recusa um upload individual acima de 300 MB. A API e as ferramentas S3 não estão sujeitas a esse limite. Antes da migração, mapeie os buckets, os prefixos de objetos, os assets públicos e privados e a lógica de URLs assinadas. O acesso do bucket aos workloads é read_only, read_write ou restricted, e uma credencial funciona de forma independente dele. A entrega pública passa por um connector e uma aplicação, não pelo endpoint S3. Para as operações S3, consulte Compatibilidade com S3 e Use ferramentas compatíveis com S3. Para os buckets e seus objetos, consulte Crie e modifique um bucket, Faça upload e download de objetos, Use um bucket como origem e a biblioteca Storage.
Mova bancos de dados D1 para SQL Database
SQL Database usa o dialeto SQLite e é totalmente compatível com ACID. Uma instância principal recebe todas as gravações, e réplicas de leitura respondem às leituras. SQL Database está em Preview em todos os planos.
| Aspecto | Cloudflare D1 | Azion SQL Database |
|---|---|---|
| Conexão | Binding env.DB | Database.open() do global Azion.Sql |
| Dialeto SQL | SQLite | SQLite |
| Gravações pelo código | Pelo binding | Pela API. Uma conexão de runtime é somente leitura |
| Vector search | Suportado | Suportado, com colunas vetoriais, libsql_vector_idx e vector_top_k. Consulte Vector search |
Uma função lê o banco de dados por uma conexão somente leitura com uma réplica. Azion.Sql é um global, e o import azion:sql faz o build falhar:
rows.next() retorna a próxima linha, ou null depois da última, e row.getString(i) lê uma coluna pelo índice. Um insert ou delete pela conexão falha com attempt to write a readonly database. No azion dev, Azion.Sql é undefined, então teste o código em uma função em produção. Para scripts do lado do servidor e ferramentas de build, o pacote @aziontech/sql gerencia bancos de dados pela API.
Para mover os dados, exporte o banco de dados D1 para um arquivo SQL:
Crie o banco de dados na Azion. Depois execute as instruções do dump por um destes caminhos:
- A API: envie as instruções no array
statementsde uma requisiçãoPOSTparahttps://api.azion.com/v4/workspace/sql/databases/<database-id>/query. Uma instrução que falha ainda retorna HTTP200, com uma chaveerrorno lugar deresults. - O EdgeSQL Shell:
.read dump.sqlexecuta o script. O shell não inicia em uma instalação limpa, então verifique EdgeSQL Shell antes de depender dele. Para instalá-lo, consulte Instale o SQL Shell.
Azion CLI não tem comando para SQL Database. Para os outros formatos de importação, consulte Importe dados para SQL Database. Para a API de runtime, consulte API de runtime do SQL Database.
Proteja a aplicação com WAF
Web Application Firewall pontua as requisições em relação a oito famílias de ameaças: cross-site scripting, directory traversal, evading tricks, file upload, identified attack, remote file inclusion, SQL injection e unwanted access. Um conjunto de regras WAF guarda uma sensibilidade para cada família, e uma regra de firewall o aplica com Set WAF.
| Aspecto | Cloudflare WAF | Azion WAF |
|---|---|---|
| Linguagem de regras | Linguagem de expressões | Critérios do Rules Engine para Firewall |
| Regras gerenciadas | Rulesets gerenciados pela Cloudflare | Um ruleset gerenciado, pontuado por família de ameaças |
| Regras personalizadas | Regras personalizadas | Rules Engine para Firewall |
| Modos | Bloqueio, desafio e log | Logging e Blocking |
mode é obrigatório em todo comportamento Set WAF e não tem padrão. Comece em Logging para verificar o que o conjunto de regras bloquearia e depois mude para Blocking. No modo Blocking, uma requisição que o conjunto de regras bloqueia recebe 400. Para evitar que uma requisição legítima corresponda, adicione uma exceção de WAF ou use a aba Tuning.
Para vincular um firewall com Azion CLI, passe --firewall-id para o deployment do workload. Para o conjunto de regras e a regra, siga Primeiros passos com WAF.
Converta cada regra personalizada da Cloudflare em critérios de firewall. As variáveis do firewall diferem das variáveis da aplicação: o caminho é ${request_uri}, e uma faixa de endereços vai em uma Network List comparada com ${network}.
O critério ${network} requer Network Shield no firewall. Para as variáveis e os operadores, consulte Rules Engine para Firewall.
Conte com DDoS Protection
DDoS Protection está ativado em todo workload, sem nada para criar e nada para configurar. Ele mitiga ataques volumétricos, de protocolo e de camada de aplicação, como floods UDP e ICMP, SYN floods, fragmentação de pacotes, floods HTTP e slowloris, nas camadas 3, 4, 6 e 7.
| Aspecto | Cloudflare DDoS Protection | Azion DDoS Protection |
|---|---|---|
| Ativação | Automática | Automática, e não pode ser desativada |
| Camadas | 3, 4 e 7 | 3, 4, 6 e 7 |
| Cobrança | Sem medição | Sem medição para as camadas 3 e 4. A mitigação na camada 7 pode gerar tráfego cobrável |
| Personalização | Regras gerenciadas e regras personalizadas | Regras de firewall personalizadas |
Um firewall mostra a chave DDoS Protection Unmetered em Main Settings > Modules, sempre ativada. Na API, modules.ddos_protection é somente leitura. DDoS Protection não tem limiares, chaves por regra nem alertas. Para uma mitigação direcionada, escreva regras personalizadas no firewall vinculado ao workload. O Security Response Team é um add-on dos suportes Enterprise e Mission-Critical. Para os tipos de ataque, consulte Mitigação de ataques.
Network Shield é um módulo diferente do firewall. Ele compara o endereço do cliente com uma Network List de endereços IP, faixas CIDR, ASNs ou países, por meio do critério ${network}. Use-o para bloquear ou permitir conjuntos de clientes, restringir países ou aplicar rate limit a um conjunto de clientes.
Recrie o gerenciamento de bots
Bot Manager pontua cada requisição e age conforme a pontuação. Bot Manager Lite é a função do Marketplace incluída em todos os planos, e Bot Manager completo está disponível no Enterprise.
| Aspecto | Cloudflare Bots | Azion Bot Manager |
|---|---|---|
| Detecção | Machine learning, heurísticas, fingerprinting e detecções JavaScript | Regras estáticas, um método comportamental dinâmico no Bot Manager completo, fingerprints de dispositivo e Network Lists de reputação |
| Desafio | Detecções JavaScript, Managed Challenge e Turnstile | Uma JavaScript Tag para fingerprinting e ALTCHA pela ação redirect |
| Ações | Allow, Managed Challenge e Block | allow, custom_html, deny, drop, hold_connection, random_delay e redirect |
| Versão Lite | Bot Fight Mode | Bot Manager Lite |
Bot Manager Lite pontua uma requisição com 26 regras estáticas, em relação a um threshold cujo padrão é 30, e executa a ação deny por padrão. Ele também pode verificar o cliente em Network Lists de reputação. Os níveis de tolerância pertencem às regras dinâmicas do Bot Manager completo, que Bot Manager Lite não tem.
Para configurar Bot Manager Lite no Azion Console:
Acesse Azion Console > Marketplace, busque Bot Manager Lite e selecione Install. A instalação tem efeito imediato.
Vá para Firewalls e selecione um firewall com o módulo Functions ativado.
Na aba Functions Instances, crie uma instância do Bot Manager Lite. Para mais informações, consulte Functions instances. Nos argumentos JSON, defina threshold e action.
Na aba Rules Engine, crie uma regra com o comportamento Run Function e a instância.
O firewall pontua as requisições do workload. Para cada argumento, consulte Instale Bot Manager Lite e Bot Manager Lite. Para saber como uma função roda em um firewall, consulte Functions para Firewall. A proteção contra bots de terceiros também está disponível pela integração Radware Bot Manager.
Para bloquear um cliente pelo seu user agent, adicione uma regra de firewall:
${header_user_agent} requer o módulo WAF no firewall e suporta apenas matches e does not match. O firewall não tem comportamento de permissão: para isentar um cliente, adicione um critério does not match à regra de bloqueio ou ordene as regras. Um cliente pode enviar qualquer user agent, então verifique um bot legítimo de outra forma. Para verificar a regra:
A resposta é 403, com a página de erro Forbidden. Uma requisição com o user agent de um navegador recebe a resposta normal.
Recrie os rate limits
A Azion limita a taxa de requisições de duas formas, e cada uma cobre uma parte diferente do que as regras de rate limiting da Cloudflare fazem. Use o comportamento nativo Set Rate Limit de uma regra de firewall para limitar as requisições por segundo ou por minuto, por endereço IP do cliente ou entre todos os clientes. Use a integração Upstash Rate Limiting, um rate limit com penalidade executado como função de firewall, para chaves personalizadas, janelas personalizadas ou um período de penalidade.
| Recurso | Set Rate Limit nativo | Função Upstash Rate Limiting |
|---|---|---|
| Chave de contagem | Endereço IP do cliente ou global | Qualquer combinação de metadados da requisição, headers e hostname |
| Janela | Por segundo ou por minuto | Qualquer intervalo em segundos ou minutos, com limites diferentes para diferentes horários do dia |
| Algoritmo | Leaky bucket, contado em cada data center | Fixed window, sliding window ou token bucket, contado globalmente |
| Resposta | 429, sem header de rate limit | 429 no limite e 403 durante uma penalidade |
| Ação apenas de log | Nenhuma | Nenhuma |
| Requisitos | Nenhum | Uma conta Upstash e Global Database |
Use o rate limit nativo
Um comportamento Set Rate Limit conta as requisições a que sua regra corresponde. Os critérios da regra definem o escopo do limite, como o caminho com ${request_uri}. Rate Limit Type é Req/s ou Req/min, e Limit By é Client IP address ou Global. Average Rate Limit aceita no mínimo 1, e Maximum Burst Size aceita no mínimo 1 e se aplica apenas a Req/s. Nenhum comportamento pode vir depois de Set Rate Limit em uma regra. Uma regra cujos critérios unem vários caminhos com or compartilha uma contagem entre todos eles.
Para criar a regra com Azion CLI, salve o corpo da regra do painel API em um arquivo. Depois passe o arquivo com --file para o comando de regra de firewall. Para os comandos, consulte Primeiros passos com Firewall.
Uma requisição além da taxa e do burst recebe 429, com a página de erro intitulada Too Many Requests. Para saber como a taxa e o burst admitem requisições, consulte Set Rate Limit.
Use o rate limit com penalidade
A função Upstash Rate Limiting mantém seus contadores em um Upstash Global Database. Por isso, ela conta cada requisição em toda a rede, e não em cada data center. Uma requisição durante uma penalidade recebe 403 Forbidden. Uma requisição válida é contada, e a função retorna 429 Too Many Requests quando a contagem atinge o limite.
Para configurá-la no Azion Console:
Acesse Azion Console > Marketplace, busque Upstash Rate Limiting e selecione Install.
Vá para Firewalls e abra um firewall com Functions ativado em Modules.
Na aba Functions Instances, crie uma instância. Em Function, selecione a função Upstash Rate Limiting e edite os Arguments em JSON.
Na aba Rules Engine, crie uma regra com critérios como Host matches yourdomain.com e o comportamento Run Function com a instância.
Execute o comando da CLI que cria o deployment do workload com o firewall:
A função conta as requisições a que a regra corresponde. Estes argumentos definem uma sliding window de 2 requisições a cada 20 segundos, da meia-noite ao meio-dia UTC, com uma penalidade de 45 segundos:
| Argumento | Descrição |
|---|---|
upstash_redis_rest_url, upstash_redis_rest_token | A URL REST e o token do banco de dados Upstash que guarda os contadores e as penalidades |
rate_limit_prefix | Um prefixo para cada chave, que mantém separadas duas instâncias da função |
rate_limit_key_metadata | Os metadados da requisição que formam a chave, como remote_addr |
rate_limit_key_header | Os headers que formam a chave |
rate_limit_key_hostname | Quando true, o hostname faz parte da chave |
rate_limit_repenalize | Quando true, cada requisição durante uma penalidade a reinicia |
rate_limits | As janelas, pelo menos uma. Quando duas janelas se sobrepõem, vale a primeira da lista |
algorithm | fixed_window, sliding_window ou token_bucket |
requests | As requisições permitidas no intervalo |
interval | A janela, como um número e s ou m. Por exemplo: "120 s" |
start, end | O horário do dia que a janela cobre, em UTC no formato de 24 horas. Os padrões são 00:00 e 23:59 |
penalty_in_seconds | Por quanto tempo um cliente que excede o limite recebe 403. Sem ele, a janela é um rate limit simples |
max_tokens, refil_rate | O tamanho do bucket e a recarga por intervalo de uma janela token_bucket. refil_rate é a grafia que a função lê |
A chave une o prefixo e cada valor que os argumentos selecionam. Neste exemplo, ela é my_rate_limit + client IP + x-a-custom-header value + hostname, como my_rate_limit_127.0.0.1_Value_azion.com. Para a configuração completa, consulte Instale a integração Upstash Rate Limiting.
Reconstrua o monitoramento
A Azion divide a observabilidade em três produtos. Real-Time Metrics mostra agregados ao longo do tempo em gráficos, Real-Time Events responde a consultas sobre requisições individuais, e Data Stream envia os logs para destinos externos.
Real-Time Metrics
| Aspecto | Cloudflare Analytics | Azion Real-Time Metrics |
|---|---|---|
| Atualização dos dados | Quase em tempo real | Até 10 minutos para agregar |
| Retenção | 30 dias nos planos gratuitos, 1 ano nos planos pagos | 2 anos, exceto 90 dias para httpBreakdownMetrics e 60 dias para botManagerBreakdownMetrics |
| Método de consulta | Dashboard e API | Dashboards, Copy query, Export CSV e a API GraphQL |
| Métricas | Requisições, largura de banda e erros | Requisições, dados transferidos, códigos de status, offload de cache e tempo médio de requisição |
| Granularidade | Agregados por minuto | 1 minuto abaixo de 2,5 dias, 1 hora até 60 dias e 1 dia acima disso |
Os dashboards de Applications mostram:
- Requests: total de requisições, requisições por método e por esquema e Average Request Time, o tempo médio em segundos que a Azion leva para processar e responder a uma requisição.
- Status Codes: as respostas 2XX, 3XX, 4XX e 5XX e a tabela Requests by Status and Upstream Status, que distingue erros da Azion de erros da origem.
- Data Transferred: dados e largura de banda economizados e perdidos e Edge Offload.
- Cache: Requests Offloaded, Saved Requests e Missed Requests.
Real-Time Metrics não informa latência, tempo até o primeiro byte nem tempo de resposta da origem. Para ler o status de cache das requisições, filtre um dashboard por Upstream Cache Status, cujos valores incluem HIT, MISS, STALE e EXPIRED. Para encontrar erros da origem, filtre por Upstream Status, que é 0 quando a origem não respondeu.
Para abrir os dashboards, acesse Azion Console > Real-Time Metrics. Ele abre em Build > Applications > Data Transferred, nos Last 5 minutes. Para restringir um dashboard a um workload, adicione o filtro Domain ou Workload. Para exportar um gráfico, abra seu menu More options e selecione Export CSV.
Para consultar os mesmos dados, envie uma consulta GraphQL para https://api.azion.com/v4/metrics/graphql:
Substitua as datas por um intervalo dentro do período de retenção. Um intervalo fora dele retorna um array vazio. limit aceita até 10.000 linhas e tem padrão 10. O dataset httpMetrics de consultas antigas ainda funciona, mas está obsoleto. Para cada campo, consulte Campos GraphQL do Real-Time Metrics e Crie dashboards. Para dashboards no Grafana, consulte Dashboards personalizados do plugin Grafana e dashboards pré-configurados. Para ler os dashboards, consulte Analise métricas. Para medições de usuários reais, use Edge Pulse.
Real-Time Events
| Aspecto | Cloudflare Logs | Azion Real-Time Events |
|---|---|---|
| Acesso | API pull e push para S3 | Consultas no Azion Console ou na API GraphQL |
| Atraso | Minutos | Até 30 segundos |
| Retenção | Configurável | 7 dias. Para uma retenção maior, use Data Stream |
| Formato | JSON | Respostas GraphQL com os campos que você seleciona |
Real-Time Events não precisa de configuração. Suas fontes de dados são HTTP Requests, Functions, Functions Console, Image Processor, Tiered Cache, Edge DNS, Data Stream e Activity History. Os resultados do WAF são campos de HTTP Requests.
Para consultar os eventos no Azion Console:
Acesse Azion Console > Products menu > Observe > Real-Time Events.
Selecione a fonte de dados, como HTTP Requests.
Defina o Time Filter, que abre nos últimos 15 minutos, e adicione condições em Filter by.
A tabela de resultados lista os eventos. Selecione uma linha para abrir o registro completo.
Para consultar os mesmos dados, envie uma consulta GraphQL para https://api.azion.com/v4/events/graphql. O dataset workloadEvents guarda as requisições HTTP:
Substitua as datas por um intervalo dentro dos últimos 7 dias. upstreamResponseTime mostra - para uma resposta entregue a partir do cache. Para cada campo, consulte Campos GraphQL do Real-Time Events e Investigue requisições com a API GraphQL.
Data Stream
| Aspecto | Cloudflare Logs | Azion Data Stream |
|---|---|---|
| Acesso | API pull e push para S3 | Push para um destino externo |
| Atraso | Minutos | Lotes de 2.000 registros ou 60 segundos, entregues em até 3 minutos |
| Retenção | Configurável | Definida pelo destino |
| Formato | JSON | Templates que selecionam os campos |
| Destinos | S3, Azure e GCS | 11 tipos, listados abaixo |
Um stream envia uma fonte de dados para um destino:
- Armazenamento: Amazon S3, Azure Blob Storage e Azion Object Storage, pelo tipo S3.
- Monitoramento: Datadog, Splunk, Elasticsearch e Azure Monitor.
- Streaming: AWS Kinesis Data Firehose e Apache Kafka.
- Analytics: Google BigQuery.
- Segurança: IBM QRadar.
- Personalizado: Standard HTTP/HTTPS POST.
Um stream precisa de exatamente um entre sampling e um filtro de workload. Salvar um stream ativo com sampling desativa todos os outros streams da conta. Streams com filtro coexistem.
Para criar um stream com Azion CLI, siga o painel CLI de Primeiros passos com Data Stream.
Para um destino Object Storage, a credencial precisa de listAllBucketNames, listBuckets, listFiles e writeFiles, ou todo envio falha com 503. Para os campos, consulte Configurações do stream e Endpoints. Para guias de destinos, consulte Amazon S3, Azion Object Storage, Datadog, Splunk, Elasticsearch, Kinesis, BigQuery e Configure o sampling.
Prepare o certificado
Certificate Manager guarda os certificados que os workloads servem. Prepare o certificado antes de o domínio apontar para a Azion, para que os usuários acessem o projeto por HTTPS desde a primeira requisição.
| Área | Cloudflare SSL/TLS | Azion Certificate Manager |
|---|---|---|
| Escopo | Edge Certificates, certificados de origem, modos de criptografia, mTLS e configurações de TLS | Certificados TLS para workloads |
| Opções de certificado | Universal SSL, certificados avançados e certificados personalizados | Azion SAN, Let’s Encrypt, certificados personalizados e certificados Trusted CA para mTLS |
| Certificado gerenciado padrão | O Universal SSL cobre o apex e os subdomínios de primeiro nível | Let’s Encrypt para seus próprios domínios. Azion SAN cobre o domínio de workload azionedge.net e o hostname azion.app |
| Certificados gerenciados avançados | Mais controle sobre a CA, os hostnames e a validade | Nenhuma camada equivalente. Use Let’s Encrypt para um certificado DV gerenciado, ou um certificado personalizado para controle total |
| Certificados personalizados | Emissão e renovação gerenciadas pelo cliente | Upload de um certificado e sua chave privada, de domínio único ou SAN, com chaves RSA 2048 ou P-256 |
| Validação | Validação de controle de domínio, automática com o DNS da Cloudflare | Desafios HTTP-01 ou DNS-01 do Let’s Encrypt |
| Renovação | Gerenciada para Universal SSL e certificados avançados | Os certificados Let’s Encrypt são renovados a partir de 30 dias antes da expiração de 90 dias. Os certificados personalizados seguem seu próprio ciclo de vida |
| Criptografia até a origem | Modos de criptografia SSL/TLS, como Full e Full Strict | Transport Protocol Policy do connector: Preserve, Force HTTPS ou Force HTTP |
| CA de origem | Certificados Origin CA para a conexão entre a Cloudflare e a origem | Sem Origin CA. Proteja a origem com Origin Shield no connector, por meio de Origin IP ACL e HMAC |
| mTLS | Certificados de cliente, BYOCA e Authenticated Origin Pulls | Certificados Trusted CA. Azion SAN não suporta mTLS |
A Azion emite um certificado Let’s Encrypt sem custo adicional assim que você escolhe um preset Let’s Encrypt. Escolha o desafio conforme onde o DNS responde:
- HTTP-01 precisa que o hostname, e cada nome alternativo, já apontem para a Azion.
- DNS-01 funciona antes da migração. Em um provedor de DNS externo, adicione um CNAME de
_acme-challenge.<domain>para<domain>.letsencrypt.azion.com. No Edge DNS, o registro é automático.
Para uma migração a partir da Cloudflare, use DNS-01.
Para definir o mTLS ou o certificado de um workload com Azion CLI, execute azion update workload --file com o corpo do workload. Para os comandos de certificado, consulte Primeiros passos com Certificate Manager.
Se o certificado não ficar ativo, leia seus campos status e status_detail. Para HTTP-01, verifique se o hostname aponta para a Azion. Para DNS-01, verifique o CNAME _acme-challenge. As novas tentativas continuam conforme o cronograma, então um registro corrigido emite o certificado mais tarde. Para as regras de emissão, consulte Emissão e renovação.
O mTLS precisa de um certificado Trusted CA, e um certificado gerado pela Azion não pode ser o Trusted CA. A equipe de vendas ativa o mTLS na conta. Depois defina mtls.enabled, mtls.config.certificate e verification, enforce ou permissive, no workload pela API ou com azion update workload --file. O mTLS funciona apenas por HTTPS. Para os passos, consulte Configure o mTLS em um workload e mTLS.
Mova zonas DNS para Edge DNS
Mover a zona para Edge DNS dá à Azion todos os registros do domínio, incluindo o apex. Toda zona usa os mesmos três nameservers, ns1.aziondns.net, ns2.aziondns.com e ns3.aziondns.org. Pule esta etapa quando mantiver o provedor de DNS atual e apontar apenas subdomínios, como mostra Aponte o domínio para o workload.
| Aspecto | Cloudflare DNS | Azion Edge DNS |
|---|---|---|
| Nameservers | Atribuídos por zona | ns1.aziondns.net, ns2.aziondns.com e ns3.aziondns.org para toda zona |
| Tipos de registro | A, AAAA, CNAME, MX, TXT, SRV, NS e outros | A, AAAA, ANAME, CAA, CNAME, DS, MX, NS, PTR, SRV e TXT |
| DNSSEC | Suportado | Suportado |
| API | API REST | /v4/workspace/dns/zones |
Recrie cada registro da Cloudflare com seu tipo:
| Registro | Uso na Azion |
|---|---|
| A | Endereço IPv4 |
| AAAA | Endereço IPv6 |
| ANAME | Alias do apex para um hostname da Azion, como o domínio do workload. Seu TTL precisa ser 20 |
| CNAME | Alias para outro nome. Guarda exatamente um valor e não pode ficar no apex |
| MX | Troca de e-mail, com sua prioridade |
| TXT | Texto, como SPF e DKIM |
| SRV | Registros de serviço, um por nome |
| CAA | Autoridades certificadoras autorizadas a emitir para o domínio |
| NS | Delegação de um subdomínio |
| DS | Delegation signer de uma zona filha assinada |
| PTR | Consulta reversa |
Edge DNS recusa outros tipos, como SOA. Os registros A, AAAA, ANAME, DS, MX e NS guardam até 10 valores cada.
Para criar zonas e registros com Azion CLI, siga o painel CLI de Primeiros passos com Edge DNS. Flags booleanas precisam de =, como --active=false.
Com o DNSSEC ativado, Edge DNS mostra quatro valores DS: Key Tag, Algorithm 13, Digest Type 2 e Digest. Recarregue a página depois de salvar para vê-los. Adicione-os no registrador, que pode levar até 48 horas para publicá-los. Para os passos, consulte DNSSEC.
Para verificar a migração, consulte os nameservers e os registros:
O primeiro comando lista os três nameservers da Azion assim que a mudança no registrador se propaga. O segundo mostra a resposta do Edge DNS antes que a mudança chegue a todos os resolvers. Com o DNSSEC ativado, o terceiro retorna dois registros DNSKEY, com flags 257 e 256 e algoritmo 13. Não consulte um nome novo antes de o registro dele existir: Edge DNS mantém a resposta negativa em cache por uma hora. Para mais comandos, consulte Execute o comando dig e Execute o comando traceroute.
Aponte o domínio para o workload
A mudança de DNS é a virada: assim que o domínio resolve para o workload, os usuários acessam o projeto pela Azion. Trate-a como uma transição controlada. Antes da virada, confirme que:
- O certificado está ativo.
- O hostname está nos Domains do workload.
- Os registros DNS estão prontos.
- As rotas críticas e os redirecionamentos respondem como esperado no domínio do workload. Para testá-los com o hostname real antes da virada, consulte Teste uma aplicação pelo arquivo hosts.
- O monitoramento está pronto para acompanhar o tráfego depois da virada.
Aponte cada nome com o registro que sua zona permite:
| Estratégia | Use para | Registro |
|---|---|---|
| CNAME | Um subdomínio, mantendo o provedor de DNS atual | www CNAME <your-workload-domain> |
| Nameservers | O apex e todos os outros nomes, com Edge DNS respondendo pela zona | Um ANAME no apex para o domínio do workload |
Para verificar um CNAME:
A resposta é o domínio do workload, como xxxxxxxxxx.map.azionedge.net. Mudanças de DNS levam tempo para se propagar. Para as configurações do domínio personalizado no Console, consulte Aponte um domínio para um workload. Para mover os nameservers, consulte Migre os nameservers para a Azion.