RDSインスタンスの保存時暗号化設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、RDSインスタンスの保存時暗号化について、リスクと対策を解説します。

ポリシーの説明
Amazon RDSインスタンスの保存時暗号化(Encryption at Rest)は、データベースストレージ、自動バックアップ、リードレプリカ、スナップショット、およびDBクラスターストレージを業界標準のAES-256暗号化アルゴリズムで保護する機能です。AWS Key Management Service (KMS) と統合されており、暗号化キーの管理を一元化できます。暗号化は透過的に行われ、アプリケーションコードの変更は不要です。
修復方法
コンソールでの修復手順
AWSのコンソールを使用して、既存の非暗号化RDSインスタンスを暗号化されたインスタンスに移行します。
重要な注意事項
- 既存のRDSインスタンスの暗号化を直接有効にすることはできません。スナップショットを介した移行が必要です
- 暗号化の有効化は不可逆的な操作です。一度暗号化したインスタンスを非暗号化に戻すことはできません
- 暗号化されたインスタンスから作成されるすべてのリードレプリカとスナップショットも自動的に暗号化されます
- ダウンタイムが発生するため、メンテナンスウィンドウでの実施を推奨します
手順1: 現在のRDSインスタンスの確認
- AWS Management Consoleにログインします
- RDSサービスに移動します
- 左側のナビゲーションペインから「データベース」を選択します
- 対象のデータベースインスタンスを選択し、「設定」タブを確認します
- 「暗号化」セクションで「有効」でない場合、以下の手順で暗号化を実施します
手順2: スナップショットの作成
- 対象のRDSインスタンスを選択します
- 「アクション」メニューから「スナップショットの作成」を選択します
- スナップショット名を入力(例:
unencrypted-db-snapshot-2025-01-15
) - 「スナップショットの作成」をクリックします
- スナップショットの作成完了を待ちます(数分から数十分かかる場合があります)
手順3: 暗号化されたスナップショットのコピー作成
- 左側のナビゲーションペインから「スナップショット」を選択します
- 作成したスナップショットを選択します
- 「アクション」から「スナップショットのコピー」を選択します
- 以下の設定を行います:
- 「新しいDB スナップショット識別子」:
encrypted-db-snapshot-2025-01-15
- 「暗号化」セクションで「暗号化を有効化」にチェック
- 「AWS KMS キー」:デフォルトの
aws/rds
またはカスタムKMSキーを選択
- 「新しいDB スナップショット識別子」:
- 「スナップショットのコピー」をクリックします
手順4: 暗号化されたインスタンスの復元
- 暗号化されたスナップショットを選択します
- 「アクション」から「スナップショットの復元」を選択します
- 以下の重要な設定を確認・入力します:
- DBインスタンス識別子:新しい名前を指定(例:
encrypted-db-instance
) - DBインスタンスクラス:元のインスタンスと同じまたは適切なサイズを選択
- マルチAZ配置:本番環境では有効化を推奨
- ストレージ暗号化:自動的に有効になっていることを確認
- DBインスタンス識別子:新しい名前を指定(例:
- 「DBインスタンスの復元」をクリックします
Terraformでの修復手順
RDSインスタンスの保存時暗号化を有効にするTerraformコードと、主要な修正ポイントを説明します。
# 暗号化されたRDSインスタンスの作成
resource "aws_db_instance" "encrypted_database" {
>>>> Skip
storage_encrypted = true # 暗号化を有効化
kms_key_id = aws_kms_key.rds_encryption.arn
}
ポイント
- storage_encrypted = true: すべてのRDSインスタンスで必須設定
- kms_key_id: カスタムKMSキーの使用を推奨(デフォルトのaws/rdsより管理面で優位)
最後に
この記事では、RDSインスタンスの保存時暗号化について、リスクと対策を解説しました。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。