RDS 汎用 SSD ストレージの課金に要注意!【AWS 無料利用枠】

Blog-Thumbnail_KUDs-01 AWS

はじめに

AWS(Amazon Web Services)は、その多機能性と柔軟性により、全世界の開発者や企業に利用されています。
しかし、その多機能性が裏目に出る場合もあります。
それは、サービスの課金に関してです。
特に初心者の方や小規模な開発チームでは、AWS の無料利用枠を利用してコストを抑えたいと考えているかもしれません。
しかし、無料利用枠の細部について十分に理解していないと、予期せぬ課金が発生することがあります。

今回の記事では AWS RDS(Amazon Relational Database Service)における「汎用 SSD ストレージ」の課金について、注意すべきポイントを解説します。
特に、以下の点について解説します。

  • RDS の無料利用枠と有料のサービスとの違い
  • 汎用 SSD ストレージの「gp2」と「gp3」の違い
  • 予期せぬ課金を防ぐための具体的な RDS の設定方法

この記事を通じて、RDS の予期せぬ課金を回避していきましょう。

AWS 無料利用枠とは

AWS 無料利用枠は、AWS が提供するサービスの一部を無料で使用できる特典です。
初心者が AWS サービスを学んだり、プロトタイプ作成に非常に有用です。

無料利用枠には以下のようなカテゴリがあります。

  • 常に無料の利用枠
    • AWS が提供するいくつかのサービスは、一定の範囲内ならずっと無料で利用できます。
      例えば、DynamoDB では毎月 25 GB までのストレージが常に無料で利用可能です。
  • 12 か月間無料の利用枠
    • 新規 AWS アカウントを開設してから 12 か月間、AWS の主要サービスを無料で利用できます。
      例えば、EC2 や S3 など、様々なサービスがこの範疇に含まれます。
  • 試用期間の利用枠
    • 一部の AWS サービスは、新規にサービスを開始した日から一定期間無料で利用できます。

しかし、これらの無料利用枠は各サービスやリソースに制限があります。
もちろん、それらの制限範囲を超えると通常の料金が発生します。
そのため、無料利用枠を利用する際には、具体的な制限範囲の理解が重要です。

この記事では特に RDS 汎用 SSD ストレージの 12 か月間無料の利用枠について詳細と注意点を解説します。

AWS RDS の無料利用枠と課金対象の違い

AWS RDS の無料利用枠を利用すると、特定の制限の下、毎月最大 750 時間まで無料で使用できます

  • DB エンジン:
    • MySQL
    • PostgreSQL
    • MariaDB
  • Single-AZ (単一可用性ゾーン)
  • インスタンスタイプ
    • db.t2.micro
    • db.t3.micro
    • db.t4g.micro

さらに、最大 20 GB までの汎用 (SSD) データベースストレージと、最大 20 GB までのデータベースバックアップ用ストレージが提供されます。
なお、これらの内容は、AWS 公式の無料利用枠ページにも以下の通り記載があります。

データベース
無料利用枠
12 か月間無料
Amazon RDS
750 時間

のデータベース使用時間/月 (該当する DB エンジン)
MySQL、PostgreSQL、MariaDB、または SQL Server のためのマネージドリレーショナルデータベースサービスです。

  • 1 か月あたり 750 時間の、MySQL、MariaDB、PostgreSQL データベースを実行する Amazon RDS シングル AZ db.t2.micro、db.t3.micro、および db.t4g.micro インスタンスの使用時間 (該当する DB エンジン)
  • 20 GB の汎用 (SSD) データベースストレージ
  • 20 GB のデータベースバックアップおよび DB スナップショット用ストレージ
https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=categories%23databases

ただし、無料利用枠の制限を超える使用、または無料利用枠でカバーされないサービスや機能を使用した場合、通常の料金が発生します。

汎用 SSD ストレージとは – gp2 と gp3 の違い

RDS では、汎用 SSD ストレージとして gp2 と gp3 の 2 タイプが提供されています。
これらのストレージタイプは、性能とコストの最適化を目指したものです。
特徴としては、低コストで一貫した性能を提供します。

  • gp2:
    • ベースライン性能とバースト性能の両方を提供します
    • ストレージ容量に応じて IOPS が割り当てられます
      ※ IOPS: Input/Output Operations Per Second
  • gp3:
    • gp2 と比べてより柔軟性があり、ストレージ容量と IOPS を独立して設定することができます
      これにより、アプリケーションの要件に合わせて性能とコストを最適化できます

なお、詳細については、AWS 公式ドキュメントをご参照ください。

汎用 SSD ストレージ

汎用 SSD ストレージは、レイテンシーの影響をあまり受けない、ほとんどのデータベースワークロードで使用できる、コスト効果に優れたストレージです。

注記

汎用 SSD ストレージを使用する DB インスタンスは、プロビジョンド IOPS ストレージを使用するインスタンスよりも、リードレプリカの作成、マルチ AZ 変換、DB スナップショットの復元後のレイテンシーが大幅に長くなります。これらの操作の後に、レイテンシーが最小の DB インスタンスを必要とする場合は、プロビジョンド IOPS SSD ストレージ を使用することをお勧めします。

Amazon RDS ストレージは、gp2 ストレージ と gp3 ストレージ という 2 種類の汎用 SSD ストレージを提供します。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_Storage.html

