RDSインスタンスへの自動バックアップの有効化手順

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、SecurityHubで検出される「[RDS.11] RDS インスタンスでは、自動バックアップが有効になっている必要があります」について解説します。

ポリシーの説明
[RDS.11] RDS インスタンスでは、自動バックアップが有効になっている必要があります
Amazon RDS の Security Hub コントロール – AWS Security Hub
Amazon Relational Database Service インスタンスで自動バックアップが有効に設定されていて、バックアップ保持期間が指定された時間枠以上であるかどうかをチェックします。リードレプリカは評価から除外されます。インスタンスのバックアップが有効になっていない場合や、保持期間が指定された時間枠未満の場合、コントロールは失敗します。
リスク: RDSインスタンスの自動バックアップが有効になっていない、またはバックアップの保持期間が7日未満に設定されている場合、以下のようなリスクが発生します。
- データ損失: データベースの破損、人的ミスによるデータの誤削除、ハードウェア障害などの予期せぬ事態が発生した場合、データを復旧する手段がなく、重要なデータが失われる可能性があります。
- 事業継続性の阻害: データ損失が発生した場合、システムの復旧に時間がかかり、事業継続計画(BCP)に支障をきたす可能性があります。
- コンプライアンス違反: 業界や規制によっては、データの定期的なバックアップと一定期間の保持が義務付けられている場合があります。自動バックアップの設定不備は、コンプライアンス違反につながる可能性があります。
- 復旧コストの増大: 自動バックアップが設定されていない場合、障害発生時に手動で復旧作業を行う必要があり、時間とコストがかかる可能性があります。また、最悪の場合、データの復旧が不可能になることもあります。
対策: RDSインスタンスのデータを保護し、事業継続性を確保するために、自動バックアップを有効にし、適切な保持期間を設定することが重要です。
- 自動バックアップの有効化: RDSインスタンス作成時または作成後に、自動バックアップ機能を有効にします。
- 適切な保持期間の設定: データの重要性やコンプライアンス要件に応じて、7日以上の保持期間を設定します。AWSのベストプラクティスでは、少なくとも7日以上の保持期間が推奨されています。重要なデータの場合は、より長い保持期間を設定することを検討してください。
- バックアップ頻度の確認: 自動バックアップの頻度(通常は1日1回)を確認し、必要に応じてメンテナンスウィンドウを調整します。
- リストアテストの実施: 定期的に自動バックアップからデータをリストアするテストを実施し、バックアップが正常に機能していることと、復旧手順が確立されていることを確認します。
修復方法
AWSコンソールでの修復手順
AWSコンソールを用いて、RDSインスタンスの自動バックアップを有効にし、保持期間を7日以上に設定します。
- AWSコンソールにログインします。
- ナビゲーションペインから RDS を選択します。
- 左側のメニューから データベース を選択し、該当するRDSインスタンスの名前をクリックします。
- アクションからバックアップを有効にするをクリックします。
- 変更内容を確認し、今すぐ適用 または メンテナンスウィンドウで適用 を選択して 変更 をクリックします。

Terraformでの修復手順
TerraformでRDSインスタンスを管理している場合、aws_db_instance
リソースの backup_retention_period
パラメータを7以上、backup_window
パラメータを設定することで自動バックアップを有効にできます。
resource "aws_db_instance" "example" {
allocated_storage = 20
engine = "mysql"
instance_class = "db.t2.micro"
name = "mydb"
password = "yourpassword"
username = "admin"
backup_retention_period = 7 # 7日以上の保持期間を設定
backup_window = "03:00-03:30" # バックアップウィンドウ (任意)
# その他の設定 ...
}
上記の例では、backup_retention_period
が 7
に設定されており、自動バックアップが有効になります。必要に応じて、より長い保持期間やバックアップウィンドウを設定してください。既存のRDSインスタンスの設定を変更する場合は、該当する aws_db_instance
リソースを修正し、terraform apply
を実行します。
最後に
今回は、RDSインスタンスにおける自動バックアップの未設定または保持期間の不足がもたらすデータ損失のリスクと、それを是正するための対策について解説しました。RDSの自動バックアップは、データベースの保護と事業継続性の確保において不可欠な機能です。適切な設定を行い、予期せぬ事態に備えるようにしましょう。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。
最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。