跳至主要內容

備份

Deno KV 目前處於測試階段

Deno KV 及相關雲端原生 API(例如佇列和 cron)目前為實驗性質,且可能會變更。雖然我們會盡力確保資料耐用性,但資料遺失仍有可能發生,特別是在 Deno 更新時。

使用 KV 的 Deno 程式在啟動程式時需要 --unstable 旗標,如下所示

deno run -A --unstable my_kv_code.ts

託管在 Deno Deploy 上的 KV 資料庫可以持續備份到您自己的 S3 相容儲存空間儲存區。這是除了我們內部為儲存在託管 Deno KV 資料庫中的所有資料執行的複製和備份之外,以確保高可用性和資料耐用性。

此備份會持續進行,且延遲極短,能進行時間點復原和即時複製。啟用 KV 資料庫備份會開啟各種有趣的用例

  • 在過去任何時間點擷取資料的一致快照
  • 執行獨立於 Deno Deploy 的唯讀資料複本
  • 透過將變更傳輸到串流平台和分析資料庫(例如 Kafka、BigQuery 和 ClickHouse)將資料推送到您最愛的資料管道

設定 Amazon S3 備份

您必須先在 AWS 上建立一個儲存空間

  1. 前往 AWS S3 主控台
  2. 按一下「建立儲存空間」
  3. 輸入儲存空間名稱並選擇 AWS 區域,然後向下捲動並按一下「下一步」

接著,建立一個 IAM 政策,讓使用者可以對儲存貯體執行 PutObject 存取,將它附加到 IAM 使用者,並為該使用者建立存取金鑰

  1. 前往 AWS IAM 控制台
  2. 按一下左側邊欄中的「政策」
  3. 按一下「建立政策」
  4. 選取「JSON」政策編輯器,並貼上以下政策:
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Sid": "KVBackup",
    "Effect": "Allow",
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::<bucket-name>/*"
    }
    ]
    }
    <bucket-name> 替換為您稍早建立的儲存貯體名稱。
  5. 按一下「檢閱政策」
  6. 輸入政策名稱,並按一下「建立政策」
  7. 按一下左側邊欄中的「使用者」
  8. 按一下「新增使用者」
  9. 輸入使用者名稱,並按一下「下一步」
  10. 按一下「直接附加政策」
  11. 搜尋您稍早建立的政策,並按一下其旁的核取方塊
  12. 按一下「下一步」
  13. 按一下「建立使用者」
  14. 按一下您剛建立的使用者
  15. 按一下「安全性認證資訊」,然後按一下「建立存取金鑰」
  16. 選取「其他」,然後按一下「下一步」
  17. 輸入存取金鑰說明,並按一下「建立存取金鑰」
  18. 複製存取金鑰 ID 和秘密存取金鑰,並將它們儲存在安全的地方。您稍後會需要它們,而且無法再次擷取它們。

現在請前往 Deno Deploy 儀表板,並按一下專案中的「KV」標籤。捲動至「備份」區段,並按一下「AWS S3」。輸入稍早建立的儲存空間名稱、存取金鑰 ID 和秘密存取金鑰,以及儲存空間所在的區域。然後按一下「儲存」。

add backup to dashboard

備份將會立即開始。資料備份完畢且連續備份已啟用後,您將會看到狀態變更為「已啟用」。

設定備份至 Google Cloud Storage

Google Cloud Storage (GCS) 與 S3 協定相容,也可以用作備份目標。

您必須先在 GCP 上建立儲存空間

  1. 前往 GCP Cloud Storage 主控台
  2. 按一下頂端工具列中的「建立」
  3. 輸入儲存空間名稱,選擇位置,然後按一下「建立」

然後,建立一個對儲存空間具有「儲存物件管理員」存取權的服務帳戶,並為服務帳戶建立 HMAC 存取金鑰

  1. 前往 GCP IAM 主控台
  2. 按一下左側邊欄中的「服務帳戶」
  3. 按一下「建立服務帳戶」
  4. 輸入服務帳戶名稱,然後按一下「完成」
  5. 複製您剛建立的服務帳戶的電子郵件。您稍後會需要它。
  6. 前往 GCP Cloud Storage 主控台
  7. 按一下您稍早建立的儲存空間
  8. 按一下工具列中的「權限」
  9. 按一下「授予存取權」
  10. 將先前複製的服務帳戶電子郵件貼到「新增負責人」欄位中
  11. 從「選擇角色」下拉式選單中選取「儲存物件管理員」
  12. 按一下「儲存」
  13. 按一下左側邊欄中的「設定」(仍位於 Cloud Storage 主控台中)
  14. 按一下「相容性」標籤
  15. 按一下「建立服務帳戶金鑰」
  16. 選取先前建立的服務帳戶
  17. 按一下「建立金鑰」
  18. 複製存取金鑰和秘密存取金鑰,並將它們儲存在安全的地方。稍後會需要它們,而且無法再次擷取它們。

現在,前往 Deno Deploy 主控台,並按一下專案中的「KV」標籤。捲動到「備份」區段,並按一下「Google Cloud Storage」。輸入先前建立的儲存貯體名稱、存取金鑰 ID 和秘密存取金鑰,以及儲存貯體所在的區域。然後按一下「儲存」。

備份將會立即開始。資料備份完畢且連續備份已啟用後,您將會看到狀態變更為「已啟用」。

使用備份

S3 備份可以使用 denokv 工具。請參閱 文件 以取得更多詳細資訊。