Você tocou em um ponto importante e antes de começar a usar a AWS fiquei um bom tempo pesquisando a respeito, pois sou noiado com contas. Esse tipo de ataque que você descreveu é classificado como "denial of wallet", pois é um ataque financeiro.
Na AWS existe o AWS Shield Standard, que já vem habilitado por padrão quando se usa CloudFront e ele já identifica e protege contra ataques DoS. Então não é tão simples fazer um ataque:
https://docs.aws.amazon.com/pt_br/waf/latest/developerguide/ddos-event-mitigation.html
Um passo simples, mas importante quando se usa AWS, é criar alertas para diferentes custos no AWS Budgets. Um alerta para um valor um pouco acima da média da mensalidade da AWS, outra para $5 a mais, uma outra maior e assim por diante. Esses alertas podem ser na forma de um e-mail ou até SMS. Inclusive é posssível configurar limites para verificar se o free tier não será ultrapassado. A AWS é falha nesse sentido, pois por padrão não vem configurado nenhum tipo de alerta para custos.
Se você quer dormir tranquilo mesmo, existe a possibilidade de configurar uma ação no AWS Budgets para impedir que a mensalidade chegue a um custo que seria inaceitável, digamos 20 dólares. Essa ação vai desabilitar a distribuição do Cloudfront, impossibilitando continuar um ataque. Mas o site ficará indisponível também.
Esse tipo de ataque de Denial of Service também implica em um custo para o atacante, tanto de tempo como de oportunidade, então um blog pessoal ou o site da pizzaria de bairro provavelmente não vão ter alguém tão dedicado a ponto de gastar recursos para um ataque, mas quando falamos de um site corporativo ou se você tem inimigos pessoais, realmente é necessário montar um plano para lidar com essas situações.