LoginSignup
27
18

2分で読める「AWS Amplify」について

Posted at

1. AWS Amplifyとは

AWS Amplifyは、Amazon Web Services(AWS)が提供する一連のツールとサービスで、フロントエンドのウェブアプリケーションおよびモバイルアプリケーションの開発、デプロイ、ホスティングを簡素化することを目的とした「クラウドプラットフォームサービス」です。以下の主要なコンポーネントから構成されています。

Amplify CLI

コマンドラインツールで、プロジェクトのセットアップ、リソースのプロビジョニング、アプリケーションのデプロイを行います。

Amplify Console

継続的デプロイメントとホスティングを提供するサービスで、Gitリポジトリと連携してコードの変更を自動的にデプロイします。

Amplify Libraries

クライアントサイドライブラリで、認証、データストレージ、API呼び出し、分析などの機能を簡単に統合できます。

Amplify UI Components

事前に構築されたUIコンポーネントで、開発速度を向上させ、ユーザーエクスペリエンスを向上させます。

2. 他サービス(Firebase)との比較表

クラウドプラットフォームがどのようなサービスなのかを把握するために、Firebaseと比較してみました。いずれのサービスも各項目でサービスが提供されていることがわかります。

機能/サービス AWS Amplify Firebase
提供元 AWS Google
主な機能 フロントエンドとバックエンドの統合、認証、データストレージ、API、ホスティング 認証、データベース、ストレージ、ホスティング
ターゲットユーザー 全ての開発者 モバイルアプリ開発者、ウェブアプリ開発者
料金体系 使用量に応じた課金 無料枠+使用量に応じた課金
認証 AWS Cognito Firebase Authentication
データベース Amazon DynamoDB, Aurora Firebase Realtime Database, Firestore
ストレージ Amazon S3 Firebase Storage
ホスティング Amplify Hosting Firebase Hosting
サーバーレス機能 AWS Lambda Cloud Functions for Firebase
分析 Amazon Pinpoint Firebase Analytics
継続的デプロイ あり あり
カスタマイズ性 高い 高い
ドキュメントとサポート 豊富なドキュメント、AWSサポート 豊富なドキュメント、Firebaseサポート

3. QuickStartを使ってみた

ここまでキャッチアップしてみて、言葉だけではイメージしづらい箇所が多い...
そこで、以下サイトにある QuickStartを使いました。

簡易的なTODOリポジトリ(ドキュメントでは「starter template」と表現されている)が既に準備されており、手順が丁寧で分かりやすいです。そのため、全体像を把握するにはもってこいの内容だと個人的には感じました。手順に関してはドキュメントがあるので割愛します。

QuickStartで理解できる内容は以下の通りです。

①Amplifyの操作感

私はGitHubアカウントを連携して、Amplifyへの登録からデプロイまでを確認しました。

②TODOアプリを更新・再デプロイ

デプロイ後、削除機能を実装して再デプロイする手順も書かれています。
再デプロイ時にAmplify側でどのような挙動になるかを確認できます。

③認証機能の実装

「Amplify UI Components」で提供されている「Authenticator UIコンポーネント」を使い、ログイン機能を実装できます。思いのほか簡単に実装できました。

④ユーザーごとの認可を実装

すべてのユーザー間で共有されるデータをユーザーごとに分離する実装も学べます。

4. さいごに

ちなみに「starter template」を使わずに一から理解を深めたいという方は、以下から手順に沿って対応ができます。

最後までご覧いただきありがとうございました!

おまけ(用語集)

用語 説明
ホスティング ウェブサイトやアプリケーションをインターネット上で公開するサービス
プロビジョニング 必要なリソースや環境を準備し、利用可能な状態にするプロセス
リソース コンピューティング、ストレージ、ネットワークなどの計算資源
デプロイ アプリケーションやサービスをサーバーに配置して稼働させること
継続的デプロイメント コードの変更を自動的にデプロイし、即座に本番環境に反映するプロセス
ユーザーエクスペリエンス ユーザーが製品やサービスを使用する際の総合的な体験
Firebase Googleが提供するモバイルおよびウェブアプリ開発プラットフォーム
認証 ユーザーの身元を確認し、システムにアクセスできるかを判断するプロセス
認可 認証されたユーザーが特定のリソースや機能にアクセスできるかを制御するプロセス
27
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
18