AWS Amplify
フルスタック Web・モバイルアプリケーションの構築とホスティングを提供するサービス
何ができるか
AWS Amplify は、フロントエンド開発者が認証、API、ストレージ、ホスティングなどのバックエンド機能を簡単に構築・接続できるフルスタック開発プラットフォームです。React、Next.js、Vue、Flutter などの主要フレームワークに対応し、Git リポジトリと連携した CI/CD パイプラインも自動構築します。インフラの知識がなくても、本格的な Web・モバイルアプリを迅速にデプロイできます。
どのような場面で使うか
シングルページアプリケーション (SPA) や静的サイトのホスティング、認証機能付きの Web アプリケーション開発、リアルタイムデータ同期が必要なモバイルアプリのバックエンド構築などに利用されています。スタートアップのプロトタイプ開発や、フロントエンドエンジニアが少人数でフルスタックアプリを構築する場面で特に効果的です。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
レンタルオフィスに例えるとわかりやすいでしょう。通常、オフィスを構えるには物件探し、内装工事、電話回線、インターネット回線など多くの準備が必要です。レンタルオフィス (Amplify) なら、デスクと椅子 (フロントエンドコード) を持ち込むだけで、受付 (認証)、会議室 (API)、倉庫 (ストレージ) がすべて揃った環境をすぐに使い始められます。
Amplify とは
AWS Amplify は、Web やモバイルアプリケーションのフルスタック開発を加速するプラットフォームです。フロントエンドの開発者がバックエンドのインフラを意識せずに、認証、データベース、ファイルストレージ、API などの機能を簡単に追加できます。GitHub や GitLab と連携し、コードをプッシュするだけで自動的にビルド・デプロイが行われます。
Amplify Hosting
Amplify Hosting は、Web アプリケーションの CI/CD とホスティングを提供する機能です。Git リポジトリを接続すると、ブランチごとにプレビュー環境が自動作成されます。Next.js のサーバーサイドレンダリング (SSR) にも対応しており、静的サイトだけでなく動的な Web アプリもホスティングできます。カスタムドメインの設定や SSL 証明書の発行も自動で行われます。
バックエンド機能
Amplify は、TypeScript でバックエンドリソースを定義する仕組みを提供しています。認証 (Cognito)、データベース (DynamoDB)、ファイルストレージ (S3)、API (AppSync / API Gateway) などを数行のコードで追加できます。裏側では CloudFormation を使ってリソースが自動的にプロビジョニングされるため、AWS の各サービスを個別に設定する必要がありません。
はじめかた
Amplify コンソールで「新しいアプリを作成」をクリックし、GitHub リポジトリを接続します。フレームワークが自動検出され、ビルド設定が提案されます。「保存してデプロイ」をクリックすると、数分でアプリが公開されます。バックエンド機能を追加したい場合は、Amplify CLI をインストールして amplify add auth のようなコマンドで機能を追加していきます。
注意点
- Amplify Hosting のビルド時間に応じて課金されるため、ビルドが頻繁なプロジェクトではコストに注意が必要
- Amplify が裏側で作成する AWS リソース (Cognito、DynamoDB など) にも個別に料金が発生する
- Next.js の SSR を使用する場合、Amplify が Lambda@Edge を自動作成するため、対応するフレームワークバージョンを確認すること
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。