Amazon S3 ストレージレンズでコストを最適化し、使用状況を可視化する

チュートリアル

概要

Amazon S3 ストレージレンズは、オブジェクトストレージの使用状況とアクティビティの傾向を組織全体で可視化します。また、コストを最適化し、データ保護のベストプラクティスを適用するための、実用的なレコメンデーションを作成します。S3 ストレージレンズは、AWS Organization の数百、場合によっては数千のアカウントにおけるオブジェクトストレージの使用状況とアクティビティの一元的なビューを提供する、初のクラウドストレージ分析ソリューションです。ドリルダウンによって複数の集計レベルでインサイトを得ることができます。 S3 ストレージレンズが組織全体のメトリクスの分析から導き出したコンテキストに基づくレコメンデーションを使用すると、ストレージを最適化するための対策をすぐに講じることができます。

Amazon S3 は、数十から数百のアカウントとバケット、複数のリージョン、および数千のプレフィックスにわたる大規模な共有データセットを保存するために使用されます。S3 ストレージレンズを使用すると、ストレージを簡単に把握し、分析して異常値を検出できます。S3 ストレージレンズは、S3 ストレージの使用状況とアクティビティに関する 60 を超えるメトリクス (無料のメトリクスと高度なメトリクス) を、S3 コンソールのインタラクティブなダッシュボードに表示します。すべてのお客様は無料のメトリクスにアクセスできるほか、オブジェクトごとの月次モニタリング料金で高度なメトリクスを有効にして、プレフィックスレベルのインサイト、延長されたデータ保持、レコメンデーション、および Amazon CloudWatch にメトリクスを発行するオプションを利用できます。

実行するアクション

  • 無料のメトリクスと高度なメトリクスの違いを理解する
  • S3 ストレージレンズダッシュボードを作成、設定、操作する
  • S3 ストレージレンズのユースケースを詳しく知る 

前提条件

このチュートリアルを完了するには、AWS アカウントが必要です。また、アカウントに関連付けられており、かつ、データが入力されている Amazon S3 バケットが少なくとも 1 つ必要です。

新しい AWS アカウントを作成してアクティブ化する方法の詳細については、この サポートページにアクセスしてください。

最初の S3 バケットの作成に関するヘルプについては、「 Amazon S3 ユーザーガイド」をご覧ください。

 AWS の使用経験

中級コース

 所要時間

30 分

 完了までのコスト (無料のメトリクスを使用)

無料

 完了までのコスト (高度なメトリクスを使用)

料金は各ユースケースで異なる場合があります: モニタリング対象オブジェクト 100 万個ごとに 1 か月あたり 0.20 USD (Amazon S3 の料金ページ)

 必要なもの

AWS アカウントと、データが入力されている Amazon S3 バケット

 利用するサービス

 最終更新日

2022 年 11 月 17 日

実装

S3 ストレージレンズは、ダッシュボード用に選択できるメトリクスとして、無料のメトリクスと高度なメトリクスという 2 つのオプションを提供します。

無料のメトリクス

Amazon S3 のすべてのお客様は、S3 コンソールのインタラクティブなダッシュボードにアクセスできます。このダッシュボードには、ストレージの使用状況とアクティビティの傾向に関する事前設定済みのビューが含まれています。S3 ストレージレンズの無料のメトリクスを使用すると、バケットレベルでさまざまなカテゴリの 28 のメトリクスを受け取り、ダッシュボードで過去 14 日間の履歴データを確認できます。ダッシュボードを概要、コスト最適化、データ保護、アクセス管理、パフォーマンス、またはイベントでフィルタリングして、目的のユースケースに合わせて特定のメトリクスを分析できます。S3 コンソールのダッシュボードに加えて、CSV または Apache Parquet 形式のメトリクスを、後で使用するために任意の S3 バケットにエクスポートできます。S3 ストレージレンズによって集計される使用状況メトリクスの詳細については、「Amazon S3 ストレージレンズのメトリクスに関する用語集」を参照してください。

高度なメトリクスとレコメンデーション

