After reading this, I am wondering, how do you configure your linux server for high throughput API? I am struggling with 10k concurrent request with node.js on c6i.4xlarge and one ElastiCache redis cluster. I can't imagine handling 50k/100k concurrent request with single server.
Also, consider building the ElasticSearch index on another server than the one serving live traffic.