

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# ElastiCache 中的靜態加密
<a name="at-rest-encryption"></a>

為了協助保護您的資料安全，Amazon ElastiCache 和 Amazon S3 提供不同方式，可用於限制存取位於快取中資料。如需詳細資訊，請參閱[Amazon VPC 和 ElastiCache 安全性](VPCs.md)及[Amazon ElastiCache 中的 Identity and Access Management](IAM.md)。

ElastiCache 靜態加密功能可透過加密磁碟上的資料來提高資料安全性。此功能在無伺服器快取上一律為啟用狀態。啟用時，此功能會加密下列層面：
+ 同步、備份和交換操作期間的磁碟
+ 存放在 Amazon S3 中的備份 

儲存在 SSD (固態硬碟) 上已啟用資料分層之叢集中的資料一律會加密。

 ElastiCache 提供靜態預設 （服務受管） 加密，以及能夠在 Key Management Service (KMS) 中使用您自己的對稱客戶受管AWS KMS 金鑰。 [AWS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)備份快取後，在加密選項中，選擇要使用預設加密金鑰或客戶受管金鑰。如需詳細資訊，請參閱[啟用靜態加密](#at-rest-encryption-enable)。

**重要**  
在現有的節點型 Valkey 或 Redis OSS 叢集上啟用靜態加密涉及在複寫群組上執行備份和還原**之後**刪除現有的複寫群組。

只有在快取上建立複寫群組後，才能啟用靜態加密。因為要加密和解密資料需要經過一些處理，因此在這些操作期間啟用靜態加密可能會影響效能。您應該針對使用靜態加密和未使用靜態加密的資料進行基準分析，以判斷對使用案例的效能影響。

**Topics**
+ [靜態加密條件](#at-rest-encryption-constraints)
+ [從AWS KMS 使用客戶受管金鑰](#using-customer-managed-keys-for-elasticache-security)
+ [啟用靜態加密](#at-rest-encryption-enable)
+ [另請參閱](#at-rest-encryption-see-also)

## 靜態加密條件
<a name="at-rest-encryption-constraints"></a>

規劃 ElastiCache 靜態加密實作時，應謹記下列 ElastiCache 靜態加密的限制：
+ 執行 Valkey 7.2 和更新版本以及 Redis OSS 版本 （為 EOL 排程 3.2.6，請參閱 [Redis OSS 版本生命週期結束排程](engine-versions.md#deprecated-engine-versions))、4.0.10 或更新版本的複寫群組支援靜態加密。
+ 只有在 Amazon VPC 中執行的複寫群組支援靜態加密。
+ 靜態加密僅支援執行下列節點類型的複寫群組。
  + R7g, R6gd, R6g, R5, R4, R3
  + M7g, M6g, M5, M4, M3
  + T4g、T3、T2
  + C7gn

  如需詳細資訊，請參閱[支援的節點類型](CacheNodes.SupportedTypes.md)
+ 透過將參數 `AtRestEncryptionEnabled` 明確設定為 `true`，可啟用靜態加密。
+ 您只能在建立複寫群組時，於複寫群組上啟用靜態加密。您無法透過修改複寫群組來將靜態加密切換為開啟和關閉。如需如何在現有複寫群組上實作靜態加密的資訊，請參閱[啟用靜態加密](#at-rest-encryption-enable)。
+ 如果叢集使用 r6gd 系列的節點類型，則無論是否啟用靜態加密，存放在 SSD 上的資料都會加密。
+ 使用客戶受管金鑰進行靜態加密的選項不適用於AWS GovCloud (us-gov-east-1 和 us-gov-west-1) 區域。
+ 如果叢集使用來自 r6gd 系列的節點類型，儲存在 SSD 上的資料會使用所選的客戶受管AWS KMS 金鑰 （或服務受管加密 in AWS GovCloud 區域） 加密。
+ 使用 Memcached 時，僅無伺服器快取支援靜態加密。
+ 使用 Memcached 時， GovCloud (us-gov-east-1 和 us-gov-west-1) 區域不提供AWS使用客戶受管金鑰進行靜態加密的選項。

實作靜態加密可能會在備份和節點同步操作期間降低效能。針對您自己的資料進行靜態加密與無加密的基準分析比較，以判斷對實作的效能影響。

## 從AWS KMS 使用客戶受管金鑰
<a name="using-customer-managed-keys-for-elasticache-security"></a>

ElastiCache 支援對稱客戶受管AWS KMS 金鑰 (KMS 金鑰） 進行靜態加密。客戶受管 KMS 金鑰是您在AWS帳戶中建立、擁有和管理的加密金鑰。如需詳細資訊，請參閱 *AWS Key Management Service 開發人員指南*中的 [AWS KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#root_keys)。金鑰必須先在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 開發人員指南*中的[使用授權](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。不需要客戶動作即可啟用與AWS KMS 的 Amazon ElastiCache 整合。

`kms:ViaService` 條件金鑰會將AWS KMS 金鑰 (KMS 金鑰） 的使用限制為來自指定AWS服務的請求。若要搭配 ElastiCache 使用 `kms:ViaService`，請在條件索引鍵值中包含兩個 ViaService 名稱：`elasticache.AWS_region.amazonaws.com` 和 `dax.AWS_region.amazonaws.com`。如需詳細資訊，請參閱 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service)。

您可以使用 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 來追蹤 Amazon ElastiCache 代表您傳送給AWS Key Management Service的請求。所有與客戶受管金鑰AWS Key Management Service相關的 API 呼叫都有對應的 CloudTrail 日誌。您也可以透過呼叫 [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html) KMS API 呼叫來查看 ElastiCache 建立的授與。

使用客戶受管金鑰對複寫群組進行加密後，複寫群組的所有備份都會依以下方式進行加密：
+ 自動每日備份會使用與叢集關聯的客戶受管金鑰來進行加密。
+ 複寫群組被刪除時所建立的最終備份，也使用與複寫群組關聯的客戶受管金鑰進行加密。
+ 手動建立的備份在預設情況下，會使用與複寫群組關聯的金鑰來加密。您可以透過選擇其他客戶受管金鑰來覆寫此選項。
+ 複製備份預設為使用與來源備份關聯的客戶受管金鑰。您可以透過選擇其他客戶受管金鑰來覆寫此選項。

**注意**  
將備份匯出到所選 Amazon S3 儲存貯體時，無法使用客戶受管金鑰。不過，匯出至 Amazon S3 的所有備份都使用[伺服器端加密](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)來加密。您可以選擇將備份檔案複製到新的 S3 物件並使用客戶受管 KMS 金鑰來加密、將檔案複製到使用 KMS 金鑰以預設加密設定的另一個 S3 儲存貯體，或是變更檔案本身的加密選項。
您也可以使用客戶受管金鑰，為不是使用客戶受管金鑰進行加密的複寫群組，加密手動建立的備份。使用此選項時，即使原始複寫群組上的資料未加密，Amazon S3 中存放的備份檔案仍會使用 KMS 金鑰來進行加密。
從備份還原可讓您從可用的加密選項中進行選擇，類似於建立新複寫群組時可用的加密選項。
+ 如果刪除金鑰或[停用](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html)金鑰，並針對您用來加密快取的金鑰[撤銷授權](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)，則快取將變成無法恢復。換句話說，它無法在硬體故障後修改或復原。AWS KMS 只會在等待至少七天後刪除根金鑰。金鑰刪除後，您可以使用其他客戶受管金鑰建立備份以用於封存。
+ 自動金鑰輪換會保留AWS KMS 根金鑰的屬性，因此輪換不會影響您存取 ElastiCache 資料的能力。加密的 Amazon ElastiCache 快取不支援手動金鑰輪換，其中包含建立新的根金鑰和更新任何舊金鑰的參照。若要進一步了解，請參閱 Key *AWS Management Service 開發人員指南*中的[輪換AWS KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)。
+ 每個快取都需有一個授權，才能使用 KMS 金鑰加密 ElastiCache 快取。此授權將在快取的整個生命週期中使用。此外，在備份建立期間，每個備份會使用一個授權。建立備份後，此授權就會淘汰。
+ 如需AWS KMS 授予和限制的詳細資訊，請參閱 *AWS Key Management Service 開發人員指南*中的[限制](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)。

## 啟用靜態加密
<a name="at-rest-encryption-enable"></a>

所有無伺服器快取都會啟用靜態加密。

建立節點型叢集時，您可以將 參數設定為 `AtRestEncryptionEnabled` ，以啟用靜態加密`true`。您無法在現有複寫群組上啟用靜態加密。

 您可在建立 ElastiCache 快取時啟用靜態加密。您可以使用AWS 管理主控台、AWS CLI或 ElastiCache API 來執行此操作。

建立快取時，您可以選擇下列其中一個選項：
+ **預設** – 此選項使用服務管理的靜態加密。
+ **客戶受管金鑰 ** – 此選項可讓您從AWS KMS 提供金鑰 ID/ARN 以進行靜態加密。

若要了解如何建立AWS KMS 根金鑰，請參閱 [Key Management Service 開發人員指南中的建立](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)*AWS金鑰* 

**Contents**
+ [使用 啟用靜態加密AWS 管理主控台](#at-rest-encryption-enable-con)
+ [使用 啟用靜態加密AWS CLI](#at-rest-encryption-enable-cli)

### 在現有的節點型 Valkey 或 Redis OSS 叢集上啟用靜態加密
<a name="at-reset-encryption-enable-existing-cluster"></a>

您只能在建立 Valkey 或 Redis OSS 複寫群組時啟用靜態加密。如果您想要啟用現有複寫群組的靜態加密，請執行下列動作。

**啟用現有複寫群組的靜態加密**

1. 建立您現有複寫群組的手動備份。如需詳細資訊，請參閱「[取得手動備份](backups-manual.md)」。

1. 透過從備份還原來建立新的複寫群組。在新的複寫群組上，啟用靜態加密。如需詳細資訊，請參閱[從備份還原到新的快取](backups-restoring.md)。

1. 更新應用程式中的端點以指向新的複寫群組。

1. 刪除舊的複寫群組。如需詳細資訊，請參閱 [在 ElastiCache 中刪除叢集](Clusters.Delete.md) 或 [刪除複寫群組](Replication.DeletingRepGroup.md) 。

### 使用 啟用靜態加密AWS 管理主控台
<a name="at-rest-encryption-enable-con"></a>

#### 在無伺服器快取上啟用靜態加密 (主控台)
<a name="at-rest-encryption-enable-con-serverless"></a>

所有無伺服器快取都會啟用靜態加密。根據預設， 擁有AWS的 KMS 金鑰會用來加密資料。若要選擇您自己的AWS KMS金鑰，請進行下列選擇：
+ 展開**預設設定**區段。
+ 在**預設設定**區段下選擇**自訂預設設定**。
+ 在**安全性**區段下選擇**自訂安全性設定**。
+ 在**加密金鑰**設定下選擇**客戶受管 CMK**。
+ 在 **AWS KMS金鑰**設定下選擇一個金鑰。

#### 在以節點為基礎的叢集上啟用靜態加密 （主控台）
<a name="at-rest-encryption-enable-con-self-designed"></a>

自行設計快取時，採用「輕鬆建立」方法的「開發/測試」和「生產」組態會使用**預設**金鑰啟用靜態加密。當您自行選擇組態時，請進行下列選擇：
+ 選擇 3.2.6、4.0.10 或更新版本做為引擎版本。
+ 按一下**靜態加密**選項的**啟用**旁的核取方塊。
+ 選擇**預設金鑰**或**客戶受管 CMK**。

如需逐步操作程序，請參閱下列：
+ [建立 Valkey （停用叢集模式） 叢集 （主控台）](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs)
+ [建立 Valkey 或 Redis OSS （啟用叢集模式） 叢集 （主控台）](Clusters.Create.md#Clusters.Create.CON.RedisCluster)

### 使用 啟用靜態加密AWS CLI
<a name="at-rest-encryption-enable-cli"></a>

若要在使用 建立 Valkey 或 Redis OSS 叢集時啟用靜態加密AWS CLI，請在建立複寫群組時使用 *--at-rest-encryption-enabled* 參數。

#### 在 Valkey 或 Redis OSS （停用叢集模式） 叢集 (CLI) 上啟用靜態加密
<a name="at-rest-encryption-enable-cli-redis-classic-rg"></a>

下列操作會建立`my-classic-rg`具有三個節點 (*--num-cache-clusters*)、主要複本和兩個僅供讀取複本的 Valkey 或 Redis OSS （停用叢集模式） 複寫群組。此複寫群組 (*--at-rest-encryption-enabled*) 的靜態加密已啟用。

若要啟用此複寫群組的加密，您必須使用下列參數和值：

**重要參數**
+ **--engine**- 必須為 `valkey`或 `redis`。
+ **--engine-version**- 如果引擎是 Redis OSS，這必須是 3.2.6、4.0.10 或更新版本。
+ **--at-rest-encryption-enabled** - 啟用靜態加密的必要項目。

**Example 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}} ^
```

如需其他資訊，請參閱以下內容：
+ [從頭開始建立 Valkey 或 Redis OSS （停用叢集模式） 複寫群組 (AWS CLI)](Replication.CreatingReplGroup.NoExistingCluster.Classic.md#Replication.CreatingReplGroup.NoExistingCluster.Classic.CLI)
+ [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)

 

#### 在叢集上為 Valkey 或 Redis OSS 啟用靜態加密 （啟用叢集模式） (CLI)
<a name="at-rest-encryption-enable-cli-clustered-redis"></a>

下列操作會建立`my-clustered-rg`具有三個節點群組或碎片 (*--num-node-groups*) 的 Valkey 或 Redis OSS （啟用叢集模式） 複寫群組。每個都有三個節點、一個主要複本及兩個僅供讀取複本 (*--replicas-per-node-group*)。此複寫群組 (*--at-rest-encryption-enabled*) 的靜態加密已啟用。

若要啟用此複寫群組的加密，您必須使用下列參數和值：

**重要參數**
+ **--engine**- 必須為 `valkey`或 `redis`。
+ **--engine-version**- 如果引擎是 Redis OSS，這必須是 4.0.10 或更新版本。
+ **--at-rest-encryption-enabled** - 啟用靜態加密的必要項目。
+ **--cache-parameter-group** - 必須為 `default-redis4.0.cluster.on` 或其衍生項目，才能成為啟用複寫群組的叢集模式。

**Example 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}}
```

如需其他資訊，請參閱以下內容：
+ [從頭開始建立 Valkey 或 Redis OSS （啟用叢集模式） 複寫群組 (AWS CLI)](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CLI)
+ [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)

## 另請參閱
<a name="at-rest-encryption-see-also"></a>
+ [Amazon VPC 和 ElastiCache 安全性](VPCs.md)
+ [Amazon ElastiCache 中的 Identity and Access Management](IAM.md)