Overview#
データベースで透過的データ暗号化TDEの使用を開始する場合は、新しいTDE対応データベースサーバーを作成するか、既存のデータベースサーバーをTDE対応環境に移行します。既存のインスタンスでTDEを有効にすることはできません。
データベースサーバーをスクラッチから作成するか、新しいインスタンスを作成して既存のデータベースサーバーを移行するかに関係なく、 initdb を使用してデータベースクラスターを初期化することにより、TDE対応データベースを作成する必要があります。
始める前に#
TDEによって生成された secure the data encryption key の方法を選択します。 Using a passphrase 、 Using a key store からのラッピングキーでそれらのキーを保護するか、テストのために Disabling the key wrapping を選択できます。
initdb TDE options を確認して、TDE対応データベースクラスターの初期化に必要なすべての情報を持っていることを確認します。
Limitations を確認して、TDEを有効にした場合のPostgreSQLユーティリティの処理の制限と変更を理解します。
既存のデータベースサーバーからデータを移行する予定がある場合は、ソースデータベースサーバーのバックアップを必ず実行してください。
サーバーの初期化#
Wrappingおよびunwrappingコマンドをエクスポートして、暗号化キーを保護します。計画段階で選択したラッピング方法を使用します。
または、コマンドライン引数でサーバーを初期化するときに、ラッピングおよびアンラップコマンドを提供できます。
例については、 TDEにラッピングおよびアンラップコマンドを提供する を参照してください。
ターゲットディレクトリで
--data-encryptionを有効にしてデータベースサーバーを初期化します。必要に応じて、他の initdb TDE options を含めます。データベースクラスターと Verifying TDE is enabled を起動します。
詳細な初期化例については、 Tutorials を参照してください。
データの移行既存のインスタンスの場合#
既存のデータベースサーバーからデータとオブジェクトを移行する場合は、
pg_upgrade を使用して既存のインスタンスからデータをコピーします。
ソースサーバーと新しいサーバーの両方を停止します。
pg_upgradeと--copy-by-blockオプションを使用して、ソースサーバーから新しいサーバーにデータをコピーします。必要に応じて、他の pg_upgrade TDE options を含めます。新しい暗号化されたデータベースサーバーを起動します。
暗号化されたデータベースサーバーに接続し、データが転送されたことを確認します。
必要なクリーンアップ操作を実行します。
注釈
サポートされている有効化と移行のユースケースの概要については、 Upgrading a TDE-enabled database を参照してください。
詳細な移行例については、 Tutorials を参照してください。