Não foi exatamente o que você pediu, mas pode fazer o trabalho bem o suficiente.
Configure o CloudFront na frente da sua infraestrutura. Use as condições de correspondência de IP para bloquear efetivamente o tráfego. O CloudFront trabalha com conteúdo estático e dinâmico e pode acelerar o conteúdo dinâmico, pois usa o backbone da AWS e não a Internet pública. Aqui está o que os documentos dizem
Se você deseja permitir algumas solicitações da Web e bloquear outras com base nos endereços IP dos quais as solicitações se originam, crie uma condição de correspondência IP para os endereços IP que você deseja permitir e outra condição de correspondência IP para os endereços IP que você deseja bloquear. .
Ao usar o CloudFront, você deve bloquear o acesso direto a quaisquer recursos públicos usando grupos de segurança. O AWS Update Security Groups lambda manterá seus grupos de segurança atualizados para permitir o tráfego do CloudFront, mas rejeitará outro tráfego. Se você redirecionar o http para https usando o CloudFront, poderá ajustar um pouco os scripts para impedir que o http atinja sua infraestrutura. Você também pode colocar na lista branca todos os IPs que precisam de acesso direto de administrador.
Como alternativa, você pode usar uma CDN de terceiros, como o CloudFlare. O CloudFlare possui um firewall eficaz, mas o número de regras que você deseja é de US $ 200 por mês. Isso pode muito bem ser mais barato que o CloudFront, a largura de banda da AWS é bastante cara. O plano gratuito fornece apenas 5 regras de firewall.