かりんちゃんの随心遊戯日誌

ゲームの日記、たまに政治の話、香港の話

SSTを使ってLambdaにFastAPIを乗せるのをバトルしてた

今晩はアストロボットです。

 

さて、仕事では予算のせいでECSも無理と言われて、LambdaにFastAPIそのまま乗せる方法を調べた。実はサーバーレス自体経験したことないので、制限も多く結構苦しかった。

僕はDocker派です。

社内では他のプロジェクトはSSTを使ってるので、それを参考したんだけど、それでも壁だらけだった。

一番苦しいのはサイズ。Pandasを入れたら速攻アウトとなった。これ解析APIはどうするかという課題を残るが、いまはまだそれが必要ないので、一旦Pandasを外した。

 

その次はFastAPIとOpenAIのPydantic問題だった。それに引っかかて色々とだめとなった。しかもDockerやSST DEVでは問題なかったのに、デプロイだけがModule Not Foundエラー(Pydantic CoreやらJiter.jiterやら)。

このエラーと散々バトルした結果、最終的に解決方法はLambdaのアーキテクチャをarm64にした。よく考えたら作業環境はM3なんだから、それはそうだろうと思いつつ…でも社内他のプロジェクトはたぶんそこ設定してないし、なぜそっちだとM3でもビルドできたんだろう…まあ、そっちFastAPI使ってないのはそうだが…

 

一旦それでうまく行けたので、たぶんこのベースで本番開発とする予定。

まあサーバーレスはそもそもモジュールそれぞれ分割するのが一般的なやり方なんだろうけど…。

 

予算がないのはつらいよ