ElastiCache での保管時の暗号化 - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ElastiCache での保管時の暗号化

データを安全に保つために、Amazon ElastiCache と Amazon S3 には、キャッシュ内のデータへのアクセスを制限するさまざまな方法が用意されています。詳細については、「Amazon VPC と ElastiCache のセキュリティ」および「Amazon ElastiCache での Identity and Access Managementq」を参照してください。

ElastiCache の保管時の暗号化は、ディスク上のデータを暗号化することでデータのセキュリティを強化する機能です。この機能はサーバーレスキャッシュでは常に有効になっています。有効にすると、次の要素が暗号化されます。

  • 同期、バックアップ、およびスワップオペレーション中のディスク

  • バックアップは Amazon S3 に保存されます。

データ階層化が有効なクラスター内の SSD (ソリッドステートドライブ) に保存されたデータは、常時暗号化されます。

ElastiCache は、保管時のデフォルトの (サービスマネージド) 暗号化と、キー管理サービス (KMS) で独自の対称カスタマーマネージド AWS KMS キーを使用する機能を提供します。 AWSキャッシュをバックアップするときに、暗号化オプションで、デフォルトの暗号化キーを使用するか、カスタマー管理のキーを使用するかを選択します。詳細については、「保管時の暗号化を有効にする」を参照してください。

重要

既存の独自設計型 Valkey または Redis OSS クラスターで保管時の暗号化を有効にするには、レプリケーショングループでバックアップと復元を実行した後、既存のレプリケーショングループを削除する必要があります。

保管時の暗号化は、キャッシュに対してその作成時にのみ有効にできます。データの暗号化と復号を行うにはある程度の処理が必要であるため、保管時の暗号化を有効にすると、これらのオペレーションの実行中のパフォーマンスに影響を与える可能性があります。保管時の暗号化の使用時と未使用時でデータのベンチマークを取得して、ユースケースにおけるパフォーマンスの影響を判断する必要があります。

保管時の暗号化の条件

ElastiCache の保管時の暗号化の実装を計画する際は、ElastiCache の保管時の暗号化の以下の制約事項に留意する必要があります。

  • 保管時の暗号化は、Valkey 7.2 以降、Redis OSS バージョン (3.2.6 は EOL の予定、「Redis OSS versions end of life schedule」を参照)、4.0.10 以降を実行しているレプリケーショングループでサポートされます。

  • 保管時の暗号化は、Amazon VPC で実行されているレプリケーショングループでのみサポートされます。

  • 保管時の暗号化は、以下のノードタイプを実行しているレプリケーショングループでのみサポートされます。

    • R7g, R6gd, R6g, R5, R4, R3

    • M7g, M6g, M5, M4, M3

    • T4g、T3、T2

    • C7gn

    詳細については、サポートされているノードの種類を参照してください。

  • 保管時の暗号化は、パラメータ AtRestEncryptionEnabled を明示的に true に設定することで有効化されます。

  • 保管時の暗号化は、レプリケーショングループの作成時にのみレプリケーショングループで有効にできます。レプリケーショングループを変更して保管時の暗号化のオンとオフを切り替えることはできません。既存のレプリケーショングループ上への保管時の暗号化の実装の詳細については、「保管時の暗号化を有効にする」を参照してください。

  • クラスターが r6gd ファミリのノードタイプを使用している場合、保管時の暗号化が有効になっているかどうかにかかわらず、SSD に保存されているデータは暗号化されます。

  • 保管時の暗号化にカスタマーマネージドキーを使用するオプションは、 AWS GovCloud (us-gov-east-1 および us-gov-west-1) リージョンでは使用できません。

  • クラスターが r6gd ファミリーのノードタイプを使用している場合、SSD に保存されているデータは、選択したカスタマーマネージド KMS AWS キー (または AWS GovCloud リージョンのサービスマネージド暗号化) で暗号化されます。

  • Memcached の場合、保管時の暗号化は、サーバーレスキャッシュでのみサポートされます。

  • Memcached を使用する場合、 AWS GovCloud (us-gov-east-1 および us-gov-west-1) リージョンでは、保管時の暗号化にカスタマーマネージドキーを使用するオプションは利用できません。

