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

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

この記事では、RDSインスタンスの保存時暗号化について、リスクと対策を解説します。

ポリシーの説明

Amazon RDSインスタンスの保存時暗号化(Encryption at Rest)は、データベースストレージ、自動バックアップ、リードレプリカ、スナップショット、およびDBクラスターストレージを業界標準のAES-256暗号化アルゴリズムで保護する機能です。AWS Key Management Service (KMS) と統合されており、暗号化キーの管理を一元化できます。暗号化は透過的に行われ、アプリケーションコードの変更は不要です。

修復方法

コンソールでの修復手順

AWSのコンソールを使用して、既存の非暗号化RDSインスタンスを暗号化されたインスタンスに移行します。

重要な注意事項

  • 既存のRDSインスタンスの暗号化を直接有効にすることはできません。スナップショットを介した移行が必要です
  • 暗号化の有効化は不可逆的な操作です。一度暗号化したインスタンスを非暗号化に戻すことはできません
  • 暗号化されたインスタンスから作成されるすべてのリードレプリカとスナップショットも自動的に暗号化されます
  • ダウンタイムが発生するため、メンテナンスウィンドウでの実施を推奨します

手順1: 現在のRDSインスタンスの確認

  1. AWS Management Consoleにログインします
  2. RDSサービスに移動します
  3. 左側のナビゲーションペインから「データベース」を選択します
  4. 対象のデータベースインスタンスを選択し、「設定」タブを確認します
  5. 「暗号化」セクションで「有効」でない場合、以下の手順で暗号化を実施します

手順2: スナップショットの作成

  1. 対象のRDSインスタンスを選択します
  2. 「アクション」メニューから「スナップショットの作成」を選択します
  3. スナップショット名を入力(例:unencrypted-db-snapshot-2025-01-15
  4. 「スナップショットの作成」をクリックします
  5. スナップショットの作成完了を待ちます(数分から数十分かかる場合があります)

手順3: 暗号化されたスナップショットのコピー作成

  1. 左側のナビゲーションペインから「スナップショット」を選択します
  2. 作成したスナップショットを選択します
  3. 「アクション」から「スナップショットのコピー」を選択します
  4. 以下の設定を行います:
    • 「新しいDB スナップショット識別子」:encrypted-db-snapshot-2025-01-15
    • 「暗号化」セクションで「暗号化を有効化」にチェック
    • 「AWS KMS キー」:デフォルトのaws/rdsまたはカスタムKMSキーを選択
  5. 「スナップショットのコピー」をクリックします

手順4: 暗号化されたインスタンスの復元

  1. 暗号化されたスナップショットを選択します
  2. 「アクション」から「スナップショットの復元」を選択します
  3. 以下の重要な設定を確認・入力します:
    • DBインスタンス識別子:新しい名前を指定(例:encrypted-db-instance
    • DBインスタンスクラス:元のインスタンスと同じまたは適切なサイズを選択
    • マルチAZ配置:本番環境では有効化を推奨
    • ストレージ暗号化:自動的に有効になっていることを確認
  4. 「DBインスタンスの復元」をクリックします

Terraformでの修復手順

RDSインスタンスの保存時暗号化を有効にするTerraformコードと、主要な修正ポイントを説明します。

# 暗号化されたRDSインスタンスの作成
resource "aws_db_instance" "encrypted_database" {
  >>>> Skip
  storage_encrypted    = true  # 暗号化を有効化
  kms_key_id          = aws_kms_key.rds_encryption.arn
}

 

ポイント

  1. storage_encrypted = true: すべてのRDSインスタンスで必須設定
  2. kms_key_id: カスタムKMSキーの使用を推奨(デフォルトのaws/rdsより管理面で優位)

最後に

この記事では、RDSインスタンスの保存時暗号化について、リスクと対策を解説しました。

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

参考資料

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る