メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

Redis 用 Amazon ElastiCache 保管時の暗号化

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

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

保管時の暗号化の概要

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

保管時の暗号化の制約事項

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

  • 保管時の暗号化は、すべての Redis バージョンを実行しているクラスターでサポートされます。Memcached を実行しているクラスターではサポートされません。

  • 保管時の暗号化は、Amazon VPC で実行しているクラスターでのみサポートされます。

  • 保管時の暗号化は、あらゆるノードタイプを実行しているクラスターでサポートされます。

    クラスター上の保管時の暗号化は、クラスターの作成時にのみ実装できます。保管時の暗号化のオンとオフをクラスター上で切り替えることはできません。詳細については、「既存の Redis クラスター上で保管時の暗号化を有効にする」を参照してください。

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

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

ElastiCache 保管時の暗号化は、Redis クラスターの作成時にパラメータ AtRestEncryptionEnabled) を true に設定して有効にできます。既存のクラスター上で保管時の暗号化を有効にすることはできません。

AWS マネジメントコンソール、AWS CLI、または ElastiCache API を使用して、Redis 用 ElastiCache のクラスターの作成時に保管時の暗号化を有効にできます。

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

保管時の暗号化は、Redis クラスターの作成時にのみ有効化できます。保管時の暗号化を有効化したい既存クラスターがある場合は、次の操作を行います。

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

  1. 既存クラスターの手動バックアップを作成します。詳細については、「手動バックアップの作成」を参照してください。

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

  3. アプリケーション内のエンドポイントを、新しいクラスターをポイントするように更新します。

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

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

AWS マネジメントコンソール を使用してクラスターの作成時に保管時の暗号化を有効にするには、以下のように選択します。

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

  • エンジンのバージョンとして バージョン 3.2.6 を選択します。

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

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

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

AWS CLI を使用して Redis クラスターの作成時に保管時の暗号化を有効にするには、--at-rest-encryption-enabled パラメータを使用します。

レプリカのない Redis (クラスターモードが無効) クラスター上で保管時の暗号化を有効にする (CLI)

次の例では、保管時の暗号化が有効な単一ノードの Redis (クラスターモードが無効) クラスターを作成します。以下のパラメータとその値は、このクラスターで暗号化を有効にするために必要です。

  • --engineredis に指定します。

  • 保管時の暗号化を有効にするには、--at-rest-encryption-enabled が含まれている必要があります。

例 Redis (クラスターモードが無効) クラスター (リードレプリカなし)

Linux, macOS, or Unix 用:

Copy
aws elasticache create-cache-cluster \ --cache-cluster-id my-redis-cluster \ --cache-node-type cache.m4.large \ --engine redis \ --engine-version 2.8.24 \ --at-rest-encryption-enabled \ --num-cache-nodes 1 \ --cache-parameter-group default.redis3.2

Windows の場合:

Copy
aws elasticache create-cache-cluster ^ --cache-cluster-id my-redis-cluster ^ --cache-node-type cache.m4.large ^ --engine redis ^ --engine-version 2.8.24 ^ --at-rest-encryption-enabled ^ --num-cache-nodes 1 ^ --cache-parameter-group default.redis3.2

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

 

レプリカを持つ Redis (クラスターモードが無効) クラスター上で保管時の暗号化を有効にする (CLI)

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

以下のパラメータとその値は、このクラスターで暗号化を有効にするために必要です。

  • --engineredis に指定します。

  • 保管時の暗号化を有効にするには、--at-rest-encryption-enabled が含まれている必要があります。

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

Linux, macOS, or Unix 用:

Copy
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 2.8.24 \ --at-rest-encryption-enabled \ --num-cache-clusters 3 \ --cache-parameter-group default.redis3.2

Windows の場合:

Copy
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 2.8.24 ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^ --cache-parameter-group default.redis3.2

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

 

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

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

以下のパラメータとその値は、このクラスターで暗号化を有効にするために必要です。

  • --engineredis に指定します。

  • 保管時の暗号化を有効にするには、--at-rest-encryption-enabled が含まれている必要があります。

  • クラスターを Redis (クラスターモードが有効) クラスターにするには、以下のパラメータも必要です。これらは、保管時の暗号化が有効であるかどうかに影響しません。

    • --engine-version を 3.2.6 に指定します。

    • このクラスターをモード有効クラスターにするには、--cache-parameter-groupdefault-redis3.2.cluster.on またはそれから派生したいずれかに指定します。

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

Linux, macOS, or Unix 用:

Copy
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 3.2.6 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis3.2.cluster.on

Windows の場合:

Copy
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 3.2.6 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis3.2.cluster.on

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

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

Redis クラスターの作成時に ElastiCache API を使用して保管時の暗号化を有効にするには、単一ノード Redis クラスターの場合は CreateCacheCluster を使用し、リードレプリカを持つクラスターの場合は CreateReplicationGroup を使用して、AtRestEncryptionEnabled パラメータを true に設定します。

レプリカのない Redis (クラスターモードが無効) クラスター上で保管時の暗号化を有効にする (API)

次の API コードでは、保管時の暗号化が有効な Redis (クラスターモードが無効)キャッシュクラスターを作成します。クラスターは単一ノードです。リードレプリカを持つクラスターを作成するには、ElastiCache API オペレーション CreateReplicationGroup を使用します。

以下のパラメータとその値は、このクラスターで暗号化を有効にするために必要です。

  • Engineredis に指定します。

  • AtRestEncryptionEnabledtrue に指定します。

例 Redis (クラスターモードが無効) クラスター

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

Copy
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateCacheCluster &AtRestEncryptionEnabled=true &CacheClusterId=my-redis3-cluster &CacheNodeType=cache.m4.large &CacheParameterGroup=default &Engine=redis &EngineVersion=2.8.24 &NumCacheNodes=1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20171008T220302Z &Version=2015-02-02 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=<credential>

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

レプリカを持つ Redis (クラスターモードが無効) クラスター上で保管時の暗号化を有効にする (API)

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

以下のパラメータとその値は、このクラスターで暗号化を有効にするために必要です。

  • Engineredis に指定します。

  • AtRestEncryptionEnabledtrue に指定します。

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

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

Copy
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParameterGroup=default.redis3.2 &Engine=redis &EngineVersion=2.8.24 &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 に指定します。

  • AtRestEncryptionEnabledtrue に指定します。

  • クラスターを Redis (クラスターモードが有効) クラスターにするには、以下のパラメータも必要です。これらは、保管時の暗号化が有効であるかどうかに影響しません。

    • EngineVersion を 3.2.6 に指定します。

    • CacheParameterGroupdefault-redis3.2.cluster.on、またはこれから派生したいずれかに指定します。

例 – Redis (クラスターモードが有効) クラスター

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

Copy
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParemeterGroup=default.redis3.2.cluster.on &Engine=redis &EngineVersion=3.2.6 &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>

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

 

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