Slide 1

Slide 1 text

TerraformでS3バケット削除後、 再作成するとApplyが終わらない! 2025/2/8 tanabe haruko

Slide 2

Slide 2 text

• 外資系コンサルティング企業のエンジニア • 2024 Japan AWS All Certifications Engineers • Google Cloud認定資格 12種保有 tanabe haruko https://zenn.dev/haruko_tanabe @hrsaaaam

Slide 3

Slide 3 text

1 Apply失敗の発生経緯

Slide 4

Slide 4 text

Apply失敗の発生経緯 Terraform ソースコード の準備 S3バケットを Apply Applyした S3バケットを Destroy 別リージョンに S3バケットを 再Apply 発生 ap-northeast-1 us-east-1

Slide 5

Slide 5 text

• 通常は数秒で完了するApplyが永遠に終わらない。 Apply失敗の発生経緯

Slide 6

Slide 6 text

2 Apply失敗の原因調査

Slide 7

Slide 7 text

Apply失敗の原因調査 S3バケット名を変更して再Applyしてみる ⇒ Apply成功 調査1 同じ名前のS3バケットを同一リージョンで再Applyしてみる ⇒ Apply成功 調査2

Slide 8

Slide 8 text

Apply失敗の原因調査 直前のApply・Destroyから、時間をあけて異なるリージョン に同じ名前のS3バケットを再Applyしてみる 調査3 1回目Destroyと2回目Applyの間隔 Apply結果 10分 失敗 30分 失敗 60分 成功

Slide 9

Slide 9 text

Apply失敗の原因調査 AWSマネジメントコンソールのS3管理画面での挙動を確認 してみる ⇒ エラー発生 調査4

Slide 10

Slide 10 text

3 結論

Slide 11

Slide 11 text

結論 • AWS内部で、S3の情報がリージョン間で同期される際、60分前後のタイム ラグがある。 • したがって、S3バケットを一度作成・削除し、直後に同名のS3バケットを再 度別リージョンで作成しようとすると失敗する。

Slide 12

Slide 12 text

結論(後日談) • AWS公式サイトに当該現象に対する解説が掲載されていることを発見。 変更の整合性が取れるまでには 48~72 時間かかる場合があります。S3 バケットを再作 成するには、少なくとも 48 時間待つことをお勧めします。 https://repost.aws/ja/knowledge-center/s3-conflicting-conditional-operation

Slide 13

Slide 13 text

Thank you!