S3 ストレージレンズでは、すべてのダッシュボードと設定で無料のメトリクスを提供しており、追加料金をお支払いいただくことで、高度なメトリクスやレコメンデーションにアップグレードすることもできます。詳細については、Amazon S3 の料金ページの「管理と分析」タブを参照してください。

ストレージレンズの高度なメトリクスにアップグレードすると、35 の追加メトリクスと 15 か月分の履歴データを利用できます。高度なメトリクスでは、アクティビティ (リクエスト数など)、より深いコスト最適化 (S3 ライフサイクルルール数など)、追加のデータ保護 (S3 レプリケーションルール数など)、および詳細なステータスコード (403 認可エラーなど) に関連するインサイトを得ることができます。プレフィックスレベルまでドリルダウンして、バケット内で最大かつ最も急速に増加しているプレフィックスを特定することもできます。さらに、Amazon CloudWatch を介して S3 ストレージレンズのメトリクスにアクセスしてアラームを作成したり、CloudWatch API を介して統合オブザーバビリティパートナーにメトリクスを送信したりできます。高度なインサイトを使用して、ライフサイクルルールの使用範囲を広げてコストを大幅に最適化したり、データ保護ポリシーが不十分なバケットを特定したりできるほか、アプリケーションワークロードのパフォーマンスを向上させることもできます。

S3 ストレージレンズは、ストレージの最適化に役立つ自動レコメンデーションを提供します。レコメンデーションは、S3 ストレージレンズダッシュボードの関連するメトリクスとともに、コンテキストを踏まえて表示されます。レコメンデーションは直近の期間に起こっていることに関連したものであり、履歴データはレコメンデーションで考慮されません。レコメンデーションは、関連性がある場合にのみ表示されます。

S3 ストレージレンズのレコメンデーションは次の形式で表示されます。 

  • 提案
    提案は、ストレージコストを最適化したり、データ保護のベストプラクティスを適用したりできる機会を示している可能性がある、ストレージの使用状況とアクティビティの傾向に関してアラートを提供します。
  • コールアウト
    コールアウトとは、ある期間におけるストレージの使用状況やアクティビティに関する興味深い異常のうち、さらに注意やモニタリングが必要な可能性があるものに関してアラートを提供するレコメンデーションです。
  • リマインダー
    リマインダーは、Amazon S3 の仕組みに関するインサイトを提供します。これは、S3 の機能を使用してストレージコストを削減したり、データ保護のベストプラクティスを適用したりする方法の詳細を知るのに役立ちます。 

S3 ストレージレンズはメトリクスを毎日収集し、データは 15 か月間クエリに使用できます。S3 ストレージレンズによって集計されるストレージメトリクスの詳細については、「Amazon S3 ストレージレンズのメトリクスに関する用語集」を参照してください。

ステップ 1: S3 ストレージレンズダッシュボードを作成する

1.1 – アカウントの認証情報を使用して AWS マネジメントコンソールにサインインします。AWS コンソールのサービス検索バーで、S3 と入力します。 サービスの検索結果で、[S3] を選択します。

1.2 – 左側のパネルの [ストレージレンズ] セクションにある [ダッシュボード] のメニュー項目に移動します。次に、[ダッシュボードを作成] を選択します。

1.3 [全般] パネルで、ダッシュボードのわかりやすい名前を入力し、[ホームリージョン] を選択します。次に、[ステータス][有効にする] オプションを選択して、日次メトリクスを更新します。

1.4 – ダッシュボードでは、アカウント、リージョン、バケット、プレフィックス全体のストレージを分析できます。[ダッシュボードの範囲] で、特定のリージョン、バケット、またはその両方を含めるか除外するかを選択し、ダッシュボードの範囲を変更します。 

[リージョンとバケットを含める] ボタンを選択すると、すべてのリージョンとバケットを含めたり、ドロップダウンから含めるリージョンとバケットを選択したりできます。それ以外の場合は、[リージョンとバケットを除外] ボタンを選択すると、除外するリージョンとバケットを選択するドロップダウンオプションが表示されます。

このチュートリアルでは、すべてのリージョンとバケットを含めます。

