※ このサイトに書いてあることの一部は AI によって自動生成されたデモ用コンテンツ です。

AWS SAM x Nuxt4 Demo

サーバーレスアプリケーション

AWS SAM x Nuxt4 Demoのサムネイル

プロジェクト概要

Nuxt4 + AWS を使ったサーバーレスアプリケーション(当サイト)

 

◆概要・目的

・Nuxt4 をベースとした Web アプリケーションを、AWS SAM を用いて Lambda + CloudFront + S3 のサーバーレス構成にデプロイする検証プロジェクトです。

・Nuxt4 アプリを自前のサーバーレス構成で効率的に運用可能かを確認する目的で開発

・運用面を見据えたログ収集・分析、認証基盤の検証を通して、実際のプロダクション展開に耐え得る仕組みを整備

・GitHub Actions による CI/CD パイプラインを構築し、コードの push に応じて上記 SAM テンプレートを含む複数の CloudFormation スタックのデプロイを実現しました。

 

◆主な特徴

・すべてのリソースへのアクセスについて CloudFront を介し静的ファイルは S3、動的リクエストは Lambda で処理するビヘイビアを設定

・CloudFront をフロントに置くことで HTTPS 配信とキャッシュ制御を実現

・SEO 対策の一環として動的サイトマップを生成し、公開 URL に反映

・CloudFront 標準ログ記録(v2) を Athena に取り込み、簡易的なアクセス解析を可能に

・認証認可は Cognito + Lambda@Edge、または Lambda@Edge による BASIC 認証を実装

  - 認証処理をエッジロケーションで完結させることで、アプリケーション本体と切り離して制御可能

  - 本番用/検証用など環境に応じて切り替えられるよう設計

・GitHub Actions からの AWS リソース操作には OIDC ID プロバイダーを構築し、IAM ユーザーを作成しないセキュアにデプロイフローを構築

・GitHub Environments の Variables/Secrets によって、CloudFront カスタムドメインや認証機能をオプションとして有効化/無効化できる仕組みを導入

・CI/CD パイプラインにより、E2Eテスト・ビルド・デプロイを自動化

 

◆この構成のメリット

・サーバーレス構成により低コストかつ自動スケーリングで運用負荷を最小化

・すべての AWS リソースを自前の SAM テンプレートで管理しているため、機能追加や構成変更が容易

  - CloudFront への AWS WAF の導入

  - Lambda への特定 EFS のアタッチや VPC 設定の追加

  - 新しい API Gateway エンドポイントの追加など

・マネージドサービス活用により高可用性を確保し、メンテナンス作業を削減

プロジェクト情報

カテゴリー
サーバーレスアプリケーション
制作期間

2025/07/22 ~ 現在 (約46日)

技術スタック

言語
TypeScript
フレームワーク
Nuxt4
ライブラリ
@nuxt/eslint@nuxt/icon@nuxtjs/sitemap@pinia/nuxt@primevue/nuxt-module@primeuix/themes@tailwindcss/vite@playwright/testcognito-at-edgeeslintjosepinia-plugin-persistedstateprimeiconsprimevuetailwindcsstailwindcss-primeuivue-router
ツール
GitHub ActionsAWS SAMDockerNode.jspnpmPlaywrightVSCode

スクリーンショット

AWS SAM x Nuxt4 Demo

Nuxt 4 と TailwindCSS 4 を使用したデモサイトを AWS SAM を使用したサーバーレスアプリケーションとして公開するデモです。

お問い合わせ

info@example.com

© 2025 AWS SAM x Nuxt4 Demo. All rights reserved.