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

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

の保管時の暗号化 ElastiCache

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

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

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

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

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

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

注記

デフォルトの (サービスマネージド) 暗号化は、 GovCloud (米国) リージョンで使用できる唯一のオプションです。

重要

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

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

保管時の暗号化の条件

保管 ElastiCache 時の暗号化の実装を計画するときは、保管時の ElastiCache 暗号化に関する以下の制約に注意してください。

  • 保管時の暗号化は、Valkey 7.2 以降を実行するレプリケーショングループ、および Redis OSSバージョン ( にスケジュールされた 3.2.6EOL、Redis OSSバージョンの有効期限スケジュール を参照)、4.0.10 以降でサポートされています。

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

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

    • R6gd、R6g、R5、R4、R3

    • M6g、M5、M4、M3

    • T4g、T3、T2

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

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

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

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

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

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

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

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

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

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

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

ルートキーを作成する AWS KMS方法については、「 Key Management Service デベロッパーガイドhttps://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html」の「キーの作成」を参照してください。 AWS

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

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

AWS CloudTrail を使用して、Amazon がユーザーに代わって ElastiCache 送信 AWS Key Management Service するリクエストを追跡できます。カスタマーマネージドキー AWS Key Management Service に関連する へのすべてのAPI呼び出しには、対応する CloudTrail ログがあります。また、 が ElastiCache 作成した許可は、 ListGrantsKMSAPIコールを呼び出すことで確認できます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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を選択します。

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

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

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

次のオペレーションでは、プライマリレプリカと 2 つのリードレプリカである 3 つのノード OSS (--num-cache-clusters) my-classic-rgを持つ Valkey または Redis (クラスターモードが無効) レプリケーショングループを作成します。このレプリケーショングループ (--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 つのノードグループまたはシャード OSS (--num-node-groups) my-clustered-rgを持つ Valkey または Redis (クラスターモードが有効) レプリケーショングループを作成します。各ノードには、プライマリレプリカと 2 つのリードレプリカ (--replicas-per-node-group) の 3 つのノードがあります。このレプリケーショングループ (--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

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

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