みなさん、こんにちは。サニービュー事業部の小寺です。

今月よりAmplifyがフルスタックのCI/CDをサポートするようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2021/07/aws-amplify-launches-new-full-stack-ci-cd-capabilities/

■AWS Amplifyとは

AWS Amplifyとは、AWSがOSSで公開するモバイルアプリケーションやWebアプリケーションを簡単に構築できるフレームワークです。

1) サーバーレスなバックエンドをセットアップするための Amplify CLI
2) フロントエンドからバックエンドに接続するための Amplify Libraries
3) CI/CD やウェブアプリのホスティングに向けた Amplify Console
4) ユーザー管理や CMS 的なコンテンツ管理を一元化するコンソール Amplify Admin UI
などから構成される、Web およびモバイルアプリ開発のためのフレームワークです。

また、Amplify はコミュニティの支持を受けていて、GitHub で最も成長しているオープンソースプロジェクトのトップ 5に入っています。多くの人がAmplifyの改善に関わると、より発展していきますね。

■Amplifyはどう活用できる?

1) 使いたいサービスがすぐ見つけられる

AWS Amplify では「カテゴリ」と呼ばれる機能単位でアプリケーションに機能を追加することができます。例えば Auth カテゴリでは認証機能を追加することができ、API では REST API や GraphQL API をセットアップできます。このように、AWS Amplify では様々な機能をユースケースベースで追加し、利用できます。

2)使いたいサービスをすぐ始められる

Amplify CLI では、対話形式で設定をします。全ての入力でデフォルトの選択肢が用意されており、エンターキーを押していくだけでセットアップをすることができます。また、オプションを選択することで、追加の設定を行うこともできます。

3)AWSのベストプラクティスに沿った構成ができる

・セキュリティ
AWS 上のリソース間での呼び出し権限 (例えば AWS AppSync が AWS Lambda を呼び出すなど) を管理するには、 AWS IAM という仕組みを利用します。IAM で必要最低限の権限のみをリソースに与えることでセキュリティを担保します。Amplifyでは、AWS リソースのプロビジョニングに利用する Amplify CLI は、対話形式のインタフェースで作成したリソース間の呼び出し用権限を作成できるため、IAMポリシーを追加し、アタッチをする必要がありません。

・スケーラビリティ
AWS Amplify プロビジョンするリソースはほとんどがサーバーレスです。サーバーレスなサービスを利用することで、スケーラビリティを担保することが可能になります。最初にスモールスタートした時と同じ構成のまま、利用者が増えてきてもスケールアップさせることができます。

・コスト
サーバーレスな構成でのメリットとして、コストの最適化が挙げられます。サーバーレスなサービスは従量課金式のサービスがほとんどで、アプリケーションのトラフィックに合わせてコストも増減します。従来の EC2 インスタンスを用いたアプリケーションでは、トラフィックが少ない場合でも定常的にコストがかかってしまいます。サーバーレスな環境ではトラフィックの少ない立ち上げ時のコストが抑えられるだけではなく、本番稼働して、一定のトラフィックが発生した場合でも、コストの最適化ができます。

■Amplifyの利用料金

AWS Amplify フレームワークを使用する際の料金は利用されるAWSのサービスに対して課金が発生します。Amplifyの追加料金はありません。

ただし、AWS Amplify コンソールを利用する際はビルド& デプロイ、ホスティングという2つの機能に対して料金が設定されています。

・ビルド & デプロイ機能の場合、ビルド分あたりの料金は 0.01USD
・ホスティング機能の場合、対象の GB ごとの料金 0.01USD

■このリリースでうれしいこと

コミットされた「amplify」フォルダで変更が検出された場合にだけ、バックエンドが更新されるようになりました。
Amplify コンソールでは、フルスタックデプロイを設定するためのワークフローが改善されました。ブランチを任意の Amplify アプリからバックエンド環境にポイントするだけで、Amplify は単一のワークフローでフロントエンドとバックエンドを自動的にビルドしてデプロイします。
さらに、フロントエンドだけをビルドする場合は、aws-exports ファイルをチェックする必要がなくなりました。Amplify は、選択したバックエンド環境のビルド時にファイルを自動的に作ります。

■まとめ

いかがでしたでしょうか。SunnyCloudでは、AWS構築、移行、請求代行サービスなど様々なソリューションをご提供しております。
AWSのコストを削減したい、無駄なコストが発生していないか心配・・という方向けに 「AWS利用料の削減を極める」と題したWebinarを7/27(火)13時~開催いたします。
ご興味のある方は、ぜひお申込みをお待ちしております。

https://www.sunnycloud.jp/20210727/

・参考リンク:https://aws.amazon.com/jp/builders-flash/202103/amplify-app-development/