1.5[メトリクスの選択] で、使用するオプションを選択します。このチュートリアルでは、[高度なメトリクスとレコメンデーション] を選択し、[高度なメトリクス]、[CloudWatch パブリッシュ][プレフィックス集約]。 を含めました。さらに、ダッシュボードに含める高度なメトリクスのカテゴリを選択できます。このチュートリアルでは、[アクティビティメトリクス]、[詳細なステータスコードのメトリクス]、[高度なコスト最適化メトリクス]、および [高度なデータ保護メトリクス] を選択しました。 メトリクスの詳細なリストは、「Amazon S3 ユーザーガイド」の「メトリクスに関する用語集」でご覧いただけます。

 

1.6[メトリクスのエクスポート][有効にする] を選択すると、ダッシュボードのメトリクスを 24 時間ごとに指定の S3 バケットにエクスポートできます。

これを有効にする場合は、希望する出力形式と送信先バケットを選択する必要があります。

Amazon S3 ストレージレンズのメトリクスは、CSV または Apache Parquet 形式のメトリクスエクスポートファイルで毎日生成され、ユーザーのアカウント、または別のアカウントに関連付けられた S3 バケットに格納されます。そこから、 Amazon QuickSightAmazon Athena などの任意の分析ツールにメトリクスのエクスポートを取り込み、ストレージの使用状況やアクティビティの傾向を分析できます。

詳細については、 S3 ストレージレンズのデータのエクスポートに関するドキュメントをご覧ください。
1.7 – 次に、 [ダッシュボードを作成] を選択します。ダッシュボードが作成されてから、最初のメトリクスが生成されるまでに 24~48 時間かかる場合があります。

この間、このチュートリアルを一旦保留にし、メトリクスが生成されてから戻ってくることができます。

ステップ 2: S3 ストレージレンズダッシュボードに移動する

2.1Amazon S3 コンソールにアクセスしてダッシュボードに戻り、ステップ 1.2 で行ったように [ダッシュボード] のメニュー項目に移動します。ダッシュボードを開いたら、[フィルター] パネルを展開して、[アカウント]、[リージョン]、[ストレージクラス]、[バケット]、[プレフィックス] でダッシュボードデータを一時的にフィルタリングできます。

2.2 – 次のセクションは、さまざまなメトリクスのスナップショットです。高度なメトリクスを使用している場合は過去 30 日間 (無料のメトリクスを使用している場合、または高度なメトリクスを有効にしてから 30 日間が経過していない場合は 14 日間) の各メトリクスの傾向を示す傾向線と、変化率が表示されます。[% 変化率の比較] 列の数値は、デフォルトで [日/日] の変化率を示しています。[週/週] または [月/月] で比較することもできます。

さらに、ドロップダウンからスナップショットの概要に表示するさまざまなメトリクスグループを選択できます。選択項目には、[概要]、[コスト最適化]、[データ保護]、[アクティビティ]、[アクセス管理]、[イベント][パフォーマンス] が含まれます。

2.3[スナップショット] パネルには、[傾向とディストリビューション] セクションがあります。このセクションでは、指定できる日付範囲の 2 つのメトリクスを比較して、時間の経過に伴う傾向を表示できます。

2.4 – ダッシュボードのそのすぐ下のセクションには、これらの 2 つのメトリクスと、それらが [ストレージクラス][AWS リージョン] でどのように分散しているのかも表示されます。このグラフ内の任意の値をクリックし、[ドリルダウン] してダッシュボード全体をその値でフィルタリングするか、または [次により分析:] を選択してそのディメンションの新しいダッシュボードビューに移動できます。

2.5[概要] タブの最後のセクションでは、ある日付範囲のメトリクスの [上位 N] の分析を実行できます (N は 1~25)。以下の例では、[合計ストレージ] メトリクスの上位 3 つの項目を降順で選択しています。

その後、上位 3 つのアカウント、リージョン、バケット、プレフィックスについて、選択したメトリクスが関連する傾向とともに表示されます。

ダッシュボードの他のタブでは、 [アカウント]、[リージョン]、[ストレージクラス]、[バケット][プレフィックス] に関するより具体的なメトリクスを確認できます。

 

 

 

 

 

 

ステップ 3: S3 ストレージレンズのユースケースを詳しく知る

