amplify-login で始まる Lambda 関数の削除可否について教えてください
困っていた内容
リソースの整理を実施していますが、作成した覚えのない 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 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 を無効化することで関連リソースを削除することができます。