保管時の暗号化を実装することで、バックアップオペレーションおよびノード同期オペレーションの実行中にパフォーマンスが低下する場合があります。自身のデータで保管時の暗号化使用時のベンチマークを暗号化なしの場合と比較して、実装におけるパフォーマンスの影響を判断してください。

KMS AWS からのカスタマーマネージドキーの使用

ElastiCache は、保管時の暗号化のために対称カスタマーマネージド AWS KMS キー (KMS キー) をサポートしています。カスタマーマネージド KMS キーは、 AWS アカウントで作成、所有、管理する暗号化キーです。詳細については、AWS Key Management Service デベロッパーガイドの「AWS KMS キー」を参照してください。キーは、ElastiCache で使用する前に AWS KMS で作成する必要があります。

KMS ルートキーの作成方法については、 AWS 「 Key AWS Management Service デベロッパーガイド」の「キーの作成」を参照してください。

ElastiCache では、KMS AWS と統合できます。詳細については、AWS Key Management Service デベロッパーガイドの「付与の使用」を参照してください。Amazon ElastiCache と KMS AWS の統合を有効にするためのカスタマーアクションは必要ありません。

kms:ViaService 条件キーは、KMS AWS キー (KMS キー) の使用を、指定された AWS サービスからのリクエストに制限します。ElastiCacheとともに kms:ViaService を使用するには、elasticache.AWS_region.amazonaws.com.rproxy.govskope.cadax.AWS_region.amazonaws.com の条件キーの値に両方のViaService 名を含めます。詳細については、「kms:ViaService」を参照してください。

AWS CloudTrail を使用して、Amazon ElastiCache によってお客様に代わって AWS Key Management Service に送信されるリクエストを追跡できます。カスタマーマネージドキー AWS Key Management Service に関連する へのすべての API コールには、対応する CloudTrail ログがあります。ListGrants KMS API コールを行うことで、ElastiCache によって作成される許可を表示することもできます。

カスタマー管理のキーを使用してレプリケーショングループが暗号化されると、レプリケーショングループのすべてのバックアップは以下のように暗号化されます。

  • 毎日の自動バックアップは、クラスターに関連付けられたカスタマー管理のキーを使用して暗号化されます。

  • レプリケーショングループが削除されたときに作成される最終バックアップも、レプリケーショングループに関連付けられたカスタマー管理のキーを使用して暗号化されます。

  • 手動で作成されたバックアップは、デフォルトで、レプリケーショングループに関連付けられた KMS キーを使用して暗号化されます。この動作は、別のカスタマー管理のキーを選択して上書きできます。

  • バックアップをコピーするとき、デフォルトでは、ソースバックアップに関連付けられたカスタマー管理のキーが使用されます。この動作は、別のカスタマー管理のキーを選択して上書きできます。

注記
  • 選択した Amazon S3 バケットにバックアップをエクスポートするとき、カスタマー管理のキーは使用できません。ただし、Amazon S3 にエクスポートされたすべてのバックアップは、サーバー側の暗号化を使用して暗号化されます。バックアップファイルを新しい S3 オブジェクトにコピーし、カスタマー管理の KMS キーを使用して暗号化するか、デフォルトの暗号化が設定された別の S3 バケットにコピーし、KMS キーを使用して暗号化するか、ファイル自体の暗号化オプションを変更できます。

  • また、暗号化にカスタマー管理のキーを使用しないレプリケーショングループに手動で作成されたバックアップを、カスタマー管理のキーを使用して暗号化することもできます。このオプションでは、データが元のレプリケーショングループで暗号化されていなくても、Amazon S3 に保存されているバックアップファイルは KMS キーを使用して暗号化されます。

