費用効果の高いS3バケット
S3バケットの設定に関するいくつかのコスト削減のヒント
Amazon Simple Storage Service(Amazon S3)は、業界をリードするスケーラビリティ、データの可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。 S3の最大の特徴は、ほぼ無制限のストレージを非常に低コストで提供することと、S3が99.999999999%(11 9)の耐久性を実現するように設計されていることです。つまり、データが失われることはありません。これは、自宅のハードドライブにデータを保存するのに比べてかなり大きなステップであるため、1台のドライブに障害が発生すると壊滅的な打撃を与える可能性があります。
注目に値するS3のいくつかの興味深い機能があり、ほとんどすべてのバケットで構成しています。
S3インテリジェントティアリング
S3インテリジェントティアリングは、パフォーマンスへの影響や運用上のオーバーヘッドなしに、データアクセスパターンが変更されたときに自動的にストレージコストを節約できる唯一のクラウドストレージクラスです。 Amazon S3インテリジェント階層ストレージクラスは、アクセスパターンが変更されたときに、データを最も費用効果の高いアクセス階層に自動的に移動することで、ストレージコストを最適化するように設計されています。少額の月額オブジェクト監視および自動化料金で、S3インテリジェント階層はアクセスパターンを監視し、アクセスされていないオブジェクトを低コストのアクセス階層に自動的に移動します。
S3インテリジェント階層化は、オブジェクトのサイズや保持期間に関係なく、アクセスパターンが不明、変化、または予測できないデータの理想的なストレージクラスです。 S3 Intelligent-Tieringは、事実上すべてのワークロード、特にデータレイク、データ分析、新しいアプリケーション、ユーザー生成コンテンツのデフォルトのストレージクラスとして使用できます。
いいね?ただし、データをS3 Intelligent-Tieringに移動すると、すべてのオブジェクトに料金が発生するため、特に小さなファイルが多数ある場合は、すべてのユースケースに適しているとは限らないことに注意してください。
詳細については、 https://aws.amazon.com/blogs/aws/new-automatic-cost-optimization-for-amazon-s3-via-intelligent-tiering/を参照してください。
未完了のアップロードによる隠れたコストの回避
残念ながら、私はこれを難しい方法で学びました。 AWSは、マルチパートアップロードの失敗に起因するファイルの一部を永久に保持します...これらのファイルを簡単に見ることはできませんが、間違いなく料金が発生します。
しかし、マルチパートアップロードとは何ですか、あなたはそれが何であるかさえ知らなければ私はそれを使うことができないと言うかもしれません!
そうですね... 5Mbを超えるファイルをAWSS3バケットにアップロードすると、AWS SDK/CLIはアップロードを複数のHTTPPUTリクエストに自動的に分割します。より効率的で、再開可能なアップロードが可能になり、パーツの1つがアップロードに失敗した場合、アップロードの進行を停止せずにパーツが再アップロードされます。
ただし、マルチパートアップロードには潜在的な落とし穴があります。オブジェクトが完全にアップロードされる前にアップロードが中断された場合、それらのファイルの一部はS3バケットに残りますが、すぐには表示されません。
この状況を防ぐために、これらのマルチパートアップロードを削除するようにすべてのバケットを構成します。これはライフサイクルポリシーとして実行され、そのポリシーを構成するためのコストはかかりません...申し訳ありませんよりも安全です!