AWS Amplifyとは
AWS Amplifyは3つの要素から成る。
ポピュラーなWebサービスに必要な開発・運用ツールを一式揃えた感じ。
-
Amplify CLI
amplify
コマンドを使ってバックエンドのAWSリソースを構築する。
例えばamplify auth add
と打てばCognito用のCloudFormationテンプレートが生成され、
amplify auth push
かamplify push
すれば、それがAWS上に反映される。
https://github.com/aws-amplify/amplify-cli -
Amplify Framework
iOS/Android/Web向けのクライアントライブラリでフロントエンドの開発時に利用できる。
AWSバックエンドとの連携が容易になる。
例えば、Vue.jsで<amplify-authenticator />
と書くと認証/新規登録/リマインダーが実装できる。謎。
https://docs.amplify.aws/ -
Amplify Console
Amplify Console は*.amplifyapp.com
ドメイン下にWebアプリケーションをホストする。
Gitリポジトリと連携することでCI/CDパイプラインを使ったビルド/デプロイ/テストを自動実行してくれる。
他にも機能はあるがここでは割愛する。
https://aws.amazon.com/jp/amplify/console/
Amplify Console によるバックエンドの自動構築
Amplify Console は当たり前のように Amplify CLI と相性がよく、バックエンド設定は自動検知され、再現可能な状態で構築作業が自動化される。
Gitリポジトリを Amplify Console に紐づけておくことで、Gitにコミットするたび自動的に amplify push
され、差分がバックエンドに反映される。
バックエンドの構築が手軽に行えるので、Amplify Console でありがちなユースケースについてまとめた。
バックエンドの構築パターン
Gitブランチごとのバックエンド構築
基本的な機能としてブランチごとに環境を構築できる。
ドメイン、パイプライン、バックエンド等がそれぞれのブランチ毎に作成される。
AWSコンソールか aws amplify create-branch
で対象ブランチを追加。
もしくは Branch autodetection をONにすると、自動的にパターンに当てはまるブランチを検出して追加することもできる。この時、毎回バックエンドを構築したり、全てのブランチで特定のバックエンドに向けたりできる。
開発者ごとのバックエンド構築
Amplify CLI には env
というものがあり個別の環境を定義できる。
amplify env add
で環境の追加、 amplify env checkout
で環境の切り替えを行う。
各自の env
とGitブランチを紐付けて Amplify Console に登録すれば、開発者ごとにバックエンド環境を用意できる。
PRのレビューがしたい時のバックエンド構築
https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html
現状、GitHubかつプライベートリポジトリじゃないとダメな機能。
PRを出したタイミングで自動的にバックエンドが構築され、マージされると自動的に削除される。
補足
バックエンドを自動構築できても、ストレージの中身は自分で用意してやる必要がある。
参考
AWS Amplify Console 概要
AWS Amplify コンソールユーザーガイド
Amplify Framework