タグ: aws
5 件
タグ「aws」を付けた記事の一覧
デプロイで記事が全部消える事故を、安全装置で止める
記事をデプロイのたびに DB へ反映する仕組みでは、content が空のまま反映されると全記事が非公開になる。半分以上を非公開にするなら止める安全装置を入れたら、記事が 1 本のときに誤作動した。なくす案と比べて残し、記事が少ない間の閾値を変えた話。
記事を Git で管理して、デプロイのたびに DB に upsert する
ブログの記事はリポジトリの content/ を正本にして、デプロイのたびにマイグレーション用の Lambda が DB に upsert する。content を API の zip に入れない理由、Lambda Layer 案と S3 アセット案の比較、消した記事を DELETE せず非公開にする理由を書く。
CloudFront 1 つで静的サイトと API を同居させた時の落とし穴
S3 の静的サイトと API Gateway の API を 1 つの CloudFront の下に置いた。errorResponses が /api/* にも効く、OAC に LIST を足して 404 にする、execute-api への直接アクセスを塞ぐ、ロググループがロールバックで消える、の 4 つの落とし穴をスライドにまとめた。
GitHub Actions から OIDC で AWS にデプロイする
長期のアクセスキーを置かずに、GitHub Actions から OIDC で AWS のロールを引き受けてデプロイする。信頼ポリシーの sub を不変の形式に合わせた話、id-token: write をデプロイのジョブだけに絞ってテストで検査する話、GitHub Free の private リポジトリでは Environments が使えない話。
Spring Boot を Lambda の SnapStart で動かし、Aurora DSQL につなぐ
Spring Boot の API を AWS Lambda(Java 21、SnapStart)で動かし、Aurora DSQL に IAM 認証でつないだ。ハンドラと zip の作り方、SnapStart のフック、初回デプロイで踏んだ GRANT と tomcat-embed-el の失敗、DSQL の癖(CREATE INDEX ASYNC、DESC 不可、1 トランザクション 3,000 行)をまとめる。