【要約】【AWS×Java】S3 + CloudFront + Lambdaでサーバーレスな動的サイトを組み込んだデジタル名刺を作る [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者は、ポートフォリオに動的機能を持たせつつ、運用コストを最小化したいと考えていた。
- ・コスト:EC2等の常時稼働サーバーは、個人開発において経済的負担が大きい。
- ・通信:フロントとバックを別ドメインで運用すると、CORSエラーが発生する。
// Approach
開発者は、CloudFrontを単一の入り口とし、静的コンテンツと動的APIを統合した。
- ・バックエンド:JavaとMavenを用い、Fat JARを作成してLambdaへデプロイ。
- ・フロントエンド:S3にファイルを格納し、OACでCloudFront経由のアクセスのみを許可。
- ・ルーティング:CloudFrontのBehaviorで、/api/*をAPI Gatewayへ転送。
- ・ドメイン:ACMとRoute 53を使い、独自ドメインでのHTTPS通信を実現。
// Result
開発者は、サーバーレス構成により低コストなデジタル名刺の構築を完了した。
- ・コスト:リクエスト時のみ課金される構成により、サーバー代を抑制。
- ・通信:CloudFrontによるドメイン統合により、CORS問題を回避。
- ・連携:NFCタグへの書き込みにより、物理デバイスとの連携を実現。
Senior Engineer Insight
> 本構成は、低コストと設計の合理性を両立している。特にCloudFrontによるパスベースのルーティングは、CORS回避の定石だ。実戦投入時は、Java特有のコールドスタートによるレイテンシに注意せよ。高負荷や低遅延が求められる環境では、Provisioned Concurrencyの利用を検討すべきである。