既存の暗号化されていない Amazon Redshift クラスターで暗号化を有効にしたいです。
簡単な説明
Amazon Redshift は、新しく作成したプロビジョニングされたクラスターおよび復元したクラスターに接続するクライアントに対し、デフォルトで SSL 接続を適用します。このデフォルトの変更は、サーバーレスワークグループにも適用されます。
Amazon Redshift の未暗号化クラスターを変更すると、AWS Key Management Service (AWS KMS) 暗号化を使用するように設定できます。Amazon Redshift Serverless はデフォルトで暗号化されていますが、名前空間の AWS KMS キーを変更できます。
注: ハードウェアセキュリティモジュール (HSM) 暗号化は、DC2 および RA3 ノードタイプではサポートされていません。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
暗号化されていない Amazon Redshift クラスターを変更し、暗号化を使用する
既存の Amazon Redshift クラスターが暗号化を使用するように変更するには、次の手順を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [クラスター] を選択し、暗号化するクラスターを選択します。
- [プロパティ] を選択します。
- [データベース構成] で [編集] を選択し、[暗号化の編集] を選択します。
- [AWS Key Management Service (AWS KMS) を使用] または [ハードウェアセキュリティモジュール (HSM) を使用] を選択します。暗号化オプションの詳細については、「Amazon Redshift データベースの暗号化」を参照してください。
AWS コマンドラインインターフェイス (AWS CLI) を使用して既存の Amazon Redshift クラスターが AWS KMS 暗号化を使用するように変更するには、次の modify-cluster コマンドを実行します。
> aws redshift modify-cluster --cluster-identifier <value> --encrypted --kms-key-id <value>
コマンドで encrypted のみを指定した場合は、デフォルトの AWS KMS キーを使用するようになります。カスタマーマネージド KMS キーを使用する場合は、kms-key-id を指定し、value を実際のカスタマーマネージド KMS キーの ID に置き換えます。
クラスターに RA3 ノードタイプがある場合、Amazon Redshift クラスターの暗号化変更は faster classic resize を使用して行われます。他のすべてのノードタイプでは、Amazon Redshift は classic resize を使用して暗号化変更を行います。
暗号化を有効にすると、Amazon Redshift はデータを同じクラスター識別子を持つ新しい暗号化クラスターに自動的に移行します。この移行操作中、クラスターは読み取り専用モードで使用可能です。クラスターのステータスは、「Resizing」と表示されます。
サイズ変更操作にかかる時間は、ソースクラスターの読み取りワークロードとテーブル定義によって異なります。スキューの考慮事項を含め、スケーリング先とスケーリング元のノードタイプもサイズ変更の所要時間に影響します。
Amazon Redshift Serverless の名前空間用の AWS KMS キーを変更する
Amazon Redshift Serverless はデフォルトで暗号化されています。ただし、組織のセキュリティポリシーに準拠させるために、名前空間の AWS KMS キーを変更することはできます。AWS KMS キーを変更しても、データは変更されません。
カスタマーマネージド KMS キーから AWS KMS キーに変更することはできません。カスタマーマネージド KMS キーを作成した後に AWS KMS キーを使用する場合は、新しい名前空間を作成する必要があります。なお、キーの変更中は他のアクションを実行できません。キーの変更にかかる時間は、Amazon Redshift Serverless 内のデータ量によって異なります。通常、保存されたデータ 8 TB ごとに 15 分かかります。
名前空間の AWS KMS キーを変更するには、次の手順を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [名前空間の設定] を選択し、一覧から該当する名前空間を選択します。
- [セキュリティと暗号化] タブで [編集] を選択します。
- [暗号化設定のカスタマイズ] を選択し、名前空間のキーを選択するか、新しいキーを作成します。
AWS CLI を使用して名前空間の AWS KMS キーを変更するには、次の update-namespace コマンドを実行します。
aws redshift-serverless update
-namespace--namespace-name
[--kms-key-id <id-of-kms-key>]
// other parameters omitted here
注: 名前空間を作成していない場合、AWS CLI コマンドはエラーになります。