🚀

AWS Amplifyについて

2024/05/10に公開

はじめに

副業でAmplifyを使ったアプリケーション開発に従事しているので、学んだことをアウトプットとして書いていきます。

ドキュメント

https://docs.amplify.aws/gen1/react/start/getting-started/introduction/

Amplifyとはなんぞや

https://aws.amazon.com/jp/amplify/

AWS Amplifyは、Webアプリケーションおよびモバイルアプリケーションの構築などを簡単に行えるようにし、開発に集中できるよう設計されたAWSのサービスです。主な機能は次のとおりです。

  • ホスティング

Amplify Hostingを使用すると、フロントエンドのWebアプリケーションをプロビジョニング、構築、デプロイ、ホスティングできます。
GitHubなどのソースコード管理システムと統合されており、自動デプロイパイプラインを構成できます。

  • 認証

Amazon Cognito とシームレスに統合されており、ソーシャル認証機能やユーザープールの管理が可能です。

  • API

AWS AppSync や Amazon API Gatewayを使って、サーバーレスAPI(GraphQLやREST)を構築できます。

  • データの保存

Amazon DynamoDBなどのAWSデータストアに簡単にデータを保存できます。

  • ファイルストレージ

Amazon S3や Amazon Elasticsearchにファイルやデータを保存できます。

Amplifyを使用するメリデメ

Amplifyは便利なサービスですが、メリットとデメリットがあります。

メリット

  • 開発の効率化
    Amplifyは、認証、API、ストレージ、アナリティクスなどの機能を提供しているため、開発者はこれらの機能を素早く実装できます。これにより、開発時間を大幅に短縮できます。
  • コスト削減
    Amplifyはマネージドサービスなので、開発者はインフラストラクチャの管理やスケーリングの心配をする必要がありません。これにより、運用コストを削減できます。
  • セキュリティ
    AWSのサービスはセキュリティ面で信頼性が高いため、Amplifyを使用することでセキュリティリスクを軽減できます。
  • 統合性
    Amplifyは他のAWSサービスと連携しやすいため、必要に応じて機能を拡張することができます。

デメリット

  • ベンダーロックイン
    Amplifyは、AWSのサービスに依存しているため、他のクラウドプロバイダーに移行するのが難しくなる可能性があります。
  • カスタマイズ性の制限
    Amplifyは多くの機能を提供していますが、高度なカスタマイズには制限があります。複雑なアプリケーションの場合、Amplifyだけでは不十分な場合があります。

Amplifyの利用に向いているケース

  • スタートアップや小規模プロジェクト
    リソースが限られている場合、Amplifyを使うことで開発効率が上がります。
  • マイクロサービスアーキテクチャ
    Amplifyは、マイクロサービスの構築に適しています。各サービスにAmplifyを適用すれば、開発を容易にすることができます。
  • シンプルなWebアプリやモバイルアプリ
    認証、ストレージ、APIなどの基本的な機能が必要な場合、Amplifyを使用すれば、比較的簡単に実装ができるので、有効な選択肢となります。

参考記事

Amplifyに関する参考記事をまとめました。

インストール

Amplifyのインストールについては、以下の記事が参考になります。

https://qiita.com/Junpei_Takagi/items/f2bc567761880471fd54

アプリケーションをAmplifyでデプロイするまで

https://aws.amazon.com/jp/getting-started/guides/deploy-webapp-amplify/

Amplify CLIチートシート

Amplifi CLIのコマンドのチートシートは以下になります。

https://qiita.com/bonjiko/items/93e8fad618bd4b588b63

ドキュメント

https://docs.amplify.aws/

Discussion