SQL Server の Transparent Data Encryption を適用する

完了

SAP SQL Server データベースを Azure にデプロイするときに、SQL Server Transparent Data Encryption (TDE) を使用しているお客様もいます。 SQL Server の TDE 機能は、SAP によって完全にサポートされています (SAP Note #1380493 を参照)。

オンプレミスで実行している別の DBMS から Azure で実行されている Windows/SQL Server に対する異種移行を実行する場合、事前に SQL Server 内に空のターゲット データベースを作成する必要があります。 次のステップでは、オンプレミスで運用システムを引き続き実行しながら、SQL Server TDE 機能を適用します。 プロセスをこの順序で実行する理由は、空のデータベースを暗号化するにはかなり時間がかかる可能性があるためです。 次に、SAP インポート プロセスで、ダウンタイム フェーズ中にデータを暗号化されたデータベースにインポートします。 ダウンタイム フェーズのエクスポート フェーズの後でデータベースを暗号化するより、暗号化されたデータベースにインポートする方が、オーバーヘッドの時間への影響が少なくなります。 データベース上で実行されている SAP ワークロードで TDE を適用しようとすると、否定的なエクスペリエンスが発生しました。 そのため、TDE のデプロイは、データベース上の SAP ワークロードを使用せずに実行する必要があるアクティビティとして扱うことをお勧めします。

SAP SQL Server データベースをオンプレミスから Azure に移行する場合は、暗号化を最速で適用できるインフラストラクチャをテストすることをお勧めします。 この場合、以下の点に注意してください。

  • データベースにデータの暗号化を適用するために使用されるスレッドの数は定義できません。 スレッド数は、主に SQL Server のデータとログ ファイルが分散されるディスク ボリュームの数によって変わります。 つまり、個々のボリュームの数が多いほど、暗号化を実行するために並列で使用されるスレッドが増えます。 このような構成は、Azure Virtual Machines で SQL Server データベース ファイル用に 1 つまたは少数の記憶域スペースを構築する際のディスク構成案と矛盾しています。 ボリュームが少数の構成では、暗号化を実行するスレッド数が少なくなります。 単一スレッドの暗号化では、64 KB のエクステントを読み取り、それを暗号化した後、エクステントが暗号化されたことを示すレコードがトランザクション ログ ファイルに書き込まれます。 その結果、トランザクション ログにかかる負荷は中程度になります。
  • 以前の SQL Server リリースでは、SQL Server データベースを暗号化するときにバックアップの圧縮は効率化されませんでした。 オンプレミスの SQL Server データベースを暗号化してから Azure にバックアップをコピーして Azure でデータベースを復元する予定の場合、この動作が問題になる可能性があります。 SQL Server のバックアップ圧縮では、通常、4 倍の圧縮率を達成できます。
  • SQL Server 2016 では、暗号化されたデータベースを効率的に圧縮できる新しい機能が導入されました。
  • SAP ワークロードがない、またはわずかしかない TDE 暗号化の適用を扱う場合は、特定の構成でテストして、オンプレミスの SAP データベースまたは Azure 内のどちらで TDE を適用する方がよいかを、判断する必要があります。 TDE が適用された後のインフラストラクチャのオーバープロビジョニングとインフラストラクチャの縮小という点で、Azure の方が柔軟です。

Azure Key Vault

Azure は、暗号キーを格納する Key Vault のサービスを提供しています。 一方、SQL Server では、TDE 証明書のストアとして Azure Key Vault を使うためのコネクタが提供されています。