0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

KinesisトリガーのLambdaに入ってくるデータが突然空になった

Last updated at Posted at 2023-07-12

起こったこと

突然Lambdaに入ってくるイベントが下の状態なってしまい、デコード時エラーで動かなくなってた。

{
  Records: [
    {
      kinesis: {
        data: "", // <-- 本来はここにbase64エンコードされたテキストが入ってくる。
        ...
      },
      ...
    }
  ]
}

原因はIP固定にするためVPCに入れたこと。
分かったのはそれだけ。たぶんAWSのバグと思う。

対応1

とにかくVPCが悪さしてるのでVPCとトリガーを付け直す。

  1. 一旦LambdaからVPC設定とKinesisトリガーを外してデプロイ。
  2. VPC設定だけ付け直してデプロイ。
  3. Kinesisトリガーを付け直してデプロイ。

1回で治らない場合があるのでこれを数回繰り返す…

結果 → 失敗

治っても次のデプロイでまたデータが入らなくなる。

対応2

KinesisトリガーとVPC Lambdaを分けてしまおうかとも考えたが、以前から何度も作って普通に稼働している構成なのでLambdaを一回消して再デプロイしてみた。

  1. Lambdaを消してデプロイ。
  2. Lambdaを追加して再デプロイ。この時VPCは付けずにVPCの権限だけ付けておく。
  3. VPCに入れて(VpcConfigを設定して)再デプロイ。

結果 → 失敗

変化なし。

対応3

もうLambdaを2つに分けてしまう。

  1. LambdaからVPC設定、権限を削除。
  2. VPC用のLambdaを追加。
  3. GlobalのLambadでKinesisを開封してVPC Lambdaへイベント送信。

結果

確認中

あとがき

糞が!だからAWS嫌いなんだよ!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?