AWS Amplify で始めるフルスタック Web アプリ開発 - Git 連携デプロイとバックエンド構築
GitHub 連携でブランチごとの自動デプロイ環境を構築し、Backend Gen 2 で認証・API・ストレージを TypeScript で定義する。Next.js の SSR にも対応します。
Amplify の概要
Amplify はフルスタック Web・モバイルアプリケーションの構築とホスティングを統合するサービスです。Amplify Hosting は Git リポジトリと連携した CI/CD とグローバル CDN ホスティングを提供し、Amplify Backend (Gen 2) は認証、API、ストレージなどのバックエンドリソースを TypeScript と CDK で定義・デプロイします。Vercel や Netlify と比較した場合、AWS サービスとのネイティブ統合 (Cognito、AppSync、DynamoDB) が最大の差別化要因です。React、Next.js、Vue、Nuxt、Angular など主要フレームワークに対応し、SSR と SSG の両方をサポートします。
Hosting と Backend
Amplify Hosting は GitHub リポジトリを接続するだけで、ブランチごとの自動デプロイ環境が構築されます。main ブランチは本番環境、develop ブランチはステージング環境として運用できます。Amplify Backend は TypeScript でバックエンドリソースを定義します。認証は Cognito User Pool、API は AppSync (GraphQL) または API Gateway (REST)、ストレージは S3 バケットが自動構築されます。amplify sandbox コマンドで開発者ごとの独立したバックエンド環境を起動でき、チーム開発での環境競合を防止します。
カスタムドメインと SSR
Amplify Hosting はカスタムドメインの設定と SSL 証明書の自動発行を提供します。 Route 53 のドメインを接続すると DNS 設定が自動構成されます。 SSR (Server-Side Rendering) は Next.js と Nuxt をサポートし、 Lambda@Edge でサーバーサイドレンダリングを実行します。プルリクエストごとにプレビュー環境が自動生成され、レビュー後にマージすると本番環境に自動デプロイされます。環境変数はブランチごとに設定でき、開発・ステージング・本番で異なる API エンドポイントを使い分けられます。 Web ホスティングについて体系的に学びたい方は、関連書籍 (Amazon)も参考になります。
Amplify の料金
Amplify Hosting のビルド料金は 1 分あたり約 0.01 ドルで、ホスティングは 1 GB あたり月額約 0.023 ドル、リクエストは 100 万リクエストあたり約 0.15 ドルです。SSR のリクエストは Lambda@Edge の料金が追加されます。無料枠は月間 1,000 ビルド分、15 GB のホスティング、5 GB のデータ転送です。Amplify Backend (Gen 2) は使用する AWS サービス (AppSync、DynamoDB、Cognito、S3) の個別料金が適用されます。ビルドキャッシュを活用してビルド時間を短縮し、ビルド料金を削減します。
まとめ
Amplify は Web アプリケーションのフロントエンドホスティングとバックエンド構築を統合するサービスです。Git リポジトリとの連携でブランチごとの自動デプロイ環境を構築し、Next.js の SSR にも対応します。Backend Gen 2 でコードベースのバックエンド定義を実現し、フルスタック開発の生産性を大幅に向上させます。