汎用 SSD ストレージの罠 – gp3 は無料利用枠の対象外

ここで重要なのは「汎用 SSD ストレージ」が何を指しているかです。

前述の通り、無料利用枠ページには以下の記載があります。

  • 20 GB の汎用 (SSD) データベースストレージ
https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=categories%23databases

また、AWS 公式ドキュメントでは以下の記載がありました。

Amazon RDS ストレージは、gp2 ストレージ と gp3 ストレージ という 2 種類の汎用 SSD ストレージを提供します。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_Storage.html

以上のことから、「gp3 は無料利用枠の対象」と考えられます。

しかし、実際には無料利用枠の対象は gp2 のみです。
つまり、 「gp3 は無料利用枠の対象外」です。
もし、gp3 ストレージを使用すると、その使用量に対して通常の料金が発生します。
よく探せばそのことは、RDS 無料利用枠のページにも記載があります。

Amazon RDS での AWS 無料利用枠

  • MySQL、MariaDB、PostgreSQL データベースを実行する Amazon RDS の Single-AZ db.t2.micro、db.t3.micro、db.t4g.micro インスタンスのための、750 時間/月という使用時間複数のインスタンスを実行している場合、使用量はインスタンスクラス間で集計されます。
  • SQL Server (SQL Server Express Edition を実行) を使う Amazon RDS の Single-AZ db.t2.micro インスタンスのための、750 時間/月という使用時間。
  • 1 か月あたり 20 GB の汎用 SSD (gp2) ストレージ。
  • 自動データベースバックアップとユーザーによる任意の DB スナップショットに使用できる 20 GB のバックアップストレージ*。

※バックアップストレージは、最大 20 GB と DB ストレージのサイズのうち小さい量を無料で利用できます。ご使用のアカウントで少なくとも 1 つの DB インスタンスを実行する必要があります。これらの制限を超えた場合、またはアカウントのすべての DB インスタンスを終了した場合、バックアップストレージは標準 RDS 料金に基づいて請求されます。

これらのサービスに加えて、Amazon RDS での DB インスタンスの構築と管理に役立つ AWS マネジメントコンソールを追加料金なしでご利用いただけます。

https://aws.amazon.com/jp/rds/free/

予期せぬ課金を防ぐための RDS 設定方法

前述の通り、「gp3 は無料利用枠の対象外」です。
そのため、無料利用枠を最大限利用するためには、gp2 を利用する必要があります。

ストレージタイプの変更方法

ストレージタイプ gp2 でテーブル作成済みの方は、gp3 に変更する必要があります。

なお、RDS では既存の DB インスタンスに直接変更を適用することが可能です。
新たにインスタンスを作成する必要はなく、以下の手順で適用可能です。

  1. AWS Management Console にログインします
  2. 「RDS」サービスを選択します
  3. 「Databases」タブを開き、変更したい DB インスタンスを選択します
  4. 「Modify」ボタンをクリックします
  5. 「Storage type」の項目で「General Purpose SSD (gp2)」を選択します
  6. 「Continue」をクリックします
  7. 「Summary of modifications」で変更内容を確認します
  8. すぐに変更を適用する場合は「Apply immediately」を選択します
  9. 「Modify DB instance」をクリックします
  10. DB インスタンスステータスが「Modifying」→「Available」ステータスに遷移します
    ※設定の変更後、変更が適用されるまで少し時間がかかります

AWS の課金状況の確認方法

AWS の無料利用枠超過アラートメール – 確認不可

通常、AWSからは無料利用枠を超えた際にアラートメールが送信されます。
しかし、今回のような場合、無料利用枠がそもそも適用されていないサービス(この場合はgp3ストレージ)を利用していたため、無料利用枠超過のアラートメールは送信されません。

そのため、AWS ユーザーは自身で定期的に課金状況をチェックし、予期せぬ課金が発生していないかを確認する必要があります。

AWS Billing – 確認可

課金状況はAWS Billingページから確認することができます。

以下に、実際の課金状況の例を示します。

AWS Billilng Bills「Amazon Relational Database Service Provisioned Storage: $0.138 per GB-month of provisioned GP3 storage running MySQL」
AWS Billilng Bills「Amazon Relational Database Service Provisioned Storage: $0.138 per GB-month of provisioned GP3 storage running MySQL」

上記の例では、「Amazon Relational Database Service Provisioned Storage」の項目に対して「USD 1.02」の課金が発生しています。
ここでは「$0.138 per GB-month of provisioned GP3 storage running MySQL」と説明されており、gp3 ストレージが課金の原因であることがわかります。

さいごに

本記事では、AWS RDSの無料利用枠における、ストレージタイプ gp2 と gp3 の違いについて解説しました。
無料利用枠では gp2 のみが含まれており、gp3 を使用すると追加の課金が発生します。

また、ストレージタイプを gp2 から gp3 に変更する手順について説明しました。
これにより、予期せぬ課金を避けるための対策を講じることが可能となります。

さらに、AWSの課金状況の確認方法についても説明しました。
これにより、AWS の課金状況を定期的にチェックし、予期せぬ課金が発生していないか確認することが可能となります。

AWS を利用する際は、無料利用枠の詳細を把握し、定期的な課金状況の確認を行うことで、無駄なコストを避け、より効果的にサービスを利用することができます。
本記事が皆様の AWS 利用の一助となれば幸いです。

コメント