このセクションでは、S3 ストレージレンズの 3 つのユースケース、すなわち、モニタリングされていない大きなバケットの特定、S3 ストレージクラスを使用したコストの最適化、アクセスされなくなった、またはほとんどアクセスされていないバケットの検出について説明します。

認識していない大きなバケットを特定する (無料利用枠)

ストレージコストを管理するための最初のステップでは、バケットごとの S3 の使用状況を詳細に把握します。S3 ストレージレンズでは、アカウント内のすべてのバケットを一元的に表示できます。AWS Organization レベルでダッシュボードを設定して、すべてのアカウントのあらゆるバケットを表示することもできます。S3 ストレージレンズを使用すると、すべてのバケットを簡単に可視化できます。これにより、想定していたよりも多くのオブジェクトがバケットに含まれているなど、予期しない検出結果が得られる可能性があります。

3.1 – S3 ストレージレンズダッシュボードの上部にある [バケット] タブに移動します。

3.2 – 表示するバケットの数 (最大 100 個) を、 [上位 N 個のバケット] のテキストフィールドにその数を入力することによって選択します。この例では、10 個のバケットを表示することを選択しました。

3.3 [バケットの傾向] のグラフでは、どのバケットの合計ストレージが最も多いのかだけでなく、どのバケットが最も増加したのかも可視化できます。このグラフから、bucket1 のストレージが最大である一方で、一貫して増加していることがわかります。

このバケットをドリルダウンすると、平均オブジェクトサイズ、最新バージョン以外のバイト数の割合、最大プレフィックスなど、より多くのインサイトを収集できます。

3.4 – 次に、Amazon S3 コンソール内のバケットに移動して関連付けられたワークロードを把握し、アカウント番号に基づいてバケットの内部所有者を特定できます。その後、この増加が想定されているものなのか否かをバケット所有者に確認できます。後者であれば、適切なモニタリングおよび管理対象とすることができます。

S3 ストレージクラスの使用量を増やす

ストレージコストを削減する最も明確な方法の 1 つは、Amazon S3 ストレージクラスを使用して、アクセス頻度とパフォーマンスのニーズに基づいてストレージコストを最適化することです。Amazon S3 は、ワークロードのデータアクセス、回復力、およびコスト要件に基づいて選択できるさまざまなストレージクラスを提供しています。これらのストレージクラスには次が含まれます。

  • S3 Standard (頻繁にアクセスされるデータを汎用的に保存するため)
  • S3 Intelligent-Tiering (アクセスパターンが不明または変化するデータ用)
  • S3 Standard-Infrequent Access (S3 Standard-IA) および S3 One Zone-Infrequent Access (S3 One Zone-IA) (長期間保存するが、アクセス頻度が低いデータ用)
  • Amazon S3 Glacier Flexible Retrieval、Amazon S3 Glacier Instant Retrieval、Amazon S3 Glacier Deep Archive (長期アーカイブとデジタル保存のため)
現在 S3 ストレージクラスをどのように使用しているかが不明な場合は、S3 ストレージレンズで簡単に確認できます。
3.5 – [概要] タブから、次に示すように、 [ストレージクラスのディストリビューション] グラフまで下方向にスクロールします。

ストレージバイト数のすべて、またはほぼすべてが S3 Standard ストレージクラスにあることが判明した場合は、ユースケースに最適な追加の S3 ストレージクラスを検討することで、使用量を最適化できる可能性があります。このようなビューが表示された場合は、コスト最適化の設計パターンを詳しく知ることでメリットが得られる可能性があります。

まず、S3 Intelligent-Tiering ストレージクラスを使用してコスト最適化を自動化できます。これは、アクセスパターンが不明な場合や変化するアクセスパターンに最適です。次に、既知のアクセスパターンについては、Amazon S3 ライフサイクルポリシーを設定して、時間の経過に伴ってアクセス頻度が低くなるにつれて、より費用対効果の高いストレージクラスにデータを移行することでストレージコストを削減できます。具体的なコスト削減額の詳細については、Amazon S3 の料金ページをご覧ください。また、移行や S3 Glacier ストレージクラスの使用にかかるオブジェクトオーバーヘッドあたりの追加コストもご確認いただけます。

