Redis 用 Amazon ElastiCache
Redis 用 ElastiCache ユーザーガイド (API バージョン 2015-02-02)

Redis 用 ElastiCache 保管時の暗号化

データを安全に保つために、Amazon ElastiCache および Amazon S3 は、データがキャッシュ上に存在する場合にそのデータへのアクセスを制限するメカニズムを提供します。詳細については、「Amazon VPC と ElastiCache のセキュリティ」および「Amazon ElastiCache に対する認証とアクセスコントロール」を参照してください。

Redis 用 ElastiCache の保管時の暗号化がレプリケーショングループ上で有効である場合、データの同期およびバックアップオペレーションの実行中にディスク上に存在するデータが暗号化されます。この手法は、Redis 用 ElastiCache の転送時の暗号化とは異なります。転送時の暗号化では、データがある場所から別の場所に移動するとき (レプリケーショングループとアプリケーション間など) に、データが暗号化されます。Redis 用 ElastiCache の転送時の暗号化の詳細については、「Redis 用 ElastiCache 伝送中の暗号化 (TLS)」を参照してください。保管時の暗号化はオプションであり、レプリケーショングループの作成時にのみ、そのレプリケーショングループで有効にできます。

Redis 用 Amazon ElastiCache の保管時の暗号化は、同期やバックアップオペレーション、またはスナップショットオペレーションの実行中にオンディスクデータを暗号化することで、データセキュリティを強化するオプションの機能です。データの暗号化と復号を行うにはある程度の処理が必要であるため、保管時の暗号化を有効にするとこれらのオペレーションの実行中にパフォーマンスに影響を及ぼす可能性があります。保管時の暗号化の使用時と未使用時でデータのベンチマークを取得して、ユースケースにおけるパフォーマンスの影響を判断する必要があります。

ElastiCache の暗号化の現在の実装では、ユーザー指定の暗号化キーはサポートされません。

保管時の暗号化の条件

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

  • 保管時の暗号化は、Redis バージョン 3.2.6 または 4.0.10 以降で実行しているレプリケーショングループでサポートされます。

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

  • 保管時の暗号化は、最新世代のノードタイプを実行しているレプリケーショングループでのみサポートされます。以前の世代のノードタイプで実行中のレプリケーショングループではサポートされません。詳細については、「サポートされているノードの種類」を参照してください。

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

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

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

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

ElastiCache 保管時の暗号化は、Redis レプリケーショングループの作成時にパラメーター AtRestEncryptionEnabledtrue に設定して有効にできます。既存のレプリケーショングループ上で保管時の暗号化を有効にすることはできません。

AWS マネジメントコンソール、AWS CLI、または ElastiCache API を使用して、Redis 用 ElastiCache レプリケーショングループの作成時に保管時の暗号化を有効にできます。

既存の Redis クラスター上で保管時の暗号化を有効にする

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

既存のレプリケーショングループ上で保管時の暗号化を有効にするには

  1. 既存のレプリケーショングループの手動バックアップを作成します。詳細については、「手動バックアップの作成」を参照してください。

  2. バックアップから復元して新しいレプリケーショングループを作成します。新しいレプリケーショングループで、保管時の暗号化を有効にします。詳細については、「クラスターのサイズ変更 (オプション) によるバックアップからの復元」を参照してください。

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

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

AWS マネジメントコンソール を使用して保管時の暗号化を有効にする

AWS マネジメントコンソール を使用してレプリケーショングループの作成時に保管時の暗号化を有効にするには、以下のように選択します。

  • エンジンとして redis を選択します。

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

  • [Encryption at-rest] リストから、[Yes] を選択します。

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

AWS CLI を使用して保管時の暗号化を有効にする

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

Redis (クラスターモードが無効) クラスター (CLI) で保管時の暗号化を有効にする

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

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

主要パラメータ

  • --engineredis を指定してください。

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

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

例 1: Redis (クラスターモードが無効) レプリカを持つクラスター

Linux, macOS, or 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 \ --engine-version 4.0.10 \ --at-rest-encryption-enabled \ --num-cache-clusters 3 \ --cache-parameter-group default.redis4.0

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 ^ --engine-version 4.0.10 ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^ --cache-parameter-group default.redis4.0

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

 

Redis (クラスターモードが有効) クラスター (CLI) で保管時の暗号化を有効にする

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

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

主要パラメータ

  • --engineredis を指定してください。

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

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

  • --cache-parameter-group—このクラスターをモード有効レプリケーショングループにするには、default-redis4.0.cluster.on またはそれから派生したいずれかに指定します。

例 2: A Redis (クラスターモードが有効) クラスター

Linux, macOS, or 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 4.0.10 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis4.0.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 4.0.10 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis4.0.cluster.on

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

ElastiCache API を使用して保管時の暗号化を有効にする

ElastiCache API を使用して Redis レプリケーショングループの作成時に保管時の暗号化を有効にするには、パラメーター AtRestEncryptionEnabledtrueCreateReplicationGroup に設定します。

Redis (クラスターモードが無効) クラスター (API) で保管時の暗号化を有効にする

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

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

  • Engineredis を指定してください。

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

  • AtRestEncryptionEnabled—保管時の true の暗号化に必要です。

例 3: A Redis (クラスターモードが無効) レプリカを持つクラスター

読みやすくするために改行が追加されます。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParameterGroup=default.redis4.0 &Engine=redis &EngineVersion=4.0.10 &NumCacheClusters=3 &ReplicationGroupDescription=test%20group &ReplicationGroupId=my-classic-rg &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

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

 

Redis (クラスターモードが有効) クラスター (API) で保管時の暗号化を有効にする

次のオペレーションでは、3 つのノードグループ/シャード (NumNodeGroups) を持つ Redis (クラスターモードが有効) レプリケーショングループ my-clustered-rg を作成します。各ノードグループ/シャードには、1 つのプライマリ、2 つのリードレプリカ (ReplicasPerNodeGroup) の 3 つのノードが含まれます。保管時の暗号化は、このレプリケーショングループに対して有効です (AtRestEncryptionEnabled=true)。

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

  • Engineredis を指定してください。

  • AtRestEncryptionEnabled—保管時の true の暗号化に必要です。

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

  • CacheParameterGroupdefault-redis4.0.cluster.on、またはこれから派生したいずれかを Redis (クラスターモードが有効) クラスターに指定します。

例 4: A Redis (クラスターモードが有効) クラスター

読みやすくするために改行が追加されます。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParemeterGroup=default.redis4.0.cluster.on &Engine=redis &EngineVersion=4.0.10 &NumNodeGroups=3 &ReplicasPerNodeGroup=2 &ReplicationGroupDescription=test%20group &ReplicationGroupId=my-clustered-rg &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

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

 

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