AmplifyのバグをAWSに報告して直してもらった話
NCDC 茨木 啓太
2021/09/15
[オンライン開催]初心者歓迎!!AWSなんでもLT会 #2
簡単な自己紹介
l 名前 : 茨木 啓太
l 所属 : NCDC株式会社
l 役割 : シニアITコンサルタント
l 最近使った主なAWSサービス
l Amplify : Webアプリを作るのに
l Greengrass : ラズパイ上でLambdaを動かすのに
l 時々Zennに記事書いてます →→→→→→→→
l 今日の内容も過去の記事がベースです
l https://zenn.dev/ibaraki/articles/0d3db66e08c5f9
2
今日の話
l AWS Amplifyは便利だけど、結構バグがあるから気をつけよう
l AWS Amplifyについて、超簡単に紹介
l AmplifyのAPIにコンテナ(ECS + Fargate)を使う話
l Amplifyで作ったコンテナとAWS Secrets Managerを連携する話
l ↑の機能で挙動がおかしかった
l ↑を問い合わせたら、バグであることが発覚して直してもらった
3
Amplifyとは
l モバイルおよびウェブのアプリケーションを最速で構築する方法
l と公式に書いてある
l https://aws.amazon.com/jp/amplify/
l 公式から、そのまま引用
l つまり、Webアプリを簡単にAWS上にデプロイできるサービス
4
Amplifyのコンテナ対応
l 2020年12月:AmplifyのAPIがコンテナー(ECS + Fargate)に対応
l こんな感じのバックエンドをAmplifyで作ってみました
5
DBのPWを
管理するのに
AWS Secrets Manager
使いたい
AmplifyのコンテナのSecrets Manager対応
l ググったら、対応してました。
l https://docs.amplify.aws/cli/usage/containers/#environment-variables-and-
secrets
6
Amplifyの公式ドキュメント間違っているので注意
l 2021/09/13時点で現在進行系
l 公式ドキュメントを信じて作った間違ったdocker-compose.yml
7
l 本題のバグはこれではないです。
l AWSの公式ドキュメントは、まだ直ってません。(2021/09/15時点)
Amplifyで使うdocker-compose.yml (正解)
8
これがいる
(余談) GitHubとAmplifyの連携するときの注意、、、
l GitHubのRepository + branchの文字列が長いとエラーになります
l Amplifyが作るAWSのリソースは、勝手に名前が付けられます
l 名前が長いとRoute53のドメイン名のラベルの上限に引っかかります
l とりあえずブランチ名を6文字以下にしておけば、多分セーフ
l ✗ production, staging, development
l ◎ prd, stg, dev
l 本題のバグはこれではないです
9
本件でZennに記事書いてます
[本題] Amplifyのdocker対応のシークレット機能がバグってた話
l Amplifyのバグっていた挙動
l シークレットを持っていない開発者がAmplifyに
デプロイするとシークレットが消える
l 正確にはECSからSecrets Managerへの参照が消える
l 期待する動き
l 前提
l アプリは複数人での開発
l シークレットは、責任者のみが更新可能
l 一般の開発者はシークレットを持っていない&触れない
l どう有るべきか
l シークレットを持たない人がdeployした場合、
シークレットは変更されない
10
シークレット
AWSに問い合わせて、直してもらった流れ
l 02/06 : AWSのサポートに問い合わせ
l Amplify CLI Version : v4.41.2
l 02/16 : 不具合の可能性が高いとAWSから連絡
l 02/19 : バグであることが確定。Issueになる
l https://github.com/aws-amplify/amplify-cli/issues/6669
l 05/01 : プルリクされる
l https://github.com/aws-amplify/amplify-cli/pull/7224
l 05/05 : マージされる
l 05/14 : リリースされる
l Amplify CLI Version : v4.51.0
l https://github.com/aws-amplify/amplify-cli/releases/tag/v4.51.0
11
まとめ
l Amplify、とても便利ですが、
結構バグってるから気をつけたほうよいです。
l 問い合わせてバグだと分かると直してくれましたが、
3ヶ月くらいかかりました。
l 早く直したいときは、 Contributorになって、自分で直そう!!
12
最後に改めて、簡単な自己紹介
l 名前 : 茨木 啓太
l 所属 : NCDC株式会社
l 役割 : シニアITコンサルタント
l 最近使った主なAWSサービス
l Amplify : Webアプリを作るのに
l Greengrass : ラズパイ上でLambdaを動かすのに
l 時々Zennに記事書いてます →→→→→→→→
l 今日の内容も過去の記事がベースです
l https://zenn.dev/ibaraki/articles/0d3db66e08c5f9
13
AmplifyのバグをAWSに報告して直してもらった話

AmplifyのバグをAWSに報告して直してもらった話