[アップデート] Amazon EFS でストレージ使用量をモニタリングできるメトリクスが追加されました!

お金は大事だよ。

コンバンハ、千葉(幸)です。

Amazon EFS で、ファイルシステムのストレージ使用量を CloudWatch でモニタリングできるようになりました!

ストレージサイズの確認自体は従来から EFS のパラメータを参照することで実現できたのですが、今回新たに CloudWatch メトリクスとして取得できるようになりました。

CloudWatch アラームと組み合わせることで、「いつの間にかボリュームが膨らんでコストがかかり過ぎている……」というケースを回避しやすくなりましたね。

EFS ファイルシステムのストレージ使用量が何に影響するか

今回のアップデートがどう嬉しいかを理解するために、 EFS におけるストレージ使用量の考え方についておさらいしておきましょう。

ペタバイト規模まで自動的にスケールする

EFS ファイルシステムは格納したデータサイズに応じて自動的にスケールするため、(例えば EC2 のように)「ディスクが逼迫してこれ以上書き込めない!」ということはそうそう起こりません。

具体的にどのサイズまでスケールするかは確認できませんでしたが、一つのファイルの最大値は2.673.613.135.872バイト(47.9 TiB)まで対応しているそうです。ほとんどのユースケースにおいては十分すぎる値でしょう。

容量に応じたスループット性能の増加

EFS では以下の2種類のスループットモードを選択できます。

  • バーストモード
  • プロビジョニングスループットモード

いずれの場合でも、「ストレージ容量に応じたスループット性能」というものが関わってきます。

例えば、以下はバーストモードのスループット性能を表したものです。

20180704-aws-black-belt-online-seminar-amazon-elastic-file-system-amazon-efs-201889-updateより

横軸がストレージの容量を表し、大きくなるほどベースライン性能やバースト性能が向上していることが分かります。

プロビジョンドスループットモードでは、ストレージサイズに応じたスループット性能の分だけ、「プロビジョニングにかかる料金」が相殺されます。

(画像引用元同上)

「ストレージ容量がスループットに関係する」というのはもちろんあるのですが、その観点でモニタリングするのはあまり一般的ではないでしょう。

ストレージ使用量に応じた料金の発生

EFS では保存したデータサイズに応じて料金が発生します。

選択できるストレージクラスは2種類あります。一定期間が経過したら IA に移行させる、というライフサイクル設定も可能です。

  • 標準
  • 低頻度アクセス(IA)

例えば東京リージョンで 100 GB のストレージを使用した場合、ひと月で以下の料金が発生します。

  • 標準ストレージ:36 USドル
  • 低頻度アクセスストレージ:2.72 USドル
    • (リクエストにも料金が発生)

料金 - Amazon EFS | AWS

使用量が増えれば、なかなか無視できないコストになってきます。

今回のアップデートの主な用途はこのコストの観点であり、必要以上にサイズが大きくなりコストがかかり過ぎることを避ける、というものになるでしょう。

また、ライフサイクルによって「標準→低頻度」のストレージクラスの移行がどのように行われているか経過をモニタリングする、という用途でも使えます。

EFS ファイルシステムのメトリクスを確認してみる

今回追加されたのはStorageBytesというメトリクスです。ディメンションとして以下3つが用意されています。

  • Total: ストレージクラス「標準」と「低頻度アクセス」の合計サイズ
  • Standard: ストレージクラス「標準」に格納されているデータサイズ
  • IA: ストレージクラス「低頻度アクセス」に格納されているデータサイズ

Amazon CloudWatch metrics for Amazon EFS - Amazon Elastic File System

EFS ファイルシステム画面からの確認

ファイルシステムの詳細画面から、[ モニタリング ] タブを選択します。

EFSMetrics

項目の一つとして、「ストレージバイト数」が確認できるようになっています。

EFSMetrics-0624893

3 つのディメンションで記録されていることが分かります。(今回のファイルシステムでは標準ストレージクラスのみ使用しています。)

EFSMetrcs

サービス間ダッシュボードでの確認

ファイルシステムの詳細画面から、以下のボタンを押下することで CloudWatch ダッシュボード画面に遷移できます。

EFSMetrics-0625141

グラフ描画されているものの中にストレージ使用量を確認できるものはないですが、下の一覧画面から横断的に確認できます。

EFSMetrics-0625273

この部分が該当します。便利ですね。

EFSMetrics-0625372

追記:後から気付いたのですが、ここの値はメトリクスではなく EFS のパラメータ(ステータス)から表示されているもののようです。今回のアップデートにはあまり関係ありません。忘れてください。

メトリクス画面からの確認

名前空間EFSのメトリクスを確認していくと、新たな括り「ファイルシステムストレージメトリクス」が追加されています。

EFSMetrics-0625488

ファイルシステムごとに、3種のStorageClassディメンションで値を確認できます。

EFSMetrics-0625678

このメトリクスを使用してアラームを設定すれば、意図せずコストがかさむことを避けられますね。

終わりに

Amazon EFS で新たに追加されたメトリクスStorageBytesの確認でした。

EFS ファイルシステムは柔軟にスケールするため、ストレージ使用量をカスタマー側が気にする機会は少なかったかと思います。(特にパフォーマンスの観点では。)

今回のアップデートにより、コストの観点でより細やかにアラート設定できる選択肢が提供されました。ワークロードに応じて活用していきましょう。

以上、千葉(幸)がお送りしました。