##ありがちなミス
Amazon S3でバケットを作成する際にリージョンを正しく選択し忘れるというのが初心者にありがちなミスなようです。参考記事
選択肢の既定値が「Oregon」であるため、油断していると「Tokyo」を選択し忘れます。
##間違えるとどうなるか
日本国内から北米のリージョンに通信するなら時間がかかるでしょう。
また、一旦バケットを削除して同名のバケットを作成し直そうとしても
A conflicting conditional operation is currently in progress against this resource. Please try again
というメッセージが表示されてしまいます。何度やっても同じメッセージが表示されます。
間違えて設定してしまった元のリージョンのままでなら作成し直すことができます。
##解決方法
ではどうすればいいのか。
前出の参考記事では
バケットは作成後にリージョンを変更することができない。対策としては、バケットの作成時にリージョン選択を忘れないようにするしかない
と書かれており、対処法は事前に注意を払っておくしか無いように思えます。
しかし、一旦削除して1時間ほど経てば別のリージョンで作成しなおすことができます。
##リージョン設定を間違えた状態でサイトを公開して困った事例
ネイキッドドメインで静的サイトホスティングをする場合、S3では以下の様に2つのバケットを作成し、Route 53でDNS設定をします。
- example.com
- www.example.com
その際にバケットのリージョン設定を共通にしなければなりません。
リージョンが別の状態でサイトを公開してしまうとサイトにアクセスした時に高頻度で「400 Bad Request」が返ってきます。
この問題は正しいリージョン設定のバケットを作成し直すことで解決します。
ネイキッドドメインでない場合はバケットを2つ用意する必要はないようなので「400 Bad Request」が返ってきたりはしないでしょうが、日本国内から北米のリージョンに通信するならやはり時間がかかるでしょう。
##まとめ
- バケット作成時のリージョン選択に注意。
- 間違えて設定しても変更できないわけではないので焦る必要はない。
##参考記事一覧