COLUMN

AWS上でアーカイブ用途のファイルサーバーとして選択され得る各構成のコスト試算をしてみた

こんにちは、クラスメソッドの のんピ です。

皆さんはAWSでアーカイブ用のファイルサーバーを用意する際、最もコスト効率の高い選択肢はなんだろうと気になったことはありますか? 私はあります。

AWS上でファイルサーバーを構築する方法は複数あります。例えば、Amazon FSx for Windows File Server (以降FSxW)というマネージドサービスを使用したりや、EC2インスタンス上にセルフマネージドでファイルサーバーを構築したりなどです。

候補例は以下の記事および、AWS公式ブログをご覧ください。

アーカイブ用途のファイルサーバーでコストを重要視する場合はどのような選択をすれば良いでしょうか。実際にコスト試算をしてみました。

1. 対象候補

対象候補は以下のとおりです。

  • NFSサーバー on EC2
  • SMBサーバー on EC2
  • Amazon EFS
  • Amazon FSx for Windows File Server
  • Amazon FSx for NetApp ONTAP
  • Amazon S3 File Gateway

各候補のコスト的優位点は以下のとおりです。

1-1. NFSサーバー on EC2

NFSサーバーをEC2インスタンスを使って構築する方法です。

EBSボリュームをCold HDD ボリュームとすることで、安価にアーカイブ用途のファイルサーバーを準備できそうです。

また、EBSスナップショットからリストアする際はファーストタッチペナルティは発生しますが、ボリュームをリストアしてからデータにアクセスできるまでの時間が短いことは魅力的です。

注意点としてはio2 Block Expressを除くEBSボリュームは2024/5/17時点で16TiBまでしかサイジングできません。これ以上のサイズの領域を一つの領域としてエクスポートする必要がある場合はLVMなどを使用して、複数のボリュームを束ねる必要があります。

1-2. SMBサーバー on EC2

SMBサーバーをEC2インスタンスを使って構築する方法です。

先述のNFSサーバー on EC2のSMBサーバー版です。

Windowsインスタンスを使用しており、複数のEBSボリュームを束ねる場合は記憶域スペースと記憶域プールを使うと良いでしょう。

1-3. Amazon EFS

AWSが提供しているマネージド型のNFSサーバーサービスであるAmazon EFS(以降EFS)を使用して構築する方法です。

マネージドサービスでありOSのメンテナンスを行う手間がなくなるため、運用コストを下げることが可能です。

EBSボリュームや後述するAmazon FSx for Windows File Server、Amazon FSx for NetApp ONTAPと異なり、ストレージのプロビジョニングが不要です。サイジングの手間がなく、保存されているデータサイズに応じて課金が発生する仕組みなのでお手軽に利用できます。

また、最後にアクセスされてからの経過日数に応じて、より安価な低頻度アクセスクラスやアーカイブクラスに階層化することでコスト削減に繋げることが可能です。わざわざアーカイブ用のファイルサーバーに移動する必要がないのは非常にポイントが高いです。

1-4. Amazon FSx for Windows File Server

AWSが提供しているマネージド型のWindowsと互換性のあるファイルサーバーサービスであるAmazon FSx for Windows File Serverを使用して構築する方法です。

FSxWではストレージにHDDを選択することが可能です。アーカイブ用途にはピッタリではないでしょうか。

もちろん、マネージドサービスであるためEC2インスタンスを使用するパターンと比べて運用負荷は低くなると考えます。

また、HDDとは相性は悪いですが重複排除機能も存在します。

注意点としては1つのファイルシステムのストレージサイズの上限は64TiBである点です。1つのファイル共有で64TiBよりも大きいサイズを見せる必要がある場合はDFSを使用することになります。ファイル共有を分割しても良いのであれば、単純にFSxWを分割することになります。

1-5. Amazon FSx for NetApp ONTAP

AWSが提供しているマネージド型のNetApp ONTAPと互換性のあるストレージサービスであるAmazon FSx for NetApp ONTAP(以降FSxN)を使用して構築する方法です。

EFSのようにFabricPoolというアクセス頻度に応じてデータブロックを安価なストレージに階層化する機能があります。上手に活用することでペタバイトスケールのファイルサーバーとして動作させることが可能です。

また、重複排除や圧縮、コンパクションと物理データ使用量を削減する仕組みが多いことも魅力的です。

こちらもマネージドサービスであるためEC2インスタンスを使用するパターンと比べて運用負荷は低くなると考えます。

1-6. Amazon S3 File Gateway

ファイルをS3バケット上に保存し、そのゲートウェイを仮想マシンとして動作させるハイブリッドクラウドストレージソリューションであるAmazon S3 File Gateway(以降S3 File Gateway)を使用して構築するパターンです。

ファイルをS3の安価なストレージクラスに移動させることによって、コスト効率良くファイルを保存することができます。

S3を利用することによる高耐久性も見逃せません。

