Pular para o conteúdo

Incidente · Pleno

Cloudflare jul/2020: backbone manda todo o tráfego para Atlanta

Incidente real. Pontos centrais: rede: DNS e BGP.

12 min de leitura · Incidente em 2020-07, durou · Fonte: Cloudflare · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Incidente real. Pontos centrais: rede: DNS e BGP. A Cloudflare opera um backbone: linhas privadas entre muitos de seus data centers, usadas como caminhos mais rápidos e confiáveis que os da Internet pública. O post-mortem explica que ele dá mais qualidade de serviço porque permite evitar pontos de congestionamento da Internet.

01 · CONTEXTO

Um backbone privado e uma mudança para aliviar congestionamento

A Cloudflare opera um backbone: linhas privadas entre muitos de seus data centers, usadas como caminhos mais rápidos e confiáveis que os da Internet pública. O post-mortem explica que ele dá mais qualidade de serviço porque permite evitar pontos de congestionamento da Internet. Esse arranjo faz parte do desenho de CDN e computação de borda.

  1. O diagrama começa pelo visitante e pelo data center que o atende.

    Diagrama da arquitetura: Backbone privado entre data centers
    CLVisitantes
    EDGData center de entrada
    NWBackbone privado
    EDGData center distante
    CPServidor de origem
  2. Quando precisa, o tráfego atravessa o backbone privado até outro data center em vez de seguir pela Internet pública.

    Diagrama da arquitetura: Backbone privado entre data centers
    CLVisitantes
    EDGData center de entrada
    NWBackbone privadorede privada
    EDGData center distante
    CPServidor de origem
  3. O data center distante busca o conteúdo no servidor de origem do cliente e responde pelo mesmo caminho.

    Diagrama da arquitetura: Backbone privado entre data centers
    CLVisitantes
    EDGData center de entrada
    NWBackbone privado
    EDGData center distante
    CPServidor de origem

No dia da interrupção, segundo o post, um erro de configuração no backbone causou uma queda que durou 27 minutos, com o tráfego da rede caindo cerca de 50%. A equipe de rede estava tratando um problema não relacionado, no trecho entre Newark e Chicago, e atualizou a configuração de um roteador em Atlanta para aliviar congestionamento. A configuração tinha um erro que mandou todo o tráfego do backbone para Atlanta, sobrecarregou o roteador e derrubou os locais conectados ao backbone. Por causa da arquitetura do backbone, a queda ficou localizada em certas geografias.

02 · LINHA DO TEMPO

Do link perdido à recuperação completa

A sequência começa com um problema no link do backbone entre Newark e Chicago, que levou a congestionamento no trecho entre Atlanta e Washington. Como havia congestionamento do backbone em Atlanta, segundo o post, a equipe decidiu retirar parte do tráfego de backbone de Atlanta e atualizou a configuração do roteador de lá. Os horários abaixo estão em UTC e vêm da linha do tempo do post.

Horário (UTC)O que o post registra
20:25Perda do link do backbone entre EWR e ORD, e backbone entre ATL e IAD congestionando
21:12 a 21:39Atlanta atraiu tráfego de todo o backbone
21:39 a 21:47Atlanta foi retirada do backbone e o serviço restaurado
21:47 a 22:10Congestionamento no núcleo derrubou alguns logs; a borda seguiu operando
22:10Recuperação completa, incluindo logs e métricas

03 · A CONFIGURAÇÃO

Uma linha de política BGP que anunciou tudo

Segundo o post, em vez de remover as rotas de Atlanta do backbone, uma mudança de uma linha passou a vazar todas as rotas BGP no backbone. A mudança correta teria sido desativar o termo da política, e não a lista de prefixos. Ao remover a condição da lista, o roteador foi instruído a enviar todas as suas rotas BGP aos demais roteadores do backbone, com uma local-preference aumentada. É um exemplo de balanceamento de carga decidido pela camada de roteamento: a rota com maior preferência vence e atrai o tráfego.

  1. Atlanta está congestionada e a equipe decide tirar parte do tráfego dela.

    Diagrama da arquitetura: Vazamento de rotas BGP a partir de Atlanta
    NWRoteador de Atlantamudança de política
    NWDemais roteadores do backbone
    NWRoteador de borda local
    CPServidores locais
    CPServidores de Atlanta
  2. A mudança de uma linha faz o roteador anunciar todas as suas rotas BGP aos demais roteadores do backbone.

    Diagrama da arquitetura: Vazamento de rotas BGP a partir de Atlanta
    NWRoteador de Atlantaanuncia tudo
    NWDemais roteadores do backbone
    NWRoteador de borda local
    CPServidores locais
    CPServidores de Atlanta
  3. As rotas chegam com uma local-preference maior do que a das rotas locais dos servidores.

    Diagrama da arquitetura: Vazamento de rotas BGP a partir de Atlanta
    NWRoteador de Atlanta
    NWDemais roteadores do backbone
    NWRoteador de borda local
    CPServidores locais
    CPServidores de Atlanta
  4. Como a maior preferência vence, o tráfego que era de servidores locais passa a ir para os servidores de Atlanta.

    Diagrama da arquitetura: Vazamento de rotas BGP a partir de Atlanta
    NWRoteador de Atlanta
    NWDemais roteadores do backbone
    NWRoteador de borda local
    CPServidores locaissem tráfego
    CPServidores de AtlantaCPU em sobrecarga

