amplify-login で始まる Lambda 関数の削除可否について教えてください

2024.01.30

困っていた内容

リソースの整理を実施していますが、作成した覚えのない Lambda 関数が存在していました。
いずれも「amplify-login」で始まる関数でしたが、削除してよいかどうかについて教えてください。

どう対応すればいいの?

Amplify Studio を使用していない場合は削除しても問題ありません。

「amplify-login」で始まる関数は Amplify Studio の有効化時に自動的に作成される関数です。

To provide a passwordless login experience from AWS Amplify Console to Amplify Studio, Studio creates 4 Cognito Lambda triggers associated with the above-mentioned User Pool, named:

- amplify-login-create-auth-challenge-SHORT_CODE
- amplify-login-custom-message-SHORT_CODE
- amplify-login-define-auth-challenge-SHORT_CODE
- amplify-login-verify-auth-challenge-SHORT_CODE

Amplify 公式ドキュメントより

Amplify Studio が有効化されている場合には、Amplify Studio を無効化することで上記関数も自動的に削除されます。
また、以下の Cognito ユーザープールも自動的に作成、削除される対象となっています。

  • amplify_backend_manager_APPID

Amplify アプリと Lambda 関数の関連性を特定する方法

上述の通り、Amplify Studio の有効化によって Cognito ユーザープールが作成されます。
Cognito ユーザープール名「amplify_backend_manager_APPID」の末尾のAPPIDは Amplify のアプリ ID です。

Cognito ユーザープール内の Lambda トリガーには上述の「amplify-login」から始まる関数が存在しているため、Cognito ユーザープール名に含まれるアプリ ID と Amplify のアプリ ID が一致している場合、Amplify アプリと Lambda 関数の関連性を特定することができます。

やってみた

まずは test という Amplify アプリを作成し、Amplify Studio を有効化します。

Lambda 関数と Cognito ユーザープールが作成されました。

Cognito ユーザープール名は「amplify_backend_manager_dmcbijjblm4wf」のため、末尾の dmcbijjblm4wf が Amplify アプリの ID です。
Amplify アプリの ID と一致していることが確認できます。

Cognito ユーザープール内のユーザープロパティには 4 つの Lambda 関数が表示されているため、これらの Lambda 関数は上記の Amplify アプリに紐づいています。

Amplify Studio を無効化することで関連リソースを削除することができます。

参考資料