type
status
date
slug
summary
tags
category
icon
password
书籍
理論
Amazon S3のコスト最適化
Amazon S3は、スケーラブルで高耐久性のあるオブジェクトストレージサービスですが、ストレージのコストを最適化するためには、以下のいくつかの戦略を適用することが重要です。
1. ストレージクラスの選択
S3には複数のストレージクラスがあり、アクセス頻度やデータ保持の目的に応じて最適なクラスを選択することができます。
- S3 Standard: 頻繁にアクセスされるデータに適しており、最も高価です。
- S3 Standard-IA (Infrequent Access): アクセス頻度が低いが、すぐにアクセスする必要があるデータに最適で、コストを削減できます。
- S3 Glacier: 長期保存向けのアーカイブストレージで、コストが低いですが、データアクセスには時間がかかります。
2. ライフサイクルポリシー
S3のライフサイクル設定を利用して、データの保存期間に応じてストレージクラスを自動的に変更できます。
- 例えば、アクセス頻度が低くなったデータをS3 Standard-IAに移行したり、一定期間後にS3 Glacierに移行する設定ができます。これにより、コストを最適化できます。
3. 未完了のマルチパートアップロードの削除
S3でマルチパートアップロードを使用すると、大きなファイルを複数のパートに分割してアップロードできますが、途中で失敗した場合や中断された場合、未完了のアップロードがストレージに残ることがあります。これらをライフサイクル設定で一定期間後に削除することで、不要なコストを削減できます。
4. データ転送の最適化
S3へのデータ転送にかかるコストも考慮する必要があります。
- S3 Transfer Accelerationは、アップロード速度を向上させるサービスですが、追加料金がかかります。転送の効率化には役立つ一方、コスト削減には直接関係しません。
5. Requester Pays
Requester Paysモードを有効にすると、S3バケットにアクセスするユーザーがデータ転送費用を負担することになります。この設定は、データ転送コストの管理には有効ですが、ストレージコスト削減には効果がないため、注意が必要です。
まとめ
S3のコスト最適化には、ストレージクラスの選択、ライフサイクル設定、未完了アップロードの管理が重要です。アクセス頻度の低いデータは、S3 Standard-IAやS3 Glacierに移行することで、コストを大幅に削減できます。また、マルチパートアップロードの未完了データを削除することも、無駄なコストを減らすために重要です。
実践
略
一問道場
質問 #499
ある企業には、Amazon S3バケットにユーザーがアップロードした動画を保存するアプリケーションがあります。このS3バケットはS3 Standardストレージを使用しています。ユーザーは動画がアップロードされてから最初の180日間は頻繁にアクセスしますが、180日を過ぎるとアクセスはまれになります。ユーザーには名前付きユーザーと匿名ユーザーがいます。ほとんどの動画のサイズは100MBを超えており、ユーザーは動画をアップロードする際にインターネット接続が不安定なことが多く、アップロードに失敗することがあります。企業は動画のアップロードに対してマルチパートアップロードを使用しています。
ソリューションアーキテクトは、アプリケーションのS3コストを最適化する必要があります。
この要件を満たすために、どのアクションの組み合わせが適切でしょうか?(2つ選んでください)
A. S3バケットをRequester Paysバケットとして設定する。
B. S3 Transfer Accelerationを使用して、動画をS3バケットにアップロードする。
C. S3ライフサイクル設定を作成し、マルチパートアップロードが開始されてから7日後に未完了のアップロードを期限切れにする。
D. S3ライフサイクル設定を作成し、1日後にオブジェクトをS3 Glacier Instant Retrievalに移行する。
E. S3ライフサイクル設定を作成し、180日後にオブジェクトをS3 Standard-infrequent Access(S3 Standard-IA)に移行する。
解説
この問題では、企業がAmazon S3に保存されているユーザーアップロード動画のコストを最適化するための方法を尋ねています。以下は各選択肢の解説です。
A. S3バケットをRequester Paysバケットとして設定する
- 解説: Requester Pays は、S3バケットにアクセスするユーザーがデータ転送コストを負担する設定です。つまり、S3バケットの所有者はリクエスト料金を支払う必要がなく、リクエスト元が料金を支払います。ただし、これは動画の保存やコストの最適化には直接関係なく、主にデータ転送にかかる料金の管理を行うためのオプションです。動画のストレージコストやアップロードの効率化には寄与しませんので、このオプションは最適化に役立たない可能性があります。
B. S3 Transfer Accelerationを使用して、動画をS3バケットにアップロードする
- 解説: S3 Transfer Acceleration は、ユーザーが動画をS3にアップロードする際の速度を向上させるサービスです。特にインターネット接続が不安定な場合、アップロードが成功しやすくなる可能性があります。しかし、これはコスト削減には寄与しません。むしろ、通常のアップロードに比べて追加料金が発生するため、コスト最適化には不向きです。
C. S3ライフサイクル設定を作成し、マルチパートアップロードが開始されてから7日後に未完了のアップロードを期限切れにする
- 解説: S3では、マルチパートアップロードを使用して大きなファイルを分割してアップロードしますが、もしアップロードが途中で失敗した場合、未完了のパートがS3バケットに残ることがあります。これらの未完了アップロードはコストを無駄にするため、ライフサイクル設定で期限切れにすることが有効です。未完了のマルチパートアップロードを自動的に削除することで、不要なストレージコストを削減できます。
D. S3ライフサイクル設定を作成し、1日後にオブジェクトをS3 Glacier Instant Retrievalに移行する
- 解説: S3 Glacier Instant Retrieval は、アーカイブされたデータの迅速なアクセスを提供しますが、これは主にデータが長期間使用されない場合に有効です。動画の保存初期には頻繁にアクセスされるため、1日後にデータをS3 Glacier Instant Retrievalに移行するのは不適切です。1日後に移行するのは早すぎ、アクセス頻度の高いデータに対してコスト効率が悪くなります。
E. S3ライフサイクル設定を作成し、180日後にオブジェクトをS3 Standard-infrequent Access(S3 Standard-IA)に移行する
- 解説: S3 Standard-IA は、アクセス頻度が低いデータの保存に最適化されたストレージクラスです。動画が180日を過ぎるとアクセス頻度が低くなるという要件に最適です。S3 Standard-IAにデータを移行することで、ストレージコストを大幅に削減できるため、最適化に寄与します。
最適解の組み合わせ
- C と E が最適です。
- C: 未完了のマルチパートアップロードを削除することで、不要なストレージコストを削減できます。
- E: アクセス頻度が低くなる動画をS3 Standard-IAに移行することで、コストを最適化できます。
結論
最適な組み合わせは C と E です。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/17dd7ae8-88e2-80b1-b2a6-dd1d9563ed46
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章