04 · IMPACTO

Quem caiu, quem não caiu e como voltou

O roteador de Atlanta ficou sobrecarregado e os locais conectados ao backbone falharam. O painel interno de tráfego do post mostra a CPU de Atlanta em sobrecarga e a CPU dos data centers afetados próxima de zero, porque eles deixaram de tratar tráfego. Locais não listados como afetados continuaram a operar normalmente, o que o post atribui à arquitetura do backbone.

  1. O tráfego do backbone é desviado para Atlanta.

    Diagrama da arquitetura: Impacto e recuperação da interrupção
    CLVisitantes
    EDGData centers no backbone
    EDGData centers fora do backbone
    NWBackbone privado
    EDGAtlantaCPU em sobrecarga
    NWNúcleo de logs e métricas
  2. Os data centers conectados ao backbone falham e deixam de tratar tráfego.

    Diagrama da arquitetura: Impacto e recuperação da interrupção
    CLVisitantes
    EDGData centers no backbonesem tráfego
    EDGData centers fora do backbone
    NWBackbone privado
    EDGAtlanta
    NWNúcleo de logs e métricas
  3. Os locais que não dependiam do backbone seguem atendendo normalmente.

    Diagrama da arquitetura: Impacto e recuperação da interrupção
    CLVisitantes
    EDGData centers no backbone
    EDGData centers fora do backbonesem mudança
    NWBackbone privado
    EDGAtlanta
    NWNúcleo de logs e métricas
  4. Com o roteador de Atlanta desativado, o tráfego volta ao normal.

    Diagrama da arquitetura: Impacto e recuperação da interrupção
    CLVisitantes
    EDGData centers no backbone
    EDGData centers fora do backbone
    NWBackbone privado
    EDGAtlantadesativado
    NWNúcleo de logs e métricas
  5. Pouco depois, um data center do núcleo que processa logs e métricas congestiona e alguns logs são descartados, mas a borda segue operando.

    Diagrama da arquitetura: Impacto e recuperação da interrupção
    CLVisitantes
    EDGData centers no backbone
    EDGData centers fora do backbone
    NWBackbone privado
    EDGAtlanta
    NWNúcleo de logs e métricaslogs descartados

Segundo o CEO, citado pelo The Register, a empresa isolou o roteador de Atlanta e desligou o backbone, roteando o tráfego por provedores de trânsito. A API e o DNS recursivo da própria empresa ficaram com desempenho degradado, e a imprensa listou terceiros afetados, como Authy, Digital Ocean, Discord, Downdetector, GitLab, Medium, Patron e Riot, entre outros.

05 · LIÇÕES

Limites para que um roteador não atraia tudo

O post anuncia duas mudanças. Uma é um limite máximo de prefixos nas sessões BGP do backbone, que teria desligado o backbone em Atlanta, algo que a rede suporta porque foi construída para funcionar sem backbone. A outra altera a local-preference das rotas de servidores locais, para que um único local não atraia o tráfego dos outros. O post também diz que a empresa nunca havia tido uma interrupção no backbone. Limitar o alcance de uma falha é tema de padrões de disponibilidade.

AspectoLimite máximo de prefixosLocal-preference das rotas locais
O que mudaLimite máximo de prefixos nas sessões BGP do backboneLocal-preference das rotas de servidores locais
Efeito segundo o postTeria desligado o backbone em Atlanta, e a rede funciona sem backboneImpede que um único local atraia o tráfego de outros
Situação no postImplantação marcada para uma segunda-feira posteriorJá implantada após o incidente

Perguntas frequentes

O que é Cloudflare jul/2020: backbone manda todo o tráfego para Atlanta?

Incidente real. Pontos centrais: rede: DNS e BGP.

O que o design de Cloudflare jul/2020: backbone manda todo o tráfego para Atlanta cobre?

Ele está organizado nestas seções: Um backbone privado e uma mudança para aliviar congestionamento, Do link perdido à recuperação completa, Uma linha de política BGP que anunciou tudo, Quem caiu, quem não caiu e como voltou e Limites para que um roteador não atraia tudo.

Quanto tempo leva Cloudflare jul/2020: backbone manda todo o tráfego para Atlanta e qual é o nível?

Leva cerca de 12 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.