一方で、S3 File Gateway自体は多数のクライアントから同時に利用する用途として使用することは非推奨であることを注意しましょう。

2.コスト試算前提条件

コスト試算をするにあたっての前提条件は以下のとおりです。

ストレージの種類

  • HDDが使用できる場合はHDDを選択

    • アーカイブ用途のため
    • ただし、EC2インスタンスのルートボリュームはSSD 30GiB固定
  • S3のストレージクラスはStandardとStandard-IAを使用

    • Glacier Instant RetrievalやGlacier Flexible RetrievalなどGlacierのストレージクラスは2024/5/20時点では未対応

ストレージサイズ

  • プロビジョニングする種類のストレージの場合、ストレージ使用率が70%になるようにプロビジョニング
  • 上述に加えて、FSxNの場合はONTAPのオーバーヘッドを加味して以下のようにSSDをプロビジョニング

    • プロビジョニングするストレージサイズが30TiB未満 : 84%
    • プロビジョニングするストレージサイズが30TiB以上 : 89%
  • FSxWでプロビジョニングするストレージサイズが64TiBを超過する場合は、FSxWを分割

    • その際、DFSは使用しない
  • FSxNはStorage Efficiencyにより物理データ使用量が25%削減される想定で計算
  • FSxWの重複排除・圧縮は0%で計算

    • HDDと重複排除処理の相性が悪いため
  • FSxNのSSDの割合は7%で計算

    • Tiering Policy All想定
  • EFSの頻繁にアクセスされるデータの割合は10%で計算
  • EFSの低頻度アクセスリクエストはデータサイズの10%で計算
  • S3のStandardとStandard-IAの割合は1:9

インスタンスサイズ

  • 10TiB未満はメモリサイズ8GiB、10以上はメモリサイズ16GiBのものを選択する

    • EC2インスタンス : m6i.large or m6i.xlarge
    • 例外としてS3 File Gatewayはxlargeが必須要件であるためm6i.xlarge固定
  • EFSはバーストスループットモードを選択
  • FSxWはスループットキャパシティを以下のように選択

    • ストレージサイズが10TiB未満 : 64MBps
    • ストレージサイズが10TiB以上 : 128MBps
  • FSxNはスループットキャパシティを128MBpsに選択

デプロイ

  • 以下リソースはSingle-AZでデプロイ

    • FSxN
    • FSxW
    • EFS
    • EC2
  • EFSはMulti-AZファイルシステムのパターンも作成

バックアップ

  • EBSスナップショットの差分は毎日データサイズの1%分発生する想定
  • 以下についてはバックアップストレージサイズをデータサイズの120%として計算

    • FSxN
    • FSxW
    • EFS
  • EBSスナップショットアーカイブ、EFSバックアップのコールドストレージは使用しない

OS

  • NFSサーバー on EC2のOSはAmazon Linux 2023想定
  • SMBサーバー on EC2のOSはWindows Server想定

その他

  • 料金は東京リージョン
  • EC2インスタンスの料金は前払いなし3年Compute Savings Plansで計算
  • FSxNのキャパシティプールストレージへの読み込みと書き込みリクエスト数に対する課金は計算しない
  • S3のAPIリクエストの課金は計算しない
  • S3のStandard-IAへのライフサイクル移行リクエスト数は毎月50,000 / TiB

アクセス頻度や、バックアップサイズによって料金は大きく変動するため、プロジェクトで活用する際は実際のワークロードに即した値に変更して試算してください。

3. コスト試算結果

コスト試算結果は以下のとおりです。

3-1. 1TiBの場合

項目 月額料金 (バックアップあり)
EFS (Single-AZ) 108.25 USD
S3 File Gateway 133.06 USD
EFS (Multi-AZ) 137.16 USD
NFSサーバー on EC2 211.36 USD
FSxW 246.30 USD
SMBサーバー on EC2 278.52 USD
FSxN 343.62 USD
項目 月額料金 (バックアップなし)
EFS (Single-AZ) 34.25 USD
EFS (Multi-AZ) 63.16 USD
S3 File Gateway 124.43 USD
NFSサーバー on EC2 128.86 USD
FSxW 184.86 USD
SMBサーバー on EC2 196.02 USD
FSxN 297.54 USD

EFSが非常に安価であることが分かります。

一方で保存したいデータ量が少ない場合はFSxNはToo muchのようです。

3-2. 5TiBの場合

項目 月額料金 (バックアップあり)
S3 File Gateway 196.99 USD
EFS (Single-AZ) 540.26 USD
FSxW 586.10 USD
FSxN 639.80 USD
EFS (Multi-AZ) 684.80 USD
NFSサーバー on EC2 832.80 USD
SMBサーバー on EC2 899.96 USD
項目 月額料金 (バックアップなし)
EFS (Single-AZ) 171.26 USD
S3 File Gateway 188.36 USD
FSxW 278.90 USD
EFS (Multi-AZ) 315.80 USD
FSxN 409.40 USD
NFSサーバー on EC2 435.58 USD
SMBサーバー on EC2 502.74 USD

S3 File Gateway以外はバックアップを取得しているのでS3 File Gatewayの安さが飛び抜けています。

NFSサーバー on EC2とSMBサーバー on EC2は相対的に高く見えます。コスト観点だと積極的にセルフマネージドで用意する必要性は薄そうです。

3-3. 10TiBの場合

項目 月額料金 (バックアップあり)
S3 File Gateway 276.91 USD
FSxN 1,052.27 USD
EFS (Single-AZ) 1,079.53 USD
FSxW 1,172.20 USD
EFS (Multi-AZ) 1,368.61 USD
NFSサーバー on EC2 1,661.09 USD
SMBサーバー on EC2 1,795.41 USD
項目 月額料金 (バックアップなし)
S3 File Gateway 268.28 USD
EFS (Single-AZ) 342.53 USD
FSxW 557.80 USD
FSxN 591.47 USD
EFS (Multi-AZ) 631.61 USD
NFSサーバー on EC2 868.32 USD
SMBサーバー on EC2 1,002.64 USD

FSxNがFabricPoolおよび重複排除・圧縮効果により相対的にコストが安くなってきました。

3-4. 50TiBの場合

項目 月額料金 (バックアップあり)
S3 File Gateway 916.22 USD
FSxN 4,664.61 USD
FSxW 4,889.82 USD
EFS (Single-AZ) 5,398.64 USD
EFS (Multi-AZ) 6,844.02 USD
NFSサーバー on EC2 7,910.85 USD
SMBサーバー on EC2 8,045.17 USD
項目 月額料金 (バックアップなし)
S3 File Gateway 907.59 USD
EFS (Single-AZ) 1,712.64 USD
FSxW 1,817.82 USD
FSxN 2,360.61 USD
EFS (Multi-AZ) 3,158.02 USD
NFSサーバー on EC2 3,953.88 USD
SMBサーバー on EC2 4,088.20 USD

バックアップ有無を差し引いてもS3 File Gatewayが圧倒的に安いです。

その他の候補についてはバックアップの有無でコストが倍以上の差が出るようになりました。これはストレージの階層やボリュームタイプに関わらず、バックアップやスナップショットの料金は同じであるためです。

3-5. 100TiBの場合

項目 月額料金 (バックアップあり)
S3 File Gateway 1,797.29 USD
FSxN 9,213.53 USD
FSxW 9,455.64 USD
EFS (Single-AZ) 10,797.28 USD
EFS (Multi-AZ) 13,688.03 USD
NFSサーバー on EC2 15,723.05 USD
SMBサーバー on EC2 15,857.37 USD
項目 月額料金 (バックアップなし)
S3 File Gateway 1,788.66 USD
FSxW 3,311.64 USD
EFS (Single-AZ) 3,425.28 USD
FSxN 4,605.53 USD
EFS (Multi-AZ) 6,316.03 USD
NFSサーバー on EC2 7,810.83 USD
SMBサーバー on EC2 7,945.15 USD

バックアップの有無でFSxNのコスト順位が変わることが分かります。これはバックアップデータに対しても重複排除や圧縮といったデータ削減処理が効いているためです。バックアップを取らないことにより、その優位性が相対的に薄れています。

4. まとめ

AWS上でアーカイブ用途のファイルサーバーとして選択され得る各構成のコスト試算をしてみました。

私個人の選択の目安をフローチャートに起こしてみました。

コストだけを追い求めるのであればS3 File Gatewayだとは思います。一方で、複数クライアントからファイルサーバーとしてアクセスさせるのであればEFSやFSxN、FSxWが選択肢に入るでしょう。

何はともあれ、意思決定をする際はよりお使いのワークロードに近しい値でコスト試算をすることをオススメします。バックアップサイズや更新量、アクセス数などでコストは大きく変動すると考えます。

この記事が誰かの助けになれば幸いです。

以上、クラスメソッドの のんピ でした!

著者

クラスメソッド株式会社

AWS事業本部 コンサルティング部

山本 涼太(のんぴ)

https://dev.classmethod.jp/author/non____97/

クラスメソッド株式会社はアマゾン ウェブ サービスをはじめ、データ分析、モバイル、IoT、AI/機械学習等の分野で企業向け技術支援を行っています。2023年にはアジア最優秀SIパートナーとして「SI Partner of the Year – APJ」を受賞。現在までの技術支援実績は3,000社以上、AWS環境については25,000アカウント以上となりました。社員による技術情報発信にも注力し、オウンドメディア「DevelopersIO」では4万本以上の記事を公開中です。

クラスメソッド株式会社

https://classmethod.jp/

技術ブログ「DevelopersIO」

ページ上部へ戻る

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。