Amazon Redshift クラスターを暗号化したいと考えています。どのように実行できますか?
解決方法
Amazon Redshift クラスターを作成するときに暗号化を有効にすることができます。または、既存の Amazon Redshift の暗号化されていないクラスターを、AWS Key Management Service (AWS KMS) 暗号化を使用するように変更することもできます。Amazon Redshift サーバーレスはデフォルトで暗号化されていますが、名前空間の AWS KMS キーは変更できます。
新しい Amazon Redshift クラスターを作成するときに暗号化を有効にする
Amazon Redshift クラスターの作成時に暗号化を有効にするには、次の操作を行います。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [Clusters] (クラスター) を選択し、[Create cluster] (クラスターを作成) を選択します。
- [Create cluster] (クラスターを作成) では、クラスターを仕様に合わせて構成します。詳細については、「Creating a task」(タスクの作成) を参照してください。
- その他の構成の場合は、[Use defaults] (デフォルトを使用) をオフにします。
- データベース設定には、[Use AWS Key Management Service (AWS KMS) ] (AWS Key Management Service (AWS KMS) を使用) または [ Use a hardware security module (HSM)] (ハードウェアセキュリティモジュールを使用 (HSM)) を選択します。暗号化オプションの詳細については、「Amazon Redshift データベース暗号化」を参照してください。
- (オプション) 追加の構成オプションの仕様を定義します。
- [Create cluster] (クラスターを作成) を選択します。
注意:ハードウェアセキュリティモジュール (HSM) の暗号化は、DC2 および RA3 ノードタイプではサポートされていません。
暗号化されていない Amazon Redshift クラスターを暗号化を使用するように変更する
Amazon Redshift クラスターを変更して暗号化を有効にする場合は、次の点を考慮してください。
- 暗号化を有効にすると、Amazon Redshift は同じクラスター ID を持つ新しい暗号化されたクラスターにデータを自動的に移行します。この移行操作中、クラスターは読み取り専用モードで閲覧可能になり、クラスターのステータスは [resizing] と表示されます。
- クラスターが RA3 ノードタイプの場合、Amazon Redshift クラスターの暗号化変更は Faster Classic Resize を使用して実行されます。その他すべてのノードタイプでは、Amazon Redshift は従来のサイズ変更を使用して暗号化を変更します。
- サイズ変更操作が完了するまでにかかる時間は、次の要因によって異なります。
ソースクラスターの読み取りワークロード
テーブル定義
スケーリング先とスケーリング元のスキューノードタイプ
コンソールを使用して暗号化を使用するように既存の Amazon Redshift クラスターを変更するには、以下を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [Clusters] (クラスター) を選択し、暗号化するクラスターを選択します。
- [Properties] (プロパティ) を選択します。
- [データベース設定] で [Edit] (編集) を選択し、[Edit encryption] (暗号化を編集) を選択します。
- [Use AWS Key Management Service (AWS KMS) ] (AWS Key Management Service (AWS KMS) を使用) または [Use a hardware security module (HSM)] (ハードウェアセキュリティモジュールを使用) を選択します。暗号化オプションの詳細については、「Amazon Redshift データベース暗号化」を参照してください。
AWS CLI を使用して AWS KMS 暗号化を使用するように既存の Amazon Redshift クラスターを変更するには、次の modify-cluster コマンドを実行します。
**注意:**デフォルトの KMS キーがデフォルトで使用されます。カスタマーマネージドキーを使用するには、kms-key-id オプションを含め、value を使用している KMS キーに置き換えます。
> aws redshift modify-cluster --cluster-identifier <value> --encrypted --kms-key-id <value>
注意: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
Amazon Redshift サーバーレスでのネームスペースの AWS KMS キーの変更
Amazon Redshift サーバーレスはデフォルトで暗号化されます。ただし、Amazon Redshift サーバーレスは名前空間の AWS KMS キーの変更をサポートしているため、組織のセキュリティポリシーに従うことができます。AWS KMS キーを変更しても、データは変更されません。
AWS KMS キーを変更する際は、次の点を考慮してください。
- キーの変更にかかる時間は、Amazon Redshift サーバーレスのデータ量によって異なります。通常、8 TB の保存データにつき 15 分かかります。
- カスタマーマネージド KMS キーから AWS KMS キーに変更することはできません。カスタマーマネージド KMS キーを作成した後に AWS KMS キーを使用する場合は、新しい名前空間を作成する必要があります。
- キーが変更されている間は、他のアクションを実行することはできません。
名前空間の AWS KMS キーを変更するには、次の操作を行います。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [Namespace configuration] (名前空間の設定) を選択し、一覧から名前空間を選択します。
- [Security and encryption] (セキュリティと暗号化) タブから [Edit] (編集) を選択します。
- [Customize encryption settings] (暗号化設定をカスタマイズ) を選択し、名前空間のキーを選択するか、新しいキーを作成します。
AWS CLI を使用して名前空間の AWS KMS キーを変更するには、次の update-namespace コマンドを実行します。
**注意:**名前空間を作成する必要があります。作成していない場合、AWS CLI コマンドはエラーになります。
aws redshift-serverless update-namespace
--namespace-name
[--kms-key-id <id-of-kms-key>]
// other parameters omitted here