S3へデータ取得時、InvalidSignatureException: The request signature we calculated does not match the signature you provided. というエラーがまれに発生し、失敗する件

0

S3へデータ取得時、InvalidSignatureException: The request signature we calculated does not match the signature you provided. というエラーがまれに発生し、失敗します。こちらの対処方法を伺いたいです。

具体的な内容

現状、こちらを参考にしアクセス制限のかかったS3に対して、Cognitoのtokenを使用した認可制御をかけています。 https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v3/developer-guide/loading-browser-credentials-cognito.html

具体的なソースコードは以下です。

  const client = new S3Client({
      region: REGION,
      credentials: fromCognitoIdentityPool({
        identityPoolId: IDENTIFY_POOL_ID,
        clientConfig: {
          region: REGION,
        },
        customRoleArn: cognitoRoleArn,
        logins: {
          // Coginitoを用いてログイン時に取得したidTokenを使用
          [cognitoUserPoolId]: idToken,
        },
      }),
    });

   // GetObjectCommandを作成
    const command = new GetObjectCommand({
      Bucket: S3_INPUT_BUCKET,
      Key:S3_Key,
    });

    // S3からオブジェクトを取得
    const data = await client.send(command);

こちらを実行してデータ取得を試みると、稀に失敗する場合があります。以下はエラー内容です。 InvalidSignatureException: The request signature we calculated does not match the signature you provided.

技術スタックは以下です。

  • Nextjs v14.x
  • Typescript
  • @aws-sdk/client-s3

参考記事

1回答
0

ご提供いただいた情報を元に当方の環境にて検証を行いましたが、ご記載いただいたエラーが発生する条件を確認できませんでした。 そのため、こちらの質問に回答するためには、非公開情報であるリソースの詳細な調査が必要であると考えられます。

次のリンクより、 AWS のサポートケースを起票することをご検討ください。 https://console.aws.amazon.com/support/home#/case/create

AWS
回答済み 3ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