検討すべき事項
下記の記事がとても参考になります。
大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ
これを踏まえて、AWSでどのようにサービスを構築するか考えてみました。
LINEからの通知をキューに突っ込む
LINE -> API Gateway -> AWS Lambda -> SNS -> SQS
すべてがマネージドサービスなので、安定かつ、スケーラブルにLINEからの通知を受け付けられるはずです。
下記の記事が参考になります。
AWS Lambda + API GatewayでLINE BOT APIを叩いてみた
キューを処理する
SQS -> Elastic Beanstalk Worker + NAT Gateway
LINE側でアクセス元IPのホワイトリスト登録が必要なので、NAT Gatewayを噛ませます。(要試作)
NAT Gatewayは月5000円近くかかるので、試作であれば普通に自分のパソコンや、EC2のインスタンスのIPをホワイトリストに登録すれば問題ないと思います。
また、この部分はオンプレミスで動かすという選択肢もあります。
キューを処理する(ボツ案)
SNSからもう一度lambdaに入れる方法もあります。
SNS -> Lambda + NAT Gateway
ただ、キューがないとサーバ側の保守が難しくなるので、試作以外では使わないほうが良さそうです。