Open30

APIGateway + LambdaをGithubで管理してGithubActionsでデプロイするまでのフローを学ぶ

やりたいこと

  • 構成はAPIGateway + Lambda。言語は普通にnode 14の予定
  • 『ローカルでコード書く→Gitにpush & developへマージ→CICDまわってデプロイ → 🎉』というフローをしたい
  • optional) デプロイするものがローカルで確認できるなら最高

遠い目標

  • フルスタック向けミニマムプロダクトの想定なので、フロントエンドも含めたmonorepo構成にしたい
  • デプロイはdevelopにマージされたらフロントエンドもサーバサイドもstg環境にデプロイされるが理想
  • フロントエンドはamplify

これが1番近そうなのでこれをとりあえず真似て調整していく
https://toranoana-lab.hatenablog.com/entry/2021/12/17/132947

とらのあなといったら同人誌というイメージだけど、最近よく開発文脈でも聞くので、とらのあなのバックエンドって結構すごいんだな…と思いつつ、確かに『一時的にトラフィックが激増する』のすごい良い例なのでクラウドサーバの柔軟性の恩恵をすごい受けるプロダクトだし、AWS対応するのも納得だ

IAMもしかして必要なもの1個1個手で設定しないといかんのか??え、lambda deply roleみたいなのないの…?え?マジ?
AWSCodeDeployRoleForLambdaってのあった。これでいけるかな

sam deploy --guidedがいけぬ!!!
が、多分このPC、AWSのconfigureとか通してないんでそんなところだろう
ついでにaws-valutとかもいれておくか

これのエラーは、cloudformationのスタックのログを見るのがいいみたい。
見てみたらS3の書き込み権限が足りないってかいてあるし、確かにAWSCodeDeployRoleForLambdaはS3の読み込み権限しかないけど、このRoleは一体何ならできるんだろう
iamポリシーを適切に設定できる人への道のりはめっちゃ険しそうだな…。

デプロイに時間かかりはじめたので正しい方向には進んでそう

cloudformationは成功してるのにコンソールではエラーという謎の事態が…と思ったら↓で同じ壁にぶつかった先人がいた。ありがてえ。
ServerlessRestApi がないよみたいなエラーなんだけど、これも自分で書き込んでおかないといけないらしい。テンプレとは何なのか。

https://qiita.com/gonbe/items/8c2deb647ea343386cae

api gatewayのpostの許可方法がよくわからん

やったお!!できたお!!!でもめちゃマジフルアクセス許可しまくりゴリラしたのであんまよくないけど、今は一旦いい!!!!わたしがやりたいのはそこじゃないのや

結論からいうと
・書き換えなくてよかった
・エラーがでてたのは前のスタックが残ってたせい。前のスタックを消すのと書き換えのQiitaを同時にやってしまった→書き換えによって動くようになった!と誤認してしまったので混乱に陥った
という感じ。

なんか、monorepoにすると1個のリポジトリにまとまって良いのは確かなんだけど、デプロイちょっとややこしくなっちゃうな
どっかでもmonorepoの文脈で話してたけど、『フロントしかなおさなくていいのにサーバサイドのデプロイも走っちゃう』はやっぱめんどくさみあるし、別々にしようかなやっぱり

configファイルの設定がが悪かったわ

さすがにもうねむいから通ってくれ

AWS_DEFAULT_REGION が足りてないとかではないらしい 他はある

元サイトのConfigure AWS credentials入れ忘れてるだけだった…途中の手順にあるやつだけコピペしてしまったので足りてない奴がいくつかあるがまあこれだけで大丈夫だろう うん

やった!!!!やっと寝れる!!!!!!!!!おやすみ!!!!!!!!!!!!!

おなかすいたし休憩

再開 終わる or 25時くらいまでやる予定

動いたけどどこではろーわーるどしてるのかよくわかってないので、これを書き換えまでやってこのスクラップは終わりにしよ 何はともあれ今日はねる

書き換えは普通にそれっぽい部分書き換えればOKな感じね
これlambda用のexpressみたいなフレームワークってあるのかしら、このままだと大規模開発になってくるとちと書きづらいような気がするけど

ログインするとコメントできます