🐼

App runnerとMongo DB連携で挫折した話

2021/12/23に公開

前回までのお話

前回は、App RunnerとGithub actionsで自動デプロイ環境を構築しました。
https://zenn.dev/program_panda/articles/ccd0a21984dcfc

やりたいこと

今回やりたかったことは、Mongo DB Atlusとの連携でした。ええ、そうですね。表題の通り挫折しました。挫折した経緯が少しでも誰かの役に立つかもしれないと思い、記事を書くことにします。

なぜ挫折したか

無料プランでできると思っていたら、有料プランじゃないと難しそうだったからです。

経緯

元々考えていたのは下記のような感じです。

  • MongoDB Atlusの無料枠を使って開発を進めたい
  • App runnerがVPCレスのため、DB選択が限られる中、MongoDB Atlusは使い慣れてるし、NoSQL系の中では集計も強いみたいだし良い選択肢なのでは?

この無料枠を使って開発を進めたいという前提が覆されてしまったので、App runnerを使用した個人開発を断念しました。
(DB高くて辛い...)

なぜ無料枠で開発できないのか

ものすごく省略して話すと、MongoDB Atlusでは、セキュリティー対策として、ホワイトリスト形式で、どういうipアドレスがDBにアクセスできるか設定することができます。App runnerを作成して、嬉々としてEC2インスタンスのipアドレスを調べようとしましたが、わかりませんでした。
(フルマネージドサービスなので、当然といえば当然)
AWS PrivateLinkというサービスを使うことで、解決しそうだったのですが、これがMongoDB Atlusの無料枠ではできないみたいで、挫折にいたりました。
(余談ですが、VPCピアリングも無料枠ではできなさそうでした)

最後に

お金のない、経済的弱者系個人開発者は、firestoreかDynamoDBが有力候補なのかもしれません。
(パっとドキュメント見る感じ、集計弱そうだから僕には使いこなせないかも知れません。。)
もしおすすめの安くておすすめの構成がありましたら、教えてくださると幸いです。
MongoDB Atlusの無料枠でもApp runnerと連携できるぞみたいな知見を持っている方がいましたら、マサカリぶん投げていただけると嬉しいです。
(集計がそこそこ強くて、トランザクションができる、オートスケールしてくれる、月額3000円くらいで開発できる構成はこの世にないのだろうか...)

Discussion