での保管時の暗号化 ElastiCache - Amazon ElastiCache (Redis OSS)

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

での保管時の暗号化 ElastiCache

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

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

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

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

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

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

注記

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

重要

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

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

保管時の暗号化の条件

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

  • 保管時の暗号化は、Redis OSS バージョン (3.2.6 は EOL 用にスケジュールされています。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 ファミリーのノードタイプを使用している場合、SSD に保存されているデータは、選択したカスタマーマネージド AWS KMS キー (または AWS GovCloud リージョン内のサービスマネージド暗号化) で暗号化されます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 自動キーローテーションは AWS KMS ルートキーのプロパティを保持するため、ローテーションは 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 を使用します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • --engine-version — 3.2.6 または 4.0.10 以降を指定する必要があります。

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

例 1: レプリカを持つ 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) my-clustered-rgを持つ Redis OSS (クラスターモードが有効) レプリケーショングループを作成します。各 には、プライマリと 2 つのリードレプリカ (--replicas-per-node-group) の 3 つのノードがあります。このレプリケーショングループ (--at-rest-encryption-enabled) では保管時の暗号化が有効になっています。

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

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

  • --engine-version — 4.0.10 以降を指定する必要があります。

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

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

例 2: 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

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

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