LoginSignup
7
12

More than 3 years have passed since last update.

Amplify Consoleでのバックエンド自動構築ユースケース

Last updated at Posted at 2019-12-17

AWS Amplifyとは

AWS Amplifyは3つの要素から成る。
ポピュラーなWebサービスに必要な開発・運用ツールを一式揃えた感じ。

  • Amplify CLI
    amplify コマンドを使ってバックエンドのAWSリソースを構築する。
    例えば amplify auth add と打てばCognito用のCloudFormationテンプレートが生成され、
    amplify auth pushamplify 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ブランチごとのバックエンド構築

基本的な機能としてブランチごとに環境を構築できる。
ドメイン、パイプライン、バックエンド等がそれぞれのブランチ毎に作成される。

amplify_app.png

AWSコンソールか aws amplify create-branch で対象ブランチを追加。
もしくは Branch autodetection をONにすると、自動的にパターンに当てはまるブランチを検出して追加することもできる。この時、毎回バックエンドを構築したり、全てのブランチで特定のバックエンドに向けたりできる。

branch_autodetection.png

開発者ごとのバックエンド構築

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を出したタイミングで自動的にバックエンドが構築され、マージされると自動的に削除される。

pr_preview.png

補足

バックエンドを自動構築できても、ストレージの中身は自分で用意してやる必要がある。

参考

AWS Amplify Console 概要
AWS Amplify コンソールユーザーガイド
Amplify Framework

7
12
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
7
12