S3バケット作成コマンドでInvalidBucketNameが出た件

こんにちは。KOUKIです。

最近、仕事でAWSに触ることが多くなってきました(やったね!)。

その中で、AWSサービスの一つであるAmazon S3を触る機会があり、その中で遭遇したInvalidBucketNameエラーについて記事にしました。

事象

Amazon S3は、かなり便利なストレージサービスです。

しかも、aws s3コマンドを使うとローカルから直接、AWS上にS3バケットを作成することができます。

しかし、以下のコマンドを実行したところ、InvalidBucketNameエラーが発生してしまいました。

原因

「InvalidBucketName(無効なバケット名)」と表示されるくらいなので、バケット名に問題がありそうです。

そこで、公式サイトを当たってみると以下の命名規則がありました。

S3 バケットの命名には、次のルールが適用されます。
* バケット名は 3~63 文字の長さにする必要があります。

* バケット名は、小文字、数字、ドット (.)、およびハイフン (-) のみで構成できます。

* バケット名は、文字または数字で開始および終了する必要があります。

* バケット名は IP アドレスの形式 (192.168.5.4 など) にはできません。

* バケット名は xn-- で始まることはできません (2020 年 2 月以降に作成されたバケットの場合)。

* バケット名は、パーティション内で一意にする必要があります。パーティションはリージョンのグループです。AWS には、現在 aws (標準リージョン)、aws-cn (中国リージョン)、および aws-us-gov (AWS GovCloud [US] リージョン) の 3 つのパーティションがあります。
Amazon S3 Transfer Acceleration で使用されるバケットの名前にドット (.) を付けることはできません。Transfer Acceleration の詳細については、「Amazon S3 Transfer Acceleration」を参照してください。

公式サイトより

この中の「バケット名は、小文字、数字、ドット (.)、およびハイフン (-) のみで構成できます。」に当てはまっていたようです。

解決

S3バケットに大文字を含めないようにしましょう

これで、解決しました。

おわりに

大文字くらいでエラー?という感じですが、ルールはルールなので仕方ないです。

S3バケットの命名規約は細かく決められていますので、気をつけて作成しましょう!

それでは、また!

コメントを残す