chakimar Blog

Amplifyのプレビュー機能で発生するゴミを削除するLambdaを公開してみた

March 08, 2020

Amplifyのプレビュー機能を使ったときにCloudFormationとS3のゴミが残ってしまうのが嫌だったのでLambdaを作成して公開してみた

Amplifyのプレビュー機能とは

GitHubにプルリクエストを作成すると実行環境をAWSに自動で作成してくれる機能 この機能で作られた環境を使ってコードのレビューだけでなく、実際の動作確認までできてしまう。

Lambda動作概要

  • 削除失敗状態のCloudFormationを再削除する(再削除で対応できることが多いため)
  • CloudFormationは削除済みだがS3にCloudFormationテンプレートが残っている場合、S3を削除する

ソース

Github

導入手順

AWS Lambdaのコンソールからアプリケーションの画面を開き、 アプリケーションの作成を押す create application01

その他のオプションから AWS Serverless Application Repository を選択 create application02

カスタムIAMロールまたはリソースポリシーを作成するアプリを表示するのチェックを入れて 検索ボックスに amplify-previews-environment-cleanerと入力して検索 create application03

amplify-previews-environment-cleanerという名前のアプリを選択 create application04

AppNameに対象となるAmplifyアプリの名前を入力
Amplifyアプリ内でS3バケットを作成している場合は Bucketsにバケット名をカンマ区切りで入力
このアプリがカスタム IAM ロールを作成することを承認します。にチェックを入れてデプロイ create application05