🐈⬛
[小ネタ] TerraformにてS3Bucket作成時に「The provided token has expired」エラーが発生
表題の通りです。
具体的には、以下のようなエラーです。
creating S3 Bucket (example-bucket): operation error S3: CreateBucket, https response error StatusCode: 400, RequestID: XXXXXXXXXXXXXXXX, HostID: ExampleID=, api error ExpiredToken: The provided token has expired.
エラーメッセージ的にはTokenのExpiredが懸念されますが、状況的にそれは考えにくかったので、ちょっと調査&検証を実施。
結論としては、S3Bucketを削除してから一定時間以内に同名のS3Bucketを作成しようとした際にも、このエラーが出力される ようでした。そういえばそんな(マネジメントコンソールでS3の一覧を眺めるぶんには削除完了していても、再度同名のBucketを作成できるようになるまでには時間がかかる)仕様もありましたね……。
AWSでは稀に見かける、エラーメッセージと実態のエラー内容が違うというパターンがここで発生するようです。試してはいませんが、おそらくこれ以外にも、実際にはTokenがExpiredしているわけではないのに、表題のエラーメッセージが返却されるパターンもあるのだと思います。
Discussion