概要

  • Amazon Redshift における保管中のデータ暗号化に関する記事となります。Redshift は、データの書き込み時に暗号化し、データにアクセスする時に復号化が可能です。
  • 昨年までAmazon Redshift を新規作成する際、デフォルトの暗号化設定は無効でしたが、2025年1月から暗号化設定が有効に変更されました。詳細は、以下の資料参照ください。
  • この機会に、既存のRedshift クラスターに対して、暗号化を有効に変更してみました。ドキュメントには暗号化に掛かる具体的な時間が記載されていないため、本記事で実機で確認した結果を紹介したいと思います。
  • 既存のRedshift クラスターを暗号化する際の注意事項ですが、Redshift にDC2 ノードを使用する場合、暗号化開始後は読み取り専用となり、書き込みクエリを実行することできません。RA3 ノードを使用する場合は、暗号化の開始後、約 15 分以内に書き込みが可能になります。

 

Redshift クラスターの暗号化設定

  • 暗号化されていない Redshift クラスターの暗号化設定は簡単です。
  • マネージメントコンソールから対象のクラスターを選択します。対象のクラスターにおいて、「プロパティ」を選択します。次に、「編集」→「暗号化を編集」を選択します。

 

  • 暗号化に使用するキーを選択します。AWS が所有するキー(デフォルトのRedshiftキー)、あるいはカスタマーマネージドキーのいずれかを選択します。最後に「変更を保存」を選択します。

  • あとは、暗号化が「有効」に変わるまで待つだけです。

 

Redshift クラスターの暗号化所要時間

  • 暗号化されていない Redshift クラスターの暗号化に掛かる時間は、データ量とワークロードによって異なります。暗号化に掛かる時間について、ドキュメントには以下の記載があります。

暗号化にはどれくらいの時間がかかりますか? — データを暗号化する時間は、実行中のワークロードの数、使用されているコンピューティングリソース、ノードの数、ノードのタイプなど、複数の要因によって異なります。最初は、テスト環境で暗号化を実行することをお勧めします。経験則として、ペタバイト単位のデータ量を扱う場合、暗号化が完了するまでに 1~3 日かかる可能性があります。

 

  • 以下に、実機でRedshift クラスターの暗号化を行った際に掛かった時間を記載します。先ず使用したRedshift クラスターはノードタイプにdc2.large、ノードの数は1つ、ストレージは11GB を使用しております。また、今回暗号化中はワークロードがほとんどない状態で行いました。
  • 対象リソースを選択後、状態の情報欄に時間が表示されます。以下画像をご覧いただくと分かりますが、暗号化開始直後は、「残り時間 8 hours」と表示されました。この時は、えー、8時間も掛かるの!? と思ってしまいました。

  • 15~20分程待つと、残り時間が更新されました!!

 

  • 最終的に、今回の構成の場合、37分で暗号化が完了しました。この時間はあくまでも参考であり、ノードの構成やワークロードによって変わりますので、テスト環境で検証することをお勧めします。

 

  • イベントからも暗号化を開始した時間、暗号化が完了した時間、暗号化中は読み取り専用モードであったことが確認可能です。