その後、S3 ストレージレンズで分析を続行し、特定のリージョンやバケット (または高度な階層にアップグレードしている場合はプレフィックス) のストレージクラスのディストリビューションを確認するためにドリルダウンすることで、ストレージクラスの使用状況をさらに詳しく調べることができます。バケットのサブセットが最適に設定されていないことはよくあることです。このような場合は、異なる S3 ストレージクラスや追加の S3 ストレージクラスを使用することでメリットが得られます。S3 ストレージレンズは、さらにアクションを実行する前にこれらのバケットをスクリーニングするための効果的なツールです。

コールド状態になったバケットを見つける

コールド状態になったバケットがある、つまり、それらのバケット内のストレージへのアクセスがなくなった (またはほとんどアクセスされなくなった) という事実は、関連するワークロードが使用されなくなったことを示唆していることがよくあります。S3 ストレージレンズの高度なメトリクスを有効にしている場合は、アクティビティメトリクスにアクセスしてバケットの使用量の多寡を把握できます。GET リクエストやダウンロードバイト数など、バケットが 1 日にアクセスされる頻度を示すメトリクスがあります。このデータの傾向を数か月間にわたって分析して (高度な階層ではデータ保持期間を延長できます)、アクセスパターンの一貫性を把握し、アクセスされなくなったバケットを特定できます。[% 取得率] メトリクスは、ダウンロードバイト数/合計ストレージとして計算され、日々アクセスされるバケット内のストレージの割合を把握するのに役立つメトリクスです。同日中に同じオブジェクトが複数回ダウンロードされると、ダウンロードバイト数は重複してカウントすることに留意してください。

コールド状態になったバケットを可視化する最良の方法は、ダッシュボードの [バケット] タブにある [バブル分析] グラフを使用することです。バブル分析グラフでは、X 軸、Y 軸、バブルのサイズを表す 3 つのメトリクスを使用して、バケットを複数のディメンションにプロットできます。

3.6[バケット] タブに移動し、[バブル分析] グラフまで下方向に移動します。[合計ストレージ]、[% 取得率][平均オブジェクトサイズ] を選択します。

取得率がゼロ (またはゼロに近い) で相対的なストレージサイズが大きいバケットをドリルダウンすると、コールド状態になっており、かつ、対策を講じることを正当化するほどにストレージコストが十分大きいバケットを見つけることができます。この例では、bucket10 と bucket1 を見てみましょう。

ここから、組織内のバケット所有者を特定してワークロードの目的を確認するとともに、ストレージがまだ必要かどうかを確認できます。ストレージが不要な場合は、ライフサイクルの有効期限ポリシーを設定するか、または Amazon S3 Glacier ストレージクラスにデータをアーカイブすることでコストを削減できます。また、今後コールドバケットが発生しないようにするため、このガイドで前述した推奨設計パターンのいずれかを適用して、S3 ライフサイクルポリシーを使用してデータを自動的に移行するか、または S3 Intelligent-Tiering を使用した自動アーカイブを有効にすることができます。

ステップ 4: クリーンアップする

このチュートリアルでは、得られるインサイトに価値を感じていただける場合は、高度なメトリクスレコメンデーションをオンにしておくことをお勧めします。このオプションを選択している場合には、コストが発生することに注意してください。

または、高度なメトリクスレコメンデーションをオフにしてコストが発生しないようにすることもできます。 その場合でも、ダッシュボードの無料のメトリクスには引き続きアクセスできます。

4.1高度なメトリクスやレコメンデーションをオフにするには、ダッシュボードの上部に移動して [ダッシュボード設定を表示] を選択します。

4.2 – ダッシュボード設定ページの右上にある [編集] ボタンを選択します。

4.3 – メトリクス選択パネルまで下方向にスクロールし、[無料のメトリクス] を選択します。次に、[変更を保存] を選択します。

まとめ

お疲れ様でした。 Amazon S3 ストレージレンズダッシュボードの作成、設定、操作方法を学び、オブジェクトストレージコストを最適化するための 3 つのユースケースを詳しく見ました。  

このページはお役に立ちましたか?

次のステップ

Amazon S3 ストレージレンズの詳細については、「Amazon S3 ユーザーガイド」と製品ページをご覧ください。