Acompanhe o que está causando o AWS RDS a usar uma largura de banda insanamente alta

1

Temos um site de notícias Drupal de alto tráfego (100 mil visitas / dia) hospedado na AWS. Está por trás do cloudflare & 2 Servidores Load Balanced Varnish. Por algum motivo, o uso da largura de banda é muito alto para o RDS. Isso ocorre depois de ter todas as tabelas de cache hospedadas no memcache no Elastic Cache. 100% do tráfego são anônimos. Exceto para conteúdo novo ou atualizado, o tráfego é veiculado a partir de verniz.

Mas ainda assim a largura de banda do RDS é muito alta. Por exemplo, até o dia 18 deste mês, o uso já é de 15 TB +. Esse custo está matando todo o site.

Como podemos detectar o que está consumindo toda a largura de banda? Como vamos descobrir a causa raiz?

Veja os detalhes copiados em nossa página de faturamento:

Bandwidth
$0.000 per GB - data transfer in per month  -   4.808 GB  -     $0.00
$0.000 per GB - first 1 GB of data transferred out per month    -  1 GB  -  $0.00
$0.010 per GB - regional data transfer - in/out/between EC2 AZs or using IPs or ELB  -  15,147.744 GB   - $151.48
$0.120 per GB - up to 10 TB / month data transfer out   - 20.759 GB      -  $2.49


Total: $153.97
Region Total:   $154.04
    
por Safwan Erooth 17.12.2015 / 20:47

2 respostas

5

Você sempre deve usar os endereços IP private para se comunicar entre seus vários componentes de infraestrutura (RDS, ElastiCache, o que for). Se você usar o endereço IP público , será cobrado pela transferência de dados regionais, porque o tráfego sai e entra novamente na AWS.

Verifique cuidadosamente seu aplicativo em busca de algo que esteja acessando inadequadamente um componente de back-end usando um endereço IP público.

    
por 18.12.2015 / 00:11
1

O item "transferências regionais de dados - entrada / saída / entre AZs AZs ou IPs ou ELB" para transferência de dados:

  • Entre instâncias do EC2 não usando o IP privado
  • Entre instâncias do EC2 em diferentes zonas de disponibilidade
  • Entre instâncias do EC2 e ELBs

Se o seu custo para " transferência de dados regionais - entrada / saída / entre AZ2 AZs ou IPs ou ELB " for $ 151,48, significa que a soma dos dados transferidos nos 3 itens é de 15.148 TB. .

Portanto, sempre use o endereço de IP privado ao transferir dados no EC2 na mesma zona de disponibilidade. Isso é provavelmente o seu problema.

Se você quiser se livrar desse custo, use todas as instâncias do EC2 na mesma zona de disponibilidade , mas não recomendo. Se algo acontecer com a zona de disponibilidade selecionada, seu serviço provavelmente estará off-line.

Você pode usar os relatórios de gerenciamento de faturamento e custos da AWS para saber quais são os maiores contribuidores para essa despesa, basta adicionar tags às suas instâncias e no console de gerenciamento de faturamento e custos da AWS, criar um relatório no bucket S3.

    
por 07.06.2016 / 23:24