バックアップから復元するときは、新しいレプリケーショングループの作成時に使用できるものと同様の暗号化オプションから選択できます。

  • キーを削除するか、キーを‭無効化‭して‬、キャッシュの暗号化に使用したキーの‭‬許可を取り消す‭と、キャッシュは回復不可能になります。‬‬‬‬‬‬‬‬‬‬‬‬ つまり、ハードウェア障害後に変更または復旧することはできません。 AWS KMS は、少なくとも 7 日間の待機期間後にのみルートキーを削除します。キーが削除された後、別のカスタマー管理のキーを使用して、アーカイブ目的のバックアップを作成できます。

  • 自動キーローテーションは KMS AWS ルートキーのプロパティを保持するため、ローテーションは ElastiCache データにアクセスする機能には影響しません。暗号化された Amazon ElastiCache キャッシュは、手動キー更新をサポートしていないため、新しいルートキーの作成や古いキーへの参照の更新などを行うことはできません。詳細については、「 Key Management Service AWS デベロッパーガイド」の「KMS キーのローテーション」を参照してください。 AWS

  • KMS キーを使用して ElastiCache キャッシュを暗号化するには、キャッシュごとに 1 つの許可が必要です。この許可はキャッシュの有効期間を通じて使用されます。また、バックアップの作成中、バックアップごとに 1 つの許可が使用されます。この許可はバックアップの作成後に無効になります。

  • AWS KMS の許可と制限の詳細については、AWS 「 Key Management Service デベロッパーガイド」の「制限」を参照してください。

保管時の暗号化を有効にする

すべてのサーバーレスキャッシュでは、保管時の暗号化が有効になっています。

独自設計型クラスターを作成する場合は、パラメータ AtRestEncryptionEnabledtrue に設定することで保管時の暗号化を有効にできます。既存のレプリケーショングループ上で保管時の暗号化を有効にすることはできません。

保管時の暗号化は、ElastiCache キャッシュの作成時に有効化できます。これを行うには AWS Management Console、 AWS CLI、、または ElastiCache API を使用します。

キャッシュを作成するときに、以下のオプションのいずれかを選択できます。

  • デフォルト - このオプションでは、サービス管理の保存時の暗号化が使用されます。

  • カスタマーマネージドキー – このオプションを使用すると、KMS AWS からキー ID/ARN を指定して保管時の暗号化を行うことができます。

KMS ルートキーの作成方法については、 AWS 「 Key AWS Management Service デベロッパーガイド」の「キーの作成」を参照してください。

保管時の暗号化は、Valkey または Redis OSS レプリケーショングループの作成時にのみ有効化できます。保管時の暗号化を有効化したい既存レプリケーショングループがある場合は、次の操作を行います。

既存のレプリケーショングループ上で保管時の暗号化を有効にするには
  1. 既存のレプリケーショングループの手動バックアップを作成します。詳細については、「手動バックアップの取得」を参照してください。

  2. バックアップから復元して新しいレプリケーショングループを作成します。新しいレプリケーショングループで、保管時の暗号化を有効にします。詳細については、「バックアップから新しいキャッシュへの復元」を参照してください。

  3. アプリケーションのエンドポイントを、新しいレプリケーショングループのエンドポイントに更新します。

  4. 古いレプリケーショングループを削除します。詳細については、ElastiCache でのクラスターの削除またはレプリケーショングループの削除を参照してください。

を使用した保管時の暗号化の有効化 AWS Management Console

すべてのサーバーレスキャッシュでは、保管時の暗号化が有効になっています。デフォルトでは、 AWS所有の KMS キーを使用してデータを暗号化します。独自の AWS KMS キーを選択するには、次の選択を行います。

  • [デフォルト設定] セクションを展開します。

  • [デフォルト設定] セクションで [デフォルト設定をカスタマイズ] を選択します。

  • [セキュリティ] セクションで [セキュリティ設定をカスタマイズ] を選択します。

  • [暗号化キー] 設定で [カスタマーマネージド CMK] を選択します。

  • [AWS KMS キー] 設定でキーを選択します。

