3秒でわかる
AWS RDS で選べる最小級のインスタンスクラス。無料枠や検証用データベースの定番で、CPU クレジットで性能が変わる仕組みごと押さえる入り口になります。
もう少し詳しく
どういうものか
AWS のマネージドデータベースサービス RDS で、データベースサーバーの大きさを選ぶときの選択肢のひとつです。名前は 3 つの部分に分かれていて、db が RDS 向けであること、t3 が世代とファミリー、micro がサイズを表します。vCPU 2 個とメモリ 1 GiB という構成で、RDS で選べるものの中では最小クラスにあたります。MySQL、PostgreSQL、MariaDB など主要なエンジンで利用できます。
t 系ファミリーの特徴は、常に全力で動くのではなく、普段は低い性能で動きながら CPU クレジットを貯め、負荷がかかったときにそのクレジットを使って一時的に速く動く点です。これをバースト性能と呼びます。ずっと軽い負荷で、たまに重い処理が来る、という使い方に合わせて設計されています。
なぜ必要か
学習中や開発中のデータベースに、常時フル性能のサーバーを借りると料金が跳ね上がります。個人の練習用データベースは 1 日のうち動いている時間がわずかで、そこに月数万円のインスタンスを当てるのは無駄になります。最小サイズが用意されていることで、アプリの動作確認、スキーマの検証、チーム内のステージング環境といった用途を安く回せます。
新規アカウントでは、開設から 12 か月間、月 750 時間まで無料で使える対象に含まれることがあります。ただし対象のインスタンスクラスや条件はリージョンや時期で変わるため、使う前に AWS の公式ドキュメントで現時点の条件を確認する必要があります。
具体例
AWS CLI で作る場合は、インスタンスクラスを引数で指定します。
aws rds create-db-instance \
--db-instance-identifier my-dev-db \
--db-instance-class db.t3.micro \
--engine mysql \
--allocated-storage 20 \
--master-username admin \
--master-user-password "$DB_PASSWORD" \
--backup-retention-period 1 \
--no-publicly-accessibleTerraform なら instance_class = "db.t3.micro" の 1 行にあたります。
つまずきやすいところ
無料枠を「無料」と読んで放置する事故が一番多く起きます。インスタンス時間が無料枠に入っていても、確保したストレージ、バックアップの保存領域、リージョンをまたぐ転送量は別に課金されます。検証が終わったら削除するか、スナップショットだけ残して停止する運用にします。
もうひとつは CPU クレジットの枯渇です。重い集計クエリを流し続けるとクレジットを使い切り、そこから急にレスポンスが遅くなります。「昨日まで速かったのに今日は遅い」という症状の正体がこれであることは珍しくありません。CloudWatch の CPUCreditBalance を見れば、性能が落ちたのがクレジット切れなのかどうかを切り分けられます。
似た用語との違い
t3.micro は EC2 の仮想サーバー向け、db.t3.micro は RDS 向けで、同じ名前でも購入できる場所が違います。より新しい db.t4g.micro は ARM 系の Graviton プロセッサを使い、同価格帯で性能と料金の効率が良くなっています。新規に選ぶなら、利用するエンジンのバージョンが対応しているかを確かめたうえで t4g 系も比較対象に入れます。