Você tem duas opções principais:
- ACLs de rede (NACLs). Estes são mais como um firewall tradicional, eles são executados na rede, impedindo que o tráfego atinja o servidor / instância se ele não estiver autorizado. Há um número limitado de regras, que da memória é menor que o número de servidores CloudFlare. Eles são sem estado, então você precisa adicionar regras de entrada e saída.
- Grupos de segurança . Estes são um firewall com estado em execução na instância. Se você definir uma regra, o tráfego de resposta será automaticamente permitido. Existe um limite de regras mais alto do que os NACLs
Você precisa que o grupo de segurança associado à sua instância do EC2 tenha os endereços IP do CloudFlare e seus próprios endereços IP, permitindo o acesso nas portas necessárias. Eu fiz isso, é fácil.
Você pode, claro, fazer suas solicitações de API por meio do CloudFlare, mas o Direct provavelmente é um pouco mais rápido e confiável.
CloudFormation
Configurar todos os endereços IP do CloudFlare pode levar algumas cópias e colagens - talvez dez minutos, então não é tão ruim. Se você quiser aprender um pouco sobre o CloudFormation, pode automatizar a criação e a atualização do grupo de segurança com os endereços IP do CloudFlare. Se eles adicionarem mais IPs, basta atualizar seu script e executá-lo novamente. Tende a ser melhor criar seu VPC, sub-redes, grupo de segurança, regras etc., tudo no script CloudFormation. Se você não quiser começar de novo, poderá fazer referência aos recursos existentes. Eu poderia adicionar um script que lhe daria um ponto de partida, mas levaria um pouco de tempo para ajustá-lo.
Se você não conhece o CloudFormation, pode demorar um dia para que ele funcione, mas para um ambiente de produção, há muitas vantagens em fazer as coisas dessa maneira.