独自のキャッシュを設計する場合、[簡易作成] 方式の [開発/テスト] 設定と [本番稼働用]設定では、[デフォルト] キーを使用する保管時の暗号化が有効になっています。設定を自分で選択するときは、以下のように選択します。

  • エンジンのバージョンとしてバージョン 3.2.6、4.0.10 またはそれ以降を選択します。

  • [保管時の暗号化] オプションの [有効化] の横にあるチェックボックスをオンにします。

  • [デフォルトキー] または [カスタマーマネージド CMK] を選択します。

詳しい手順については、以下を参照ください。

を使用した保管時の暗号化の有効化 AWS CLI

を使用して Valkey または Redis OSS クラスターを作成するときに保管時の暗号化を有効にするには AWS CLI、レプリケーショングループを作成するときに --at-rest-encryption-enabled パラメータを使用します。

次のオペレーションでは、3 つのノード (--num-cache-clusters)、1 つのプライマリ、2 つのリードレプリカを持つ Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループ my-classic-rg を作成します。保管時の暗号化は、このレプリケーショングループに対して有効です (--at-rest-encryption-enabled)。

以下のパラメータとその値は、このレプリケーショングループで暗号化を有効にするために必要です。

主要パラメータ
  • --enginevalkey または redis を指定する必要があります。

  • --engine-version— エンジンが Redis OSS の場合、これは 3.2.6、4.0.10 以降である必要があります。

  • --at-rest-encryption-enabled — 保管時の暗号化に必要です。

例 1: レプリカがある Valkey または Redis OSS (クラスターモードが無効) クラスター

Linux、macOS、Unix の場合:

aws elasticache create-replication-group \ --replication-group-id my-classic-rg \ --replication-group-description "3 node replication group" \ --cache-node-type cache.m4.large \ --engine redis \ --at-rest-encryption-enabled \ --num-cache-clusters 3

Windows の場合:

aws elasticache create-replication-group ^ --replication-group-id my-classic-rg ^ --replication-group-description "3 node replication group" ^ --cache-node-type cache.m4.large ^ --engine redis ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^

詳細については、以下を参照してください。

 

次のオペレーションでは、3 つのノードグループまたはシャード (--num-node-groups) を持つ Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループ my-clustered-rg を作成します。各レプリケーショングループには、1 つのプライマリ、および 2 つのリードレプリカ (--replicas-per-node-group) があります。保管時の暗号化は、このレプリケーショングループに対して有効です (--at-rest-encryption-enabled)。

以下のパラメータとその値は、このレプリケーショングループで暗号化を有効にするために必要です。

主要パラメータ
  • --enginevalkey または redis を指定する必要があります。

  • --engine-version— エンジンが Redis OSS の場合、これは 4.0.10 以降である必要があります。

  • --at-rest-encryption-enabled — 保管時の暗号化に必要です。

  • --cache-parameter-groupdefault-redis4.0.cluster.on、またはこれをクラスターモードが有効なレプリケーショングループにするために、それから算出されたいずれかに指定する必要があります。

例 2: Valkey または Redis OSS (クラスターモードが有効) クラスター

Linux、macOS、Unix の場合:

aws elasticache create-replication-group \ --replication-group-id my-clustered-rg \ --replication-group-description "redis clustered cluster" \ --cache-node-type cache.m3.large \ --num-node-groups 3 \ --replicas-per-node-group 2 \ --engine redis \ --engine-version 6.2 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis6.x.cluster.on

Windows の場合:

aws elasticache create-replication-group ^ --replication-group-id my-clustered-rg ^ --replication-group-description "redis clustered cluster" ^ --cache-node-type cache.m3.large ^ --num-node-groups 3 ^ --replicas-per-node-group 2 ^ --engine redis ^ --engine-version 6.2 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis6.x.cluster.on

詳細については、以下を参照してください。

以下の資料も参照してください。