2021/01/26

AWS Amplifyの主な機能や特徴について|インストール方法も紹介

 
  

「AWS Amplify」とは

AWS上でWebアプリケーションやモバイルアプリケーションを構築するための便利なフレームワークです。 「AWS Amplify」では、サーバーレスなバックエンドをセットアップするための「CLI(Command Line Interface)」、フロントエンドで利用できる「UI コンポーネント」、CI/CD(Continuous Integration/Continuous Delivery)やホスティングのための「コンソール」で構成されています(詳細は後述します)。

「AWS Amplify」で付随するAWSサービス

AWS上にて「AWS Amplify」を利用することで、ストレージサービスの「Amazon S3」とコンテンツ配信ネットワークサービスの「Amazon CloudFront」がデフォルトで用意されます。 これらのサービス利用にはある程度の設計スキルが必要ですが、「AWS Amplify」を利用するだけで、特に意識せずにスケーラブルなWebアプリケーションを容易に構築できます。

「AWS Amplify」の主な特徴について

「AWS Amplify」は、AWS上でWebアプリケーションやモバイルアプリケーションを開発する際に役立つ特徴が多く含まれています。 具体的なAWSサービスの説明を交えながら、これらの特徴を解説していきます。

各種AWSサービスとの連携性

スケーラブルなWebサイトの構築用のAWSサービス以外にも、多数のAWSサービスと簡単に連携することが可能です。 例えば、「Amazon Cognito」等の「ユーザー認証機能」、ストレージサービスの「Amazon S3」や「RESTful API」等の各種APIサービスがあります。

フロントエンドアプリケーションとの中継機能

フロントエンドアプリケーションとAWSサービスとの「中継役」として「AWS Amplify」を利用することで、高度なサービスのインテグレーションを容易に実現可能です。 例えば、「ログイン機能」をアプリケーションに実装する場合には、「AWS Amplify」を利用して「ユーザー認証機能」として「Amazon Cognito」追加するだけで利用できます。

「AWS Amplify」で連携可能なその他のAWSサービス

「ユーザー認証機能」以外にも、IoTソリューションサービスの「AWS IoT」、「GraphQL API」の開発を容易にする「AWS AppSync」、RESTful APIサービスの「Amazon API Gateway」、ユーザーエンゲージメントを強化するサービスの「Amazon Pinpoint」等との連携が可能です。

モダンフレームワークへの対応

「AWS Amplify」は、アプリケーションの機能要件に応じて、様々なJavaScript製のモダンフレームワークの中から最適なものを選択して利用できます。 例えば、「Angular JS」、「React」、「Vue.js」等の人気のあるフレームワークに対応しています。 GoogleやFacebookといった大手のIT企業で開発されたこともあり、APIリファレンス等のドキュメント類が充実しています。

利便性の高いAWS社製のOSS

「AWS Amplify」は、利便性の高いAWS社製のOSS(オープンソースソフトウェア)です。 GitHubで公開されているため、「AWS Amplify」開発者等と議論しながら機能追加等のプルリクエストも送れます。 GitHubからソースコードをダウンロードして、作成しているアプリケーションの独自要件に合わせて自分でカスタマイズすることも可能です。

「AWS Amplify」を利用するメリット

近年では、クラウドベースでのアプリケーション開発が一般的になってきました。AWSの場合は、豊富に用意されている各種AWSサービスを適切に組み合わせて活用することがベストプラクティスとなっています。 一方で、様々なAWSサービスとのインターフェース部分をアプリケーションに実装する必要があり、アプリケーションの連携先が増えるにつれて開発コストも増大していくという問題があります。

開発コストの削減

「AWS Amplify」の利用で、連携に関わる部分の開発コストを抑制し、コアとなる機能の開発に注力できるというメリットがあります。 AWSサービスとの連携部分の開発は重要ですが、それ自体はプロダクトの価値にはつながりません。いわゆる「差別化に繋がらない重労働 (Undifferentiated Heavy Lifting)」に該当し、こういった作業を削減していくという思想に基づいて「AWS Amplify」が提供されています。

スケールアウトするアーキテクチャ

自社のビジネスが順調に拡大すると、それに合わせてサービスを提供しているECサイト等もスケールアウトさせていく必要があります。 通常、小規模なサイトからスタートするため、急激にサービスが成長した場合に、アーキテクチャのスケールが間に合わないことがあります。 「AWS Amplify」では、バックエンドのストレージサービス(Amazon S3等)や各種機能(AWS Lambda)が最初からスケールアウト可能となっているため、そのためのシステム更改が不要となります。

ビジネスニーズの変化にスピード対応

「AWS Amplify」では、バックエンドの各種AWSサービスを短時間で切り替えられるため、ビジネスニーズの変化に柔軟かつ迅速に対応できます。 例えば、プロダクトとしてのECサイトが順調に成長して、商品の販売動向を機械学習で分析したいといったニーズが後から発生した場合にも、「AWS Sagemaker」という機械学習用のAWSサービスと連携するだけで利用が可能です。

「AWS Amplify」の主な機能について

「AWS Amplify」を構成している各種機能について解説していきます。 具体的には、「AWS Amplify」は、「Amplify CLI」、「Amplify Framework」、「Amplify Console」といった機能で構成されています。

「Amplify CLI」とは

「Amplify CLI」とは、コマンドベースで各種AWSサービスを設定や構築するツールです。 「AWSマネジメントコンソール」画面のようなGUIベースでの操作が一般的ですが、バッチ処理等からAWSサービスを利用する場合には不向きでした。 他にも、AWSサービスとの連携用の設定ファイルやソースコードを自動生成してくれます。

「Amplify Framework」とは

「Amplify Framework」とは、クライアント側のフレームワークで、UIコンポーネントや各種JavaScriptライブラリで構成されています。 モバイル環境(iOS、Android)やJavaScriptライブラリ(React/Vue.js/Angular JS)等向けにインターフェースが用意されています。

「Amplify Console」とは

「Amplify Console」は、静的なホスティング機能とCI/CD等のデプロイ機能を自動化したマネージドサービスです。 ソースリポジトリの「GitHub」や「AWS CodeCommit」と連携可能となっています。

「Amplify CLI」のインストール方法について

「Amplify CLI」のインストール方法について解説していきます。前提条件として、「AWS CLI」をインストールしておく必要があります。 Windowsの場合は、コマンドプロンプトにて、以下のコマンドで「AWS CLI」のバージョンを確認することが可能です。 C:\> aws –version aws-cli/2.0.48 Python/3.7.5 Windows/10 botocore/2.0.1

「npm」を使用した「Amplify CLI」のインストール

「Amplify CLI」は、「npm」を利用してインストールします。具体的には、以下のコマンドを実行します。 $ npm install -g @aws-amplify/cli これで「Amplify CLI」がインストールされます。実行後に画面に「Successfully installed the Amplify CLI」と表示されたら成功です。

「Amplify CLI」のインストール確認

最後に、「Amplify CLI」が正常にインストールされたかを確認します。具体的には、以下のコマンドを実行します。 $ amplify –version Scanning for plugins… Plugin scan successful 4.29.3 上記のようにバージョンが表示されたらインストール成功です。「AWS Amplify」を活用して、ビジネスの成長を加速させていきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】