

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

# Amazon EKS 備份
<a name="eks-backups"></a>

Amazon Elastic Kubernetes Service (Amazon EKS) 叢集包含多個資源，您可以將這些資源備份為單一單位。當您備份 Amazon EKS 叢集時， AWS Backup 會建立包含 EKS 叢集狀態和持久性磁碟區備份的複合復原點。

備份 Amazon EKS 叢集時，會針對 支援的 Amazon EKS 叢集狀態和持久性磁碟區建立復原點 AWS Backup。這些復原點會在稱為**複合**的整體復原點內分組。

Amazon EKS 備份有兩種不同的元件：
+ *Amazon EKS 叢集狀態：*這是 Amazon EKS 叢集狀態的備份。如需包含的內容，請參閱下列 Amazon EKS 備份術語。
+ *持久性儲存：*這是透過持久性磁碟區宣告連接至 Amazon EKS 叢集且 [EKS Add Ons CSI Driver 支援的](https://docs.aws.amazon.com/eks/latest/userguide/storage.html)持久性儲存 (Amazon EBS、Amazon S3、Amazon Elastic File System) 的備份。

## Amazon EKS 備份術語
<a name="eks-backup-overview"></a>

下列術語用於整個 Amazon EKS 備份文件。如需 Amazon EKS 特定術語，請參閱 [Amazon EKS 文件](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html)。

## EKS 備份術語
<a name="eks-backup-terminology"></a>
+ **複合復原點** – 用於將巢狀復原點分組以進行 Amazon EKS 叢集備份的復原點。
+ **巢狀復原點** – 資源的復原點，屬於 Amazon EKS 叢集的一部分，且作為複合復原點的一部分進行備份。
+ **EKS 叢集狀態** – 定義叢集中 Kubernetes 資源所需狀態的 Kubernetes 資訊清單 (YAML 或 JSON 檔案）。這包括 Kubernetes 資源和部署，例如：秘密、組態貼圖、有狀態集、DaemonSets、儲存類別、儲存貼圖、複本集、持久性磁碟區宣告、自訂資源定義、角色和角色繫結。
+ **Amazon EKS 叢集組態子復原點** – 包含 Amazon EKS 叢集狀態。
+ **持久性磁碟區子復原點** – 包含 EKS Add Ons CSI 驅動程式支援之儲存類型 (EBS、S3、EFS) 的持久性磁碟區備份。 [https://docs.aws.amazon.com/eks/latest/userguide/storage.html](https://docs.aws.amazon.com/eks/latest/userguide/storage.html)

## Amazon EKS 備份結構
<a name="eks-backup-creation"></a>

**Amazon EKS 備份包括下列元件：**
+ Amazon EKS 叢集狀態
+ 持久性儲存：支援儲存類型的備份，包括 Amazon EBS、Amazon EFS 和 Amazon S3

**Amazon EKS Backups 不會包含下列元件：**
+ 來自外部儲存庫的容器映像 (ECR、Docker)
+ EKS 叢集基礎設施元件 （例如 VPCs、子網路）
+ 自動產生的 EKS 資源，例如節點、自動產生的 Pod、事件、租用和任務。

**EKS 備份設定和先決條件 (「備份之前」)**
+ **EKS 叢集設定：**
  + EKS 叢集[授權模式](https://docs.aws.amazon.com/eks/latest/userguide/setting-up-access-entries.html)設定為 API 或 API\$1AND\$1CONFIG\$1MAP AWS Backup ，讓 建立[存取項目](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html)以存取 EKS 叢集。
+ **許可：**
  + AWS Backup的受管政策 [AWSBackupServiceRolePolicyForBackup](https://docs.aws.amazon.com/aws-backup/latest/devguide/security-iam-awsmanpol.html#AWSBackupServiceRolePolicyForBackup) 包含備份 Amazon EKS 叢集和 EBS 和 EFS 持久性儲存所需的許可
  + 如果您的 EKS 叢集包含 S3 儲存貯體，您將需要確保已新增和啟用 S3 儲存貯體的下列政策和先決條件，如所記載：
    + [AWSBackupServiceRolePolicyForS3Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/security-iam-awsmanpol.html#AWSBackupServiceRolePolicyForS3Backup)
    + [S3 備份的先決條件](https://docs.aws.amazon.com/aws-backup/latest/devguide/s3-backups.html#s3-backup-prerequisites)
+ **加密：**
  + Amazon EKS 子復原點將使用目標 Backup Vault 的 Amazon KMS 金鑰集進行加密
  + 持久性儲存復原點將根據目前對每個儲存類別的支援進行加密：EBS 快照、S3 備份、EFS 備份。[請參閱 中的備份加密 AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/encryption.html)

## 建立 Amazon EKS 備份
<a name="eks-backups-options"></a>

建立備份的程序稱為備份任務。Amazon EKS 叢集備份任務具有 狀態。備份任務完成後，其狀態為已完成。這表示已建立復原點 （備份）。

### 建立隨需 Amazon EKS 備份
<a name="eks-backups-on-demand"></a>

------
#### [ Console ]

若要建立 Amazon EKS 叢集的隨需備份：

1. 在 https：//[https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 開啟 AWS Backup 主控台。

1. 在導覽窗格中，選擇 **Protected resources (受保護的資源)**。

1. 在**資源類型**下，選取 **Amazon EKS**。

1. 選取您要備份之 Amazon EKS 叢集旁的核取方塊。

1. 選擇 **Create on-demand backup (建立隨需備份)**。

1. 設定備份設定，包括備份時段、轉換為冷儲存，以及保留期間。

1. 選擇 **Create on-demand backup (建立隨需備份)**。

------
#### [ AWS CLI ]

若要使用 建立 Amazon EKS 叢集的隨需備份 AWS CLI：

使用 **start-backup-job** 命令：

```
aws backup start-backup-job \
    --backup-vault-name my-backup-vault \
    --resource-arn arn:aws:eks:us-west-2:123456789012:cluster/my-cluster \
    --iam-role-arn arn:aws:iam::123456789012:role/AWSBackupDefaultServiceRole \
    --region us-west-2
```

或者，指定其他參數，例如生命週期設定：

```
aws backup start-backup-job \
    --backup-vault-name my-backup-vault \
    --resource-arn arn:aws:eks:us-west-2:123456789012:cluster/my-cluster \
    --iam-role-arn arn:aws:iam::123456789012:role/AWSBackupDefaultServiceRole \
    --lifecycle MoveToColdStorageAfterDays=30,DeleteAfterDays=365 \
    --region us-west-2
```

監控備份任務狀態：

```
aws backup describe-backup-job \
    --backup-job-id backup-job-id \
    --region us-west-2
```

------

## Amazon EKS 備份 ARN 格式
<a name="eks-recovery-points"></a>

複合復原點 arn：*partition*：backup：*region*：*accountId*：recovery-point：composite：eks/*cluster-name*-*timestamp*

子復原點 arn：*partition*：backup：*region*：*accountId*：recovery-point：eks/*cluster-name*-*timestamp*

### Amazon EKS 復原點
<a name="eks-recovery-point-status"></a>

#### 復原點狀態
<a name="eks-recovery-point-status-details"></a>

當 Amazon EKS 叢集的備份任務完成時 （任務狀態為 `Completed`)，已建立叢集的備份。此備份也稱為複合復原點。複合復原點可能具有下列其中一種狀態：`Completed`、`Failed` 或 `Partial`。

每個 Amazon EKS 備份都會為每個子復原點 （叢集組態和持久性磁碟區） 建立複合復原點和子備份任務的父備份任務。
+ 已完成的備份任務表示您的整個 Amazon EKS 叢集及其中的資源受到 保護 AWS Backup。
+ 失敗狀態表示備份任務失敗；您應該在修正造成失敗的問題之後重新建立備份。
+ `Partial` 狀態表示並未備份叢集中的所有資源。如果屬於叢集內資源 （巢狀資源） 的一或多個備份任務具有 以外的狀態，則可能會發生這種情況`Completed`。您可以手動建立隨需備份，重新執行產生 `Completed` 以外狀態的任何資源。
+ `Completed with issues` 狀態表示未備份叢集中的所有資源。當我們無法備份叢集中的某些 Kubernetes 物件時，可能會發生這種情況。您可以訂閱失敗物件的**通知事件**以進行備份。如需詳細資訊，請參閱[使用 通知選項 AWS Backup。](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-notifications.html)

複合復原點中的每個巢狀資源都有自己的個別復原點，每個復原點都有自己的狀態 (`Completed` 或 `Failed`)。您可以還原狀態為 `Completed` 的巢狀復原點。

AWS Backup 支援針對持久性磁碟區復原點轉換為冷儲存的生命週期。您可以訂閱通知，以接收備份任務狀態的提醒。

## 管理復原點
<a name="eks-manage-recovery-points"></a>

複合復原點 （備份） 可以複製；持久性磁碟區子復原點可以複製、刪除、取消關聯或還原。Amazon EKS 叢集狀態子復原點無法複製、刪除或取消關聯，因為它與其父系複合復原點維持 1：1 關係。

但無法刪除包含巢狀備份的複合復原點。刪除或取消關聯複合復原點中的巢狀復原點之後，您可以手動刪除複合復原點，或保留直到備份計畫生命週期將其刪除為止。

### 刪除復原點
<a name="eks-delete-recovery-point"></a>

您可以使用 主控台或使用 刪除復原點 AWS CLI。

若要使用主控台刪除復原點：

1. 在 https：//[https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 開啟 AWS Backup 主控台。

1. 按一下左側導覽列中的 受保護的資源。在文字方塊中，輸入 EKS 以僅顯示您的 Amazon EKS 叢集。

1. 複合復原點會隨即顯示在「復原點」窗格中。您可以按一下每個復原點 ID 左側的加號 (\$1) 來展開每個複合復原點，以顯示複合中包含的所有巢狀復原點。您可以勾選任何復原點左側的方塊，將其包含在您選取要刪除的復原點中。

1. 按一下 刪除 按鈕。

當您使用主控台刪除一或多個複合復原點時，會快顯一個警告方塊。此警告方塊會要求您確認是否有意刪除複合復原點 (包括複合堆疊內的巢狀復原點)。

若要使用 API 刪除復原點，請使用 DeleteRecoveryPoint 命令。

當您搭配 使用 API 時 AWS Command Line Interface ，您必須先刪除所有巢狀復原點，才能刪除複合點。

### 取消巢狀復原點與複合復原點的關聯
<a name="eks-disassociate-recovery-point"></a>

您可以取消巢狀復原點與複合復原點的關聯 (例如，您想要保留巢狀復原點但刪除複合復原點)。兩個復原點都會保留下來，但不再相互關聯；也就是說，取消關聯之後，在複合復原點上進行的動作將不會再套用至巢狀復原點。Amazon EKS 叢集狀態子復原點無法取消關聯，因為它與其父系複合復原點維持 1：1 的關係。

您可以使用主控台取消復原點的關聯，也可以呼叫 API DisassociateRecoveryPointFromParent。

## 複製復原點
<a name="eks-copy-recovery-point"></a>

您可以複製複合復原點，或者如果資源支援[跨帳戶和跨區域複製](backup-feature-availability.md#features-by-resource)，則可以複製巢狀復原點。

若要使用 AWS Backup 主控台複製復原點：

在 https：//[https://console.aws.amazon.com/backup](https://console.aws.amazon.com/backup) 開啟 AWS Backup 主控台。

1. 按一下左側導覽中的**保存庫**，然後前往包含您要複製之復原點的保存庫。在文字方塊中，輸入 `EKS` 以僅顯示 Amazon EKS 叢集的復原點。

1. 複合和巢狀復原點都會顯示在復原點 ID 窗格下。請注意，您無法選取並複製巢狀 EKS 復原點。

1. 您可以按一下每個複合復原點 ID 左側的箭頭符號來展開，顯示複合中包含的所有巢狀復原點。您可以按一下任何復原點左側的方形核取方塊來複製它。

1. 選取後，按一下窗格右上角**的動作**下拉式清單，然後按一下**複製**。

Amazon EKS 備份支援所有複製類型：
+ 相同的區域/帳戶
+ 跨帳戶
+ 跨區域
+ 選擇加入區域

## 限制
<a name="eks-limitations"></a>
+ 不支援透過 CSI 遷移、樹狀內儲存外掛程式或 ACK 控制器使用 CSI 驅動程式的持久性磁碟區。請注意，註釋`volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com`是中繼資料，指出哪個佈建器可以管理磁碟區，而不是磁碟區使用 CSI。實際佈建器由 storageClass 決定。
+ 無法備份連接至 CSI Driver MountPoints 之特定字首的 Amazon S3 儲存貯體。僅支援 Amazon S3 儲存貯體做為目標，不支援特定字首。
+ 做為 EKS 叢集備份一部分的 Amazon S3 儲存貯體備份僅支援快照備份。
+ 透過 EKS Backups 不支援跨帳戶中 EFS 檔案系統的備份。
+ 透過 EKS 備份不支援透過 CSI 驅動程式的 Amazon FSx。
+ AWS Backup 不支援 Amazon EKS on AWS Outposts。
+ 受[備份和還原配額約束](aws-backup-limits.html)。

## 備份任務已完成，但發生問題
<a name="eks-backup-jobs-completed-with-issues"></a>

備份 Amazon EKS 叢集時，可能無法擷取某些 Kubernetes 物件。在此情況下，備份任務將以 `Completed with issues` 狀態完成，而不是完全失敗，並顯示下列狀態訊息：
+ 某些 Kubernetes 物件無法備份。若要收到這些失敗的通知，請[啟用 SNS 事件通知](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-notifications.html)。

在備份任務期間，可能會因為 [Amazon EKS 指標伺服器附加](https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html)元件無法使用問題而導致 503 服務無法使用錯誤，而略過下列 Kubernetes 物件類型。如需[疑難排解指引](https://repost.aws/knowledge-center/eks-resolve-http-503-errors-kubernetes)，請參閱此處。
+ `metrics.k8s.io`
+ `custom.metrics.k8s.io`
+ `external.metrics.k8s.io`
+ `metrics.eks.amazonaws.com`

## 常見問答集
<a name="eks-faq"></a>

1. *「Amazon EKS 備份包含哪些內容？」*

   Amazon EKS 叢集的每個備份都會 AWS Backup 備份 支援的 Amazon EKS 叢集狀態和持久性磁碟區。Amazon EKS 叢集狀態包含叢集名稱、IAM 角色、Amazon VPC 組態、網路設定、記錄、加密、附加元件、存取項目、受管節點群組、Fargate 設定檔、Pod 身分關聯和 Kubernetes 資訊清單檔案等詳細資訊。

1. 「`Partial` 狀態是否表示我的備份建立失敗？」**

   否。部分狀態表示某些復原點已備份，某些復原點則否。有兩種條件可以檢查您是否預期`Completed`備份結果：

   1. 屬於叢集內資源的一或多個備份任務未成功，必須重新執行任務。

   1. 已從複合復原點中刪除或取消關聯巢狀復原點。

1. *「備份之前，是否需要在 Amazon EKS 叢集上安裝代理程式或 Amazon EKS 附加元件？」*

   否。不需要在 Amazon AWS Backup EKS 叢集上安裝任何代理程式或附加元件。唯一的先決條件是將 EKS 叢集[的授權模式](https://docs.aws.amazon.com/eks/latest/userguide/setting-up-access-entries.html)設定為 API 或 API\$1AND\$1CONFIG\$1MAP AWS Backup ，讓 建立[存取項目](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html)以存取 EKS 叢集。

1. *「Amazon EKS 備份是否包含 Amazon EKS 基礎設施元件或 Amazon ECR 映像？」*

   否。Amazon EKS 備份著重於 EKS 叢集狀態和應用程式工作負載，而不是基礎基礎設施元件或容器映像。

1. *「我可以將 EKS 複合復原點生命週期化為冷儲存嗎？」*

   您可以針對支援冷儲存層的基礎子復原點轉換為冷儲存。如需完整的支援清單，請參閱[AWS Backup 功能可用性矩陣](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource)。

1. *「我的 EKS 備份是增量備份嗎？」*

   AWS Backup 將針對目前支援的每個子復原點進行增量備份，其中包括 EBS 磁碟區、EFS 檔案系統和 S3 儲存貯體。EKS 叢集狀態子復原點將是完整備份。請參閱[AWS Backup 功能可用性矩陣](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource)。

1. *「我可以建立索引並搜尋我的 EKS 備份嗎？」*

   否，不過，您可以建立隨需索引，並搜尋基礎儲存類型支援此功能的持久性磁碟區 AWS Backup。請參閱[AWS Backup 功能可用性矩陣](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource)。