こんにちは、技術1課の加藤です。
re:Invnet 2020 の冒頭に、私の大好きな AWS サービス Amplify の新しい機能が発表されました。
これは気になる、、、! ということで今回はその新機能、管理画面を提供する Admin UI について紹介していきます!
Amplify Admin UI とは
バックエンドのセットアップや管理を行うために用意される、新しい管理画面です。
各 Amplify アプリごとに立ち上がり、認証やデータストアの設定などを GUI で設定できるようにしてくれます。
何が嬉しいの
Amplify を使うとモバイル・Webアプリケーション環境を簡単に構築できることはみなさんご存知かと思います。
ただ簡単に、とは言っても、それなりにハードルがあるのが痛いところ。
Amplify を使ったバックエンドリソースの作成は基本的に Amplify CLI と呼ばれる CLI ツールを使う必要があり、コマンド操作に慣れていないと若干使いにくいです。
さらに利用する各リソースについて、それなりに深い知識が要求されるのも特徴的。
API 仕様を決めたければ AppSync を知らなければいけないし、認証機構を用意したければ Cognito について学ばなければいけない。
AWS に慣れている人にとっては構築時間が短縮されて非常に便利だったのですが、あまり慣れていない人にとってはここのハードルが高く、手が出しづらかったのではないでしょうか。
そんなお悩みを解決してくれるのがこの Admin UI。
裏で動く各種 AWS サービスについて意識させることなく、GUIを使った簡単操作でアプリのバックエンド環境を構築してくれます。
イメージ的には、Google 提供の Firebase の管理画面。
GUI を使った簡単設定に定評のある Firebase に少しずつ寄せてきたな、という印象です。
良きかな良きかな。
画面の紹介
基本的に Amplify CLI を用いて可能なリソース設定・作成は全てまとめてくれています。
画面を改めてみると左側メニューには大きく Mange と Set up という2つのカテゴリがあり、それぞれがいくつかのサブカテゴリを持ちます。
Manage
こちらはデータ管理機能。 以下の2つのサブカテゴリを持っています。
- Content:アプリが保持しているデータの読み書き
- User management:アプリに登録しているユーザーの管理
アプリのデータにアクセスし、どんなデータが保存されているのか、ユーザーが登録されているのかを確認できます。
Set up
こちらは名前通り、セットアップ可能なバックエンド機能一覧が並ぶカテゴリです。
- Data
- Authentication
- Functions
- Storage
- GraphQL API
- REST API
- Analytics
- Predictions
基本的には Amplify CLI で設定できる項目と大差はありません。
大きく異なるのは、Data というカテゴリがあることでしょうか。
このカテゴリでは GUI を使ったデータモデリングができます。
Amplify CLI では Schema 定義をテキストベースで行っていましたが、Admin UI ならわかりやすい画面でそれを行えると。便利ですね。
ただし現時点 (2020/12/8) では、Data, Authentication 以外の各カテゴリについては、Amplify CLI のコマンドが表示されるのみ。
GUI を使ったセッティングはできません。残念。
ここは今後に期待です。API や Storage 設定なんかはよく使いますし、 GUI からできた方が嬉しいなーなんて思いますね。楽しみにしておきましょう。
Admin UI のユーザー管理
Admin UI には AWS マネージメントコンソールにアクセスできるユーザーとは全く別で、Admin UI にアクセスできるユーザーを管理することができる機能がついています。
例えばアプリが持っているデータを活用したいメンバーがいるときに、IAMユーザー払い出してDBを覗いてもらうのか、それとも自前で管理画面を開発するのか、、、なんて悩むのはよくあることだと思います。
Admin UI を使えば、ユーザーを払い出すだけで専用の管理画面でデータを閲覧させることができます。便利。
この機能は Admin UI 上ではなく、AWS マネジメントコンソール側に用意されています。 アプリを選択している状態で左側メニューの Admin UI management をクリックしてください。
アプリの Admin UI にアクセスできるユーザーを管理する画面が開きます。
ユーザーを追加したいときは [Invite users] を押します。 すると招待したい相手の email アドレスと、その相手に与える権限を聞かれます。
Full access にするとその名の通りすべての機能が使えます。 後者 Manage only にすると、先に紹介した Mange 機能 (アプリのデータやユーザー管理) のみが利用できるユーザーが発行できます。
便利。素敵。ぜひ使い倒していきたいところです。
まとめ
Amplify に、バックエンド環境を GUI で構築する Admin UI が登場しました。
個人的にはアプリの保持するデータを表示するための管理画面を開発しなくてよくなるのはだいぶ魅力的。それ以外の機能については正直めちゃめちゃ便利になる、、、!という感じはしていません。
データモデリングは楽になるのかな。でもAPI作れない時点でちょっと実用には弱いかなって感じがします。
今後の発展に期待!