0

7 億 6,100 万個のオブジェクトにわたる合計 40 TB のデータを含むいくつかの S3 バケットがあります。これらのオブジェクトを EBS ストレージにコピーするプロジェクトに着手しました。私の知る限り、すべてのバケットは us-east-1 で作成されました。EBS へのエクスポートに使用されたすべての EC2 インスタンスが us-east-1 内にあることは確かです。

問題は、先月の AWS の請求書に、リージョン間のデータ転送に対してかなり多額の料金が含まれていたことです。これがどのように可能か知りたいですか?

転送では、S3 に接続して各オブジェクトのコンテンツをダウンロードするために、Boto を使用した非常に単純な Python スクリプトを使用しました。バケット名が大文字で構成されていたことが要因だったのではないかと思いますが (指定する必要がありましたOrdinaryCallingFormat())、確かなことはわかりません。

4

2 に答える 2

1

私の知る限り、名前に大文字が含まれるバケットは、従来のS3 リージョン (つまり、us-east-1) にのみ存在できます。すべてのバケット名に大文字が含まれていましたか? バケットはまだ存在しますか? その場合は、次のように場所を再確認できます。

import boto
c = boto.connect_s3()
for bucket in c.get_all_buckets():
    print(bucket.name, bucket.get_location())

バケットがリージョン以外の場所にある場合は、us-east-1名前の横に場所が表示されます。それ以外の場合は、空白になります。

すべてのバケットがリージョン内にあり、すべての EC2 インスタンスもリージョン内にあり、作成したすべての EBS ボリュームもリージョン内us-east-1にあることが 100% 確実である場合、inter が表示された理由についての説明はありません。 -請求書の地域交通費。boto がランダムに異なるリージョンに接続するとは考えていません。それについては、AWS に問い合わせる価値があるかもしれません。おそらく正当な理由がありますが、私には明らかではありません。us-east-1us-east-1

于 2013-08-08T15:45:23.170 に答える