[アップデート] AWS Trusted Advisor に EFS のパフォーマンスと耐障害性に関するチェックが追加されました

2023.06.06

いわさです。

AWS Trusted Advisor は AWS 環境を自動で精査し、推奨設定を通知してくれるサービスです。

Trusted Advisor はチェック対象のサービスとチェック事項が全て決まっていて公式ドキュメントにも明記されています。

EFS (Amazon Elastic File System) に関するチェック事項はこれまで存在していませんでしたが、本日のアップデートで EFS でも推奨事項が生成されるようになりました。

今回、耐障害性カテゴリとパフォーマンスカテゴリで 1 つづつチェックが追加されています。
耐障害性はすぐにわかりましたが、スループットモードがどっちの時にアラートが出るのか一瞬わからなかったので実際に確認してみました。

なお Trusted Advisor は AWS サポートプランがベーシックおよびデベロッパーの場合は、サービス制限カテゴリの全てとセキュリティカテゴリの一部のチェックのみ利用可能です。
今回のアップデートでサポートされる耐障害性とパフォーマンスについては AWS サポートプランがビジネス/エンタープライズが必要となります。

[耐障害性] マウントターゲット冗長性なしをチェック

EFS にはストレージクラスの概念があり、作成時に標準と 1 ゾーンのどちらかを選択することが可能です。
標準の場合は 3 AZ で冗長的に保存されます。
1 ゾーンの場合はシングル AZ 内で保存されます。耐障害性が低下しますが、標準よりも料金を抑えることが可能です。

Trusted Advisor の次の耐障害性カテゴリの中に「Amazon EFS マウントターゲット冗長性なし」というチェックが追加されていて、1 ゾーンで作成されている場合に警告が発生します。
私の環境では確認時点で標準ストレージしか存在しなかったので警告が発生していませんが、1 ゾーンのものを作成したので後ほど更新しておきます。

このチェック仕様や、API で操作する際に必要なチェック ID については次の公式ドキュメントに記載されています。

この警告が発生した時の対処方法ですが、EFS はストレージクラスを変更することが出来ません。
そのため、現在のストレージからバックアップを作成し、バックアップの復元時に次のように「リージョン別ストレージクラス」を選択します。

ただし、ストレージクラスを変更することで耐障害性は変わりますが、ランニングコストも変わります。
お使いのワークロードに適したストレージクラスの選択が必要です。

[パフォーマンス] スループットモードの最適化をチェック

続いて EFS にはスループットモードの概念もありまして、本日時点ではバースト、エラスティック、プロビジョンドの 3 つが選択可能です。
エラスティックモードについては最近登場したものです。またスループット性能もアップデートで向上していたりするので各スループットモードの比較は最新情報をご確認ください。

スループットモードに関してもそれぞれの特性があり、料金が変わってきます。

Trusted Advisor の次のパフォーマンスカテゴリの中に「Amazon EFS スループットモードの最適化」というチェックが追加されていて、バーストスループットモードで作成されている場合に警告が発生します。
ご注意頂きたいのは、Compute Optimizer のように利用状況に応じた動的なチェックではなくてバーストスループットモードが設定されていれば静的に警告が発生します。

バーストスループットモードでは、ベースラインを提供しつつもクレジットモデルによる一定のバーストを許可するモードになっていて、ワークロードの特性によってはうまくバーストさせつつコスト効率の良い運用が出来るのですが、バーストクレジットを使い果たすとスループットがベースラインで抑制されてしまうので、アプリケーションのパフォーマンスに影響が出る場合があります。

対処方法ですが、スループットモードについてはダウンタイムなしで切り替えが可能です。
ただし、スループットモード切り替え後は一定時間一部のアクションが出来なくなるという制限事項がありますのでご注意ください。

Restrictions on switching throughput modes and changing provisioned amount
You can switch an existing file system's throughput mode and change the throughput amount. However, after switching the throughput mode to Provisioned Throughput or changing the provisioned throughput amount, the following actions are restricted for a 24-hour period:
- Switching from Provisioned mode to Elastic or Bursting mode.
- Decreasing the provisioned throughput amount.

こちらもチェック仕様や、API で操作する際に必要なチェック ID については次の公式ドキュメントに記載されています。

さいごに

本日は AWS Trusted Advisor に EFS のパフォーマンスと耐障害性に関するチェックが追加されたので確認してみました。
いずれの場合もコストに影響が出る部分であり、ワークロードに応じて対処するべきか抑制するべきか判断が必要なのでご注意ください。

冗長性についてはワークロードが必要とする冗長性から判断すれば良いので簡単に判断出来そうです。

スループットモードは CloudWatch メトリクスなどから BurstCreditBalance などを確認したりしないといけないのでちょっと頑張る必要があります。
書いていて思ったのですが、Compute Optimizer の EFS サポートされたら最高なのではと思いました。