自社構築のOpenStackクラウド基盤を活用しCinderのデータ暗号化を実施

Cinder データ暗号化をオンプレミスで作成した OpenStack クラウド プラットフォームで実現する手順は以下の通りです。

  1. Cinderサービスの設定:OpenStackコントローラーノードでCinder設定ファイル(通常は/etc/cinderディレクトリにある)を開いて[DEFAULT]セクションを見つけ、次の設定を追加します。
[DEFAULT]
...
encryption_api_class = cinder.volume.encryptors.luks.LuksEncryptor

設定ファイルを保存して閉じる

  1. 暗号化キーの生成: LUKS暗号化器を使用するには暗号化キーを生成する必要があります。次のコマンドを使用してキーを生成できます。
sudo openssl rand -hex 256 > /etc/cinder/luks_key
sudo chmod 600 /etc/cinder/luks_key

256ビットのランダムキーが生成され、/etc/cinder/luks_keyに保存されます。

  1. [encryption]セクションをCinderコンフィギュレーションファイルに追加し、次の設定を追加する
[encryption]
...
cipher = aes-xts-plain64
key_size = 512
control_location = front-end
  1. 暗号化方式を指定します。ここではaes-xts-plain64を使用します。
  2. key_size:指定キーの長さ、ここでは 512 ビットを使用します。
  3. control_location: キー制御位置の指定で、ここではfront-endを指定することでキーの制御がフロントエンド(Cinderボリューム)側で行われることを示しています。
  1. Cinderサービスの再起動:設定変更を有効にするため、コントロールノードでCinderサービスを再起動します。次のコマンドを使用してサービスを再起動できます。
sudo service cinder-volume restart

OpenStack クラウドの Cinder サービスは、LUKS 暗号化器を使用してボリュームデータを暗号化するよう構成されました。このプロセスは新規に作成されたボリュームにのみ適用されますのでご注意ください。既存のボリュームについては、手動でバックアップを作成し、暗号化されたボリュームを再作成する必要があります。

bannerAds