fast API→ AWS lambdaの移行をやってみました
最近、個人プロジェクトとして「毎日自動で米国株の最新価格を取得し、データベースに保存する」という小さなシステムを構築しています。
シンプルな fast API→ AWS lambdaの移行ですが、実際にやってみると予想以上に時間かった。
問題解決プロセス:
1.funtion.zipサイズでかすぎ and Imageは重い ➡️ yfinance放棄 ❌
🔴ローカルでfast APIの使用は問題なしが、Lambdaに移行する時、yfinanceのfuntion.zipのサイズが限界超える。
原因はyfinanceは自動的にnumpyとpandasをimportしている。(which I dont need)layerの中に入れても250mb超えちゃう。
🔴Imageはいけるが、lambda cold startは遅いかつECR Repo管理、image pushは面倒。需要に完全にオーバーヘッド。
2.直接yahoo financeにrequest ➡️ requests放棄 ❌
🔴AWS Lambda では即 429(アクセス拒否)。
🔴Lambda の IP レンジが明らかにブロックされているようで、安定運用は不可能でした。
3.RapidAPIで使えそうなもの探す ➡️ RapidAPI放棄 ❌
🔴無料枠は少ない
🔴レスポンス構造が複雑で扱いづらい
結論➡️「動くけど、長期運用には向かない」
4.Finnhub.ioに切り替え ➡️ 最終案! ✅
🔴無料枠は多い
🔴レスポンスが非常にシンプル
‼️ Lambda でも 429 が出ない
後はAPI Keyの保存方法について
❌ハードコーディング保存➡️GitHub public repoだからだめ
❌Secrets Manager、SSM Parameter Store➡️高い、面倒
✅terraformの環境変数で管理。これ一番簡単。
時間かかったけど、学んだこと
🔵 クラウド環境でのデータ取得の難しさ
🔵API 選定の重要性
🔵Terraform と Lambda の正しい組み合わせ方
🔵安定運用のための設計
同じようにクラウドでデータパイプラインを作ろうとしている方の参考になれば嬉しいです。
(Finnhub.io最高です ‼️ )