web-dev-qa-db-ja.com

AWS Lambda @ Edgeレプリカを削除できません

この質問はすでに存在します ここ が、SOへの影響がより大きくなると思います。

CloudfrontのURLがオリジンに到達する前に書き換えるために、AWS Lambda @ Edge関数を作成しました。
AWS Lambda @ Edge Functionは公開時にすべてのリージョンで自動的に複製されるため、すべてのリージョンでこれが見られても驚くことはありませんでした。

enter image description here

ここで問題が始まりました
テストのためにLambda @ Edgeを削除し、新しく新しいものを開始したいのですが、レプリカが同時に削除されませんでした。
当時はたいしたことではなかったので、新しいLambda @ Edge関数を作成するだけでよいと思いました。
しかし、Cloudfrontトリガーは一度に1つの関数しか使用できないため、使用できません(レプリカがそれを使用するため、新しいものを作成します)。
さらに、トリガーも削除できません

だから今私は削除できず、同様のレプリカを作成できないどこでもLambda @ Edgeレプリカで立ち往生しています。


TL; DR

  • CloudFrontトリガーでLambda @ Edgeを作成しました
  • 削除して新しい(類似した)ものを作成しました
  • 現在、レプリカはまだ存在しています
  • レプリカを削除できません
  • トリガーがレプリカによって既に「使用中」であるため、新しいLambda @ Edgeを作成できません(削除できません)。

これについていくつかの助けを借りて私は感謝します
フランソワ


編集:

私のレプリカのページでは、Master ARNへのリンクが404で応答するため、間違いなくバグだと思います。

26
Francois

私は答えの一部を見つけました:

Cloudfrontの動作でトリガーを削除するが必要であることがわかりました。
単に:

  • Cloudfrontディストリビューションの動作に移動します
  • LambdaEdgeをトリガーするものを確認します
  • Editをクリックします
  • ページの一番下に移動し、[〜#〜] x [〜#〜]をクリックしてトリガーを削除します

それでも、レプリカを削除することはできませんが、少なくともこのトリガーの新しいラムダを作成できます...

19
Francois

私はこの問題をAWSサポートに尋ねたところ、その答えは「複製されたラムダ関数を今のところ削除することはできませんが、多くの人がこれを必要としていることはわかっています」のようでした。

AWS Lambda @ Edge http://docs.aws.Amazon.com/es_es/lambda/latest/dg/lambda-Edge.html

トリガーを作成すると、Lambdaは関数をAWSリージョンと世界中のCloudFront Edgeロケーションに複製します。レプリカは編集または削除できないことに注意してください。

5
reki

現在、ドキュメントがあります こちら 「数時間」後にレプリカが削除されると記載されています-これは、Lambda関数も削除できることを意味します。

更新2020-01-05:Lambdaを削除すると、〜1時間かかり、すべてが消えてしまいます!だからそれはただ遅いですが、通常のラムダと同様に動作しますか?

2
lony

*トリガーを削除してからラムダを作成しようとしても(私の場合はラムダが30に近くなります)*、新しいラムダ@エッジを作成できませんでした。最後にこれをやった

Lambda関数に関連付けられているcloud-frontディストリビューションを削除しました。移動が簡単になりました。関連するラムダのみが使用するディストリビューションであることを確認してください。

0
selvasundarraj

関数を削除できることがわかった最良の答えは、以下の手順に従います。

  1. デプロイされた関数のすべてのバージョンについて、その特定の関数のトリガーを削除します。
  2. AWSがその特定の機能のデプロイされたすべてのレプリカを自動的に削除するまで数時間待ちます。
  3. すべてのレプリカが自動的に削除されたら、Lambda関数を削除してみてください。あなたは成功するはずです。

出典: https://adrian.simionov.io/aws/2019/08/28/deleting-lambda-at-Edge-functions.html

0