Amazon Web Services ブログ
新機能- Intelligent TieringによるAmazon S3の自動的なコスト最適化
Amazon Simple Storage Service(S3)は12年と半月以上にわたり使用されており、数兆ものオブジェクトを格納し、毎秒数百万件のリクエストを処理します。お客様は、バックアップ&リカバリ、データアーカイブ、データレイク、ビッグデータ分析、ハイブリッドクラウドストレージ、クラウドネイティブストレージ、災害対策のニーズにおいて、S3を活用しています。初期の頃の、汎用的なStandard (標準)ストレージクラスに始まり、その後ストレージクラスを追加して、よりよくお客様にサービスしてきました。現在では、4つのストレージクラスを選択することができ、それぞれのクラスはある特定のユースケース向けに設計されています。現在のオプションは以下の通りです。
Standard (標準) – よくアクセスされるデータ向けに設計されています
Standard-IA (標準-低頻度アクセス) – 長期保管で、あまりアクセスされないデータ向けに設計されています
One Zone-IA – 長期保管で、あまりアクセスされず、クリティカルではないデータ向けに設計されています
Glacier – 長期保管で、あまりアクセスされず、アーカイブするクリティカルなデータ向けに設計されています
S3にデータをアップロードする際、適切なストレージクラスを選ぶことができます。そして、S3のライフサイクルポリシーを使って、オブジェクトの作成日に基づき、そのオブジェクトをStandard(標準) からStandard-IA(標準-低頻度アクセス), One Zone-IAまたはGlacierへ移動をさせることができます。なお、低冗長化ストレージクラス(Reduced Redundancy Storage)は引き続きサポートされますが、新しいアプリケーションにおいては、One Zone-IAの利用が推奨されますのでご注意ください。
現時点(2018年11月26日以前)では、異なるS3ストレージクラスを階層化したい場合は、ライフサイクルポリシーが、ストレージ内のオブジェクトの作成日に基づいて、オブジェクトの移動を自動化します。また、現在Standard(標準)ストレージクラスに格納されているデータがあるとして、そのうちStandard-IA(標準-低頻度アクセス)ストレージクラスに格納するのが望ましいデータがあるかどうかを知りたい場合は、S3コンソールにあるストレージクラス分析を利用できます。これにより、どんなグループのデータがライフサイクルで階層化されると良いのかを把握することができます。しかしながら、データへのアクセスパターンが規則的でなかったり、組織にまたがって数多くのアプリケーションからアクセスされるが故に、状況を把握できないことが多々あります。もしくは、アプリケーション側に多くの時間をさきたいため、ストレージクラス分析のようなツールを利用する時間がないかもしれません。
新機能 Intelligent Tiering (インテリジェントティアリング)
そこで、新しいストレージクラス、S3 Intelligent-Tiering (インテリジェントティアリング)を発表しました。これにより、アクセスパターンを把握するために何らか特別な開発をする必要はなく、もっと簡単にS3を有効活用できます。このストレージクラスには、高頻度と低頻度という2つのアクセス階層が組み込まれています。両方の階層とも、Standard(標準)ストレージクラスと同等の低レイテンシーを提供します。モニタリングと自動化の料金を抑えつつ、S3 Intelligent-Tiering はアクセスパターンをモニタし、連続30日間アクセスされていないデータを低頻度のアクセス階層に移動します。もしそのデータがのちにアクセスされた場合は、高頻度アクセス階層に自動的に戻されます。すなわち、アクセスパターンが変化するような状況でも、性能の影響なく、運用のオーバーヘッドもなく、データ取り出しのための料金もなく、利用料金を節約することができるのです。
Intelligent-Tiering ストレージクラスは、S3に新しくオブジェクトをアップロードする際に指定できます。また、ライフサイクルポリシーを用いて、ある一定時間の経過後にこのデータ遷移が有効になるようにすることもできます。データ取り出しの料金はなく、この新しいストレージクラスは、クロスリージョンレプリケーション、暗号化、オブジェクトのタグ付け、そして、インベントリを含む他のすべてのS3機能と併用できます。
データがあまりアクセスされないとほぼ確信している場合には、コスト節約の観点では、Standard-IA(標準-低頻度アクセス)の利用が引き続き有益な選択となります。しかしながら、アクセスパターンが予測できない場合や、変わりうる場合、Intelligent-Teringが有効です!
Intelligent Tiering の実践
S3へオブジェクトをアップロードする際に、この新しいストレージクラスをシンプルに指定してみます。
S3 Consoleにはストレージクラスがいつもの通り表示されています。
そして、Intelligent-Tiering を利用できるようライフサイクルルールを作成できます。
このように利用します。いくつかの注意点があります。
オブジェクトのサイズ – Intelligent-Tiering はどのようなサイズのオブジェクトにもご利用いただけますが、128KBよりも小さいサイズのオブジェクトは、低頻度アクセス階層には遷移しません。そして高頻度アクセス階層での料金レートが適用されます。
オブジェクトの保存期間 – 30日以内に削除されるようなオブジェクトには不向きです。すべてのオブジェクトは、最低30日間の料金が適用されます。
耐久性と可用性 – Intelligent-Tieringストレージクラスは99.9%の可用性と、99.999999999% の耐久性で設計されており、99.0%の可用性をSLAとしています。
価格設定 – 他のストレージクラスと同様、月額でのストレージ容量、リクエスト数、データ転送量に応じた料金となります。高頻度アクセス階層にあるオブジェクトのストレージ容量課金はS3 Standardと同じレートで、低頻度アクセス階層にあるオブジェクトのストレージ容量課金はS3 Standard-IA(標準-低頻度アクセス)と同じレートとなります。Intelligent-Tiering を利用すると、わずかですが、月額のオブジェクトごとのモニタリングと自動化の料金があります。このことは、オブジェクトのサイズが大きくなるほどより経済的になることを示唆しています。先ほども述べました通り、S3 Intelligent-Tieringは、アクセスパターンによっては高頻度アクセス階層に自動的にデータを戻しますが、データ取り出しの料金はありません。
S3へのクエリ – S3 Selectによるクエリを実行してもストレージ階層を変更するこはありません。Amazon Athena やAmazon Redshift Spectrumは、通常のGETオペレーションを使ってデータアクセスをしており、遷移のトリガーとなります。
API及びCLIのアクセス – ストレージクラス INTELLIGENT_TIERINGをS3 CLI 及び、S3 APIから利用できます。
利用可能
この新しいストレージクラスは、今すぐ、すべてのAWSリージョンで利用開始できます。
– Jeff;
PS – 上述で「数兆ものオブジェクト」や「数百万ものリクエスト」と申し上げたのを覚えていますか?我々はそれらをAmazon Machine Learningのモデルに入力してみて、将来のアクセスパターンの予測をしました。その結果、S3オブジェクトを格納するにあたって最も費用対効果の高い方法とは何かを教えてくれたのです。これは、S3の規模、及び、ユースケースの多様性によって実現した興味深いメリットと言えます。私の知る限り、このようなものは他にないのではないかと思います!
翻訳はSA焼尾が対応しました。原文はこちら。