Lambda@Edge 関数とレプリカを削除する
Lambda@Edge 関数を削除できるのは、関数のレプリカが CloudFront によって削除された場合のみです。Lambda 関数のレプリカは、次のような状況では自動的に削除されます。
-
すべての CloudFront ディストリビューションから関数の最後の関連付けを削除した後。複数のディストリビューションで関数が使用されている場合、最後のディストリビューションから関数の関連付けを削除した後にのみ、レプリカが削除されます。
-
関数が関連付けられた最後のディストリビューションを削除した後。
レプリカは通常、数時間以内に削除されます。Lambda@Edge 関数のレプリカを手動で削除することはできません。これにより、まだ使用中のレプリカが削除され、エラーが発生する状況を防ぐことができます。
警告
CloudFront の外部で Lambda@Edge 関数のレプリカを使用するアプリケーションを構築しないでください。これらのレプリカは、ディストリビューションとの関連付けが削除されるか、ディストリビューション自体が削除されると削除されます。外部のアプリケーションが依存するレプリカが警告なしに削除されて、エラーが発生することがあります。
CloudFront ディストリビューションから Lambda@Edge 関数の関連付けを削除するには (コンソール)
AWS Management Console にサインインし、https://console.aws.amazon.com/cloudfront/v4/home
で CloudFront コンソールを開きます。 -
削除する Lambda@Edge 関数の関連付けがあるディストリビューションの ID を選択します。
-
[Behaviors] タブを選択します。
-
削除する Lambda@Edge 関数の関連付けがあるキャッシュビヘイビアを選択し、[編集] を選択します。
-
Lambda@Edge 関数の関連付けを削除するには、[関数の関連付け]、[関数タイプ]、[関連付けなし] の順に選択します。
-
[Save changes] (変更の保存) をクリックします。
CloudFront ディストリビューションから Lambda@Edge 関数の関連付けを削除した後、必要に応じて AWS Lambda から Lambda 関数または関数バージョンを削除することもできます。関数の関連付けを削除したら、Lambda@Edge 関数のレプリカをクリーンアップできるようになるまで数時間待ちます。その後、Lambda コンソール、AWS CLI、Lambda API、または AWS SDK を使用して関数を削除できます。
特定のバージョンの Lambda 関数が、どの CloudFront ディストリビューションにも関連付けられていない場合は、このバージョンを削除することもできます。Lambda 関数バージョンのすべての関連付けを削除したら、数時間待ちます。その後に関数バージョンを削除できます。