AWS Amplify Hosting (旧Amplify Console) の Feature Request を読む
はじめに
記事の内容
AWS AmplifyはGithubにレポジトリが公開されています。
その中で、Amplify Hosting(旧Amplify Console)のissueでfeature request
のラベルが付いているものを、👍 のリアクションが多い順に10個、ただ読んでみただけの記事です。
(リアクション数は2022/03/11時点のものです)
Amplifyへの要望になりますので、逆に言うと Amplifyで出来ないことのリスト ともいえます。
補足:Amplify ConsoleがAmplify Hostingになってる件
Amplify ConsoleからAmplify Hostingに名前が変わっていました。3月頭くらいでしょうか。
「Amplifyは知ってるけどAmplify Hostingって何?」という方、Amplify Consoleのことです。
Amplify Consoleという名前でどんな機能なのか分かりにくかったので、よい修正だと思います。
(でも、記事書いてる途中に変わられると修正が面倒です。。。公開前で良かったと思うべきか。)
Amplify Hosting の Feature Request (上位10個)
では、本題のAmplify Hosting の Feature Request、上位10個です。
Next.js 12のサポート(close済)
- Next.jsのv12をサポートして欲しいという内容です。
- AmplifyはNext.jsに対応はしましたが、現状v11までのサポートとなっており、最新のv12は対象外です。
- Next.jsは人気のframeworkですので、最新化されていると利用者も増えそうですね。
Nuxt.js のサポート
- 「Next.jsには対応したのにNuxt.jsが未対応なのは不公平だ😡 」という内容です。
- Next.jsがReactのSSRに対して、Nuxt.jsはVue.jsのSSRになります。片方だけ実装されているのは納得いかないという気持ちは分かりますね。
- 特に日本ではVue.jsの人気が高い傾向があるので、Nuxt.js対応は多くの日本人ユーザーが待望かもしれません。
- いつも思うのですが、この紛らわしい名前なんとかならなかったんですかね。NextとNuxtとNest。
AWS Chatbotへビルド通知を連携する機能
- ビルド通知をSlackに通知したいということですね。現状Amplify Hostingの画面からだと、メール通知しか設定できません。
- 是非、実装して欲しい機能です。
- 手動での設定は可能でして、私が記事に書いていたりするので、興味ある方は試してみてください。
https://zenn.dev/ibaraki/articles/1da11379e528b5
Build badges
- Build badges って何だよ??? と思いました。
- CodeBuildの機能の1つみたいですね。普段はAmplifyかGitHub Actionsばかりを使うので知りませんでした。
AWS CodeBuild でビルドバッジが使用可能になりました。ビルドバッジは、埋め込み可能なイメージ (バッジ) として動的に生成され、プロジェクトの最新ビルドのステータスを示します。このイメージにアクセスするには、CodeBuild プロジェクトに対して生成されるパブリックアクセス可能な URL を使用できます。そのため、誰でも CodeBuild プロジェクトのステータスを確認できます。ビルドバッジにはセキュリティ情報が含まれないため、認証は不要です。
- つまり、この生成されたURLをwebとかgithubのreadmeに埋め込むことで、誰でもビルドステータスを確認できるってことみたいですね。確かにAmplifyでは使用できないですね。
- あれば便利そうですけど、個人的には前述のslack通知作っておけば十分かなって感じます。
Rewrites and Redirects の設定をコンフィグファイルに保存したい
- 何のことだ?と最初は思ったのですが、ここの設定をファイルで管理したいということですね。(それにしても雑な日本語訳ですね。。。)
- 何故かあまり考えたことがなかったですが、SPAの場合ほぼ確実に設定が必要になりますので確かに設定ファイルで管理したいですね。
- Amplifyのリダイレクト設定については、こちらをご参照ください。
https://docs.aws.amazon.com/ja_jp/amplify/latest/ug/redirects.html
WAF(Web Application Firewall)に対応
- WAF(Web Application Firewall)に対応してほしいという内容です。
- これは、対応してほしいですね。本番での運用を考えるとセキュリティは言うまでもなく重要な項目です。実際にWAFが必要かどうかは要件や費用との兼ね合いになりますが、WAFが使えないことでAmplifyが利用できないケースが出るのはもったいないです。
セルフホスティングしたGitLab(CE)やGitHub Enterpriseのサポート
- オンプレのGitLabやGitHub Enterpriseへのサポートをして欲しいという内容ですかね。
- 個人的には、これは要らなくないか?と思いました。
- セルフホスティングしたということは利便性よりもセキュリティを重視してるんだと思うんですよね。AWSへのDeployを簡単にできるようにする機能を、自分では制御出来ないAmplifyに求めるのは本末転倒ではないかなと思ってしまいます。
- もしもGitLabからのCDを構築する手段が無いのであれば、できるようにしたいという意見は分かりますが、GitLab Runner上から
amplify push
やamplify publish
すれば自力でCI/CDを構築できるはずなので、そのくらい作ればいいのでは?と思います。
IPアドレスのホワイトリスト方式でアクセス制御したい
- ホワイトリスト方式でIPアドレスのフィルタリングやアクセス制御をしたいという内容ですね。
- AmplifyにはCognitoを使った認証機能やBasic認証はついていますが、ネットワークの制限機能は無いですね。業務アプリですと自社内のみからアクセスできるように制限したいという要件は一般的ですし、この機能は欲しいですね。
gitブランチに基づくA/Bテストをしたい
- 「A/Bテストをしたい。netlifyならできるぞ。」ということらしいです。
- 個人的に、A/Bテストにあまり知見がないのでなんとも言えないですが、たしかに出来ないですね。
ビルドインスタンスのスペックを上げる設定を増やしてほしい
- ビルドに使っているインスタンスのスペックを上げられるようにしてほしい。時間がかかってつらい。という内容ですね。
- スペックに関しては今の困ったことはないですが、たしかに欲しい機能ではありますね。
- 現状はビルドインスタンスやビルドイメージ等のビルド環境のカスタマイズは全般的に弱いので、強化されると嬉しいですね。私が使っているプロジェクトでもDeployはAmplify使ってますが、CIはやりづらいのでGitHub Actionsも併用していたりします。
さいごに
- Amplifyは便利ですが、まだまだ出来ないことも多いので、こういった要望が上がっている機能が実装されていくとより使いやすくなりますね。
- 単純に読んだだけでしたが、あまり知らない機能とか考えたことなかった要望とかもあったので勉強になりました。
- issueの中身を読むと「netlifyならできるぞ!!」ってコメントが各所にあったので、netlifyが気になってきました。
記事の更新
2022/07/22
久しぶりにチェックしたら順位の変動があったので、ソートしました。
- Next.js ↑
- Nuxt.js ↑
- Chatbot ↓↓
SSRへの要望が強い
2023/01/26
Next.jsのv12,v13は対応済の旨を追記
NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion