見出し画像

「AWS Backupのコストを最適化する」を読み、もう少し詳しくバックアップについて調べてみた


はじめに

Amazon Web Services ブログの「AWS Backup のコストを最適化する」を読みました。 (昨今、機械翻訳技術が進んでいますが、日本語で読めると、すんなり頭に入ってくるのでありがたいです。)

ランサムウェアの脅威によって、データ保護はすべての企業にとっての最優先事項となっているが、データ保護のためのバックアップにかかるコストについて最適化を行う必要がある、すなわち、"データ保護の要件と、賢くお金を払うことのバランスを取る必要がある"ということが書かれていました。

その通りだと思ったのですが、「考慮すべきコスト最適化の原則」の「2. コストの計算方法を理解する」に記載された、「さまざまなリソースのバックアップ料金を理解します。」の部分が、個人的に、もやっとしました。

もやっとしたのは、以下の疑問が出たからです。
"AWS Backup でバックアップを取得できる、さまざまなリソースのバックアップ料金って、どんな考え方で、どうやって見積るんだろう?"

AWSブログの記事には、Amazon RDSについて例が示されていました。

例えば、Amazon RDS では AWS Backup を通じて継続的なバックアップを提供しています。これらのバックアップは最大35日間保存でき、その保持期間中に作成されたバックアップは無料で提供されます。

他のサービスを含め、バックアップのコストってどのように考えればよいのかが気になったため、よく使われそうなサービスについて、もう少し詳しく調べてみることにしました。 その結果を記事にすることで、自分の頭の整理ができるのではないかと思いました。また、同じように、もう少し詳しく知りたくなった方の助けになれば幸いです。

なお、この記事に記載の利用料金や仕様は執筆時点(2024/5/31現在)のものとなります。

各サービスのバックアップ保持期間と料金の考え方


ここでは、AWS Backupがサポートしている代表的な( & 自分が気になる)サービスをピックアップして、利用料に係りそうなバックアップの仕様や料金についての調査結果を、つらつらと記載していきます。

Amazon RDS for PostgreSQL

バックアップ保持期間
DB自動バックアップの保持期間は1日から35日までです。

バックアップストレージの料金
バックアップストレージはリージョンごとに割り当てられたストレージで、データの自動バックアップ、利用者が作成したDBスナップショットに使われるストレージです。バックアップ保持期間の延長やDBスナップショット数が増えると、バックアップストレージが増大します。

該当リージョンのデータベースストレージ容量が100%を超えるまで、バックアップストレージに料金は発生しません。

マルチシングルAZとシングルAZの設定はバックアップストレージ料金に影響しません。

DBインスタンスが終了しているか未終了かで、料金に違いがあります。

  • DBインスタンスが起動中は、DBストレージ用の追加のバックアップストレージ料金は毎月 USD 0.095/GiB

  • DBインスタンス終了後のバックアップストレージ料金は毎月 USD 0.095/GiB

つまり、DBインスタンスが稼働中(未終了)、DBストレージの容量が100GiBで、バックアップストレージが120GiBのときの、月額のバックアップストレージ料金を計算すると、

  • DBインスタンスが起動中は、DBストレージ用の追加のバックアップストレージ料金は毎月 USD 0.095/GiBです。

  • DBストレージの容量が100GiBであるため、100%を超えない分についてはバックアップストレージ料金はかかりません。

  • バックアップストレージが120GiBであるため、100GiBを超える20GiBについては、USD 0.095/GiB の料金がかかることになります。

したがって、RDS for PostgreSQLのバックアップストレージの月額料金は 20GiB x USD 0.095/GiB = USD 1.90 となります。

参考:RDS for PostgreSQLの料金(公式ドキュメント) 

Amazon Aurora

バックアップ保持期間
Amazon AuroraのDBクラスターの自動バックアップの保持期間は1日から35日までです。

バックアップストレージの料金
Auroraのバックアップストレージは、DBの自動バックアップと、利用者が作成したDBクラスターのバックアップに使われるストレージです。 DBクラスターの容量100%までは、バックアップストレージに料金はかからず、バックアップ保持期間内に作成されたDBスナップショットにも同様に料金はかかりません。

その他すべてのバックアップとスナップショット(削除されたクラスターのものを含め)には、例えば東京/大阪リージョンでは、バックアップストレージに毎月 USD 0.023/GiBがかかります。

参考:Amazon Auroraの料金(公式ドキュメント)


Amazon EBS

バックアップ保持期間
EBSスナップショットの保持期間に上限はありません。

バックアップストレージの料金
EBSスナップショットの料金は毎月のGB量で計算されます。 スナップショットが大きいほど、またスナップショットの保持期間が長いほどコストがかかることになります。

EBSのストレージティア(階層)によっても料金が異なります。 スタンダードティアのEBSスナップショットは段階的に保存されるため変更されたブロックの保存に対して請求が発生します。 アーカイブされると、増分スナップショットは、すべてのブロックが含まれるフルスナップショットに変換されて、アーカイブティアに移動します。

東京リージョンの場合、EBSスナップショットのバックアップ料金は以下のようになります。

  • スタンダード:0.05USD/1か月あたりのGB

  • アーカイブ:0.0125USD/1か月あたりのGB

スナップショットとティア

参考


Amazon DynamoDB

DynamoDBのオンデマンドバックアップには2種類があります。

  • AWS Backupは、テーブルの完全バックアップを非同期で取得できます。

  • DynamoDBバックアップは、テーブルの完全バックアップを取得できます(非同期で開始されるものではなく、即座に開始される)。

このほかに、ポイントインタイムリカバリの仕組みを持っており、有効化すると、明示的に無効にするまで継続的にバックアップが取得されます。

バックアップ保持期間
ポイントインタイムリカバリのためのDynamoDBのバックアップ保持期間は1日から35日です。DynamoDBのオンデマンドバックアップには保持期間の上限はありません。

バックアップストレージの料金
公式ドキュメントの料金欄には、バックアップ関連の料金について、はっきりと書かれていなかったため、 AWS Pricing Calculatorを確認しました。

オンデマンドバックアップデータストレージの料金は、東京リージョンの場合、USD 0.114/1か月あたりのGB です。

ポイントインタイムデータストレージの料金は、東京リージョンの場合、USD 0.228/1か月あたりのGB です。

公式ドキュメントのAWS Backupの料金には、DynamoDBのコールドストレージのバックアップは、DynamoDBのアドバンスト機能にオプトインした場合のみ利用可能だと記載されていました。


Amazon Redshift

Redshiftは、8時間ごと、または5GBのデータ変更ごとの、どちらか早いほうのバックアップを自動的に作成します。

バックアップ保持期間

Redshiftの自動バックアップはデフォルトで24時間保持されます。デフォルトの保持期間は変更が可能です。 また、無期限に保持できるスナップショットを手動で作成することもできます。

自動バックアップの保持期間を24時間を超えて延長するには、AWS Backupサービスを使用してカスタムバックアッププランと保持ポリシーを構成する形になります。

バックアップストレージの料金

24時間保持される自動バックアップには料金がかかりません。 AWS Backupを使用して保持される、Redshiftクラスターのスナップショットについては、データ量とバックアップの保持期間に応じて、料金が発生します。 公式ドキュメントのAWS Backupの料金に記載されているように、容量に応じた段階的な料金が設定されています。

東京リージョンの場合:

  • 最初の50TB/月 USD 0.025/1か月あたりのGB

  • 次の450TB/月 USD 0.024/1か月あたりのGB

  • 500TB/月以上 USD 0.023/1か月あたりのGB


Amazon S3

S3独自のバックアップの仕組みはありませんが、AWS Backupを使って、バージョニングを有効にしたS3バケットとオブジェクトのバックアップを作成、管理することができます。

バックアップ保持期間

S3のバックアップ保持期間は任意の期間を設定することができます。

バックアップストレージの料金

S3バケットおよびオブジェクトのバックアップを作成・管理するためにAWS Backupを利用する場合、保存データ量とバックアップ保持期間に応じて課金されます。

公式ドキュメントのAWS Backupの料金によると、S3 Backupの料金は、東京リージョンの場合、毎月 USD 0.06/GBとなっています。

ドキュメントに注記されていますが、128KB未満のS3 オブジェクトの場合、128KBのバックアップとしてバックアップ料金が設定されます。 S3バックアップのGB/月単位の料金に加え、S3オブジェクトとEventbridgeイベントへのGET/LISTリクエストにも課金されます。 また、S3のバックアップストレージが1日単位で課金されるため、GB-時間単位ではなく、GB-日単位で課金されます。

Amazon EFS

EFSに独自のバックアップの仕組みはありませんが、AWS Backupとネイティブに統合されているため、EFSファイルシステムのバックアップを作成、管理することができます。

EFSファイルシステムを作成すると、自動バックアップがデフォルトでオンになり、自動バックアップにAWS Backup推奨の日次バックアップが設定されます。

自動バックアップのほか、AWS Backupを使用して、オンデマンドでバックアップの取得ができます。 手動でバックアップを構成することも可能です。

バックアップ保持期間

EFSの自動バックアップのデフォルト保持期間は35日で、変更できます。 EFSのバックアップ保持期間は任意の期間を設定することができます。

バックアップストレージの料金

EFSファイルシステムのバックアップを作成・管理するためにAWS Backupを利用する場合、保存データ量とバックアップ保持期間に応じて課金されます。

公式ドキュメントのAWS Backupの料金によると、EFSファイルシステムのバックアップの料金は、東京リージョンの場合、毎月 USD0.06/GB、コールドストレージの場合は毎月 USD0.012/GBとなっています。

まとめ

公式ドキュメントのAWS Backupの料金を見ると、AWS Backupを使用したさまざまなAWSリソースのバックアップにかかる料金を確認することができます。

しかし、さまざまなサービスのバックアップ保持期間や、バックアップにかかる料金のかかり方を、もう一段階詳しく調べることによって、バックアップにかかるコストの最適化の考慮点についての理解を深めることができました。


この記事が気に入ったらサポートをしてみませんか?