Google Cloud 提供工具、產品、指南和專業服務,協助您將資料從 Amazon Simple Storage Service (Amazon S3) 遷移至 Cloud Storage。本文將說明如何設計、實作及驗證從 Amazon S3 遷移至 Cloud Storage 的計畫。本文說明整體遷移程序的一部分,也就是建立 Amazon S3 構件清單,並規劃如何處理遷移程序。
本文的討論內容適用於雲端管理員,旨在提供規劃及實作遷移程序的詳細資訊。此外,這份指南也適合評估遷移機會的決策人員,以及想瞭解遷移作業可能樣貌的使用者。
本文是從 AWS 遷移至Google Cloud 的系列文章之一,其他文章包括:
- 開始使用
- 從 Amazon EC2 遷移至 Compute Engine
- 從 Amazon S3 遷移至 Cloud Storage (本文)
- 從 Amazon EKS 遷移至 Google Kubernetes Engine
- 從 Amazon RDS 和 Amazon Aurora for MySQL 遷移至 MySQL 適用的 Cloud SQL
- 從 Amazon RDS 和 Amazon Aurora for PostgreSQL 遷移至 PostgreSQL 適用的 Cloud SQL 和 PostgreSQL 適用的 AlloyDB
- 從 SQL Server 適用的 Amazon RDS 遷移至 SQL Server 適用的 Cloud SQL
- 從 AWS Lambda 遷移至 Cloud Run
如要進行這項遷移作業,建議您按照「遷移至 Google Cloud:開始使用」一文所述的遷移架構操作。 Google Cloud
以下是遷移流程圖。
您可能會從來源環境遷移至 Google Cloud ,並進行一系列的疊代作業,例如先遷移部分工作負載,再遷移其他工作負載。針對每次個別的遷移疊代作業,您會遵循一般遷移架構的各個階段:
- 評估及探索工作負載和資料。
- 規劃並奠定 Google Cloud的基礎。
- 將工作負載和資料遷移至 Google Cloud。
- 最佳化 Google Cloud 環境。
如要進一步瞭解這個架構的各個階段,請參閱「遷移至 Google Cloud:開始使用」。
為設計有效的遷移計畫,建議您驗證計畫的每個步驟,並確保您有復原策略。如要驗證遷移計畫,請參閱「遷移至 Google Cloud:驗證遷移計畫的最佳做法」。
評估來源環境
在評估階段,您會決定將來源環境遷移至 Google Cloud的需求和依附元件。
評估階段是您能否成功遷移的關鍵。您必須深入瞭解要遷移的工作負載、工作負載的要求和依附元件,以及您目前的環境。此外,您還必須知道要從何踏出第一步,以成功規劃並執行 Google Cloud遷移作業。
評估階段包含下列工作:
- 建立鉅細靡遺的工作負載清單。
- 根據工作負載的屬性和依附元件將工作負載編目。
- 訓練並教導您的團隊使用 Google Cloud。
- 在 Google Cloud上建立實驗和概念驗證。
- 計算目標環境的總持有成本 (TCO)。
- 為工作負載選擇遷移策略。
- 選擇遷移工具。
- 定義遷移計畫和時程。
- 驗證遷移計畫。
如要進一步瞭解評估階段和這些工作,請參閱「遷移至 Google Cloud:評估及探索工作負載」。以下各節內容皆以該文件為依據。
建立 Amazon S3 儲存貯體清單
如要設定遷移範圍,請建立兩個清單:Amazon S3 值區清單,以及儲存在值區中的物件清單。
建立 Amazon S3 儲存貯體清單後,請考量每個 Amazon S3 儲存貯體的下列資料點,進一步完善清單:
- 您設定 Amazon S3 bucket 伺服器端加密的方式。
- Amazon S3 bucket 身分與存取權管理設定。
- S3 封鎖公開存取設定。
- Amazon S3 值區的任何費用分配標記。
- S3 物件鎖定設定。
- 存取 Amazon S3 值區的方式。
- 您設定「要求者付費」的方式。
- Amazon S3 物件版本管理設定。
- Amazon S3 的 AWS Backup 政策設定。
- 是否使用 Amazon S3 Intelligent-Tiering。
- 您為 Amazon S3 物件複製作業設定的內容。
- Amazon S3 物件生命週期。
此外,我們也建議您收集 Amazon S3 儲存貯體的資料,以便計算每個儲存貯體所含物件的匯總統計資料。舉例來說,如果您收集物件總大小、物件平均大小和物件計數,有助於估算從 Amazon S3 值區移轉至 Cloud Storage 值區所需的時間和費用。
如要建立 Amazon S3 值區的清查資料,並收集 Amazon S3 值區的資料點,您可以實作依據 AWS 工具的資料收集機制和程序,例如:
- Amazon S3 監控工具
- S3 Analytics
- AWS 多帳戶多區域資料匯總
- AWS API
- AWS 開發人員工具
- AWS 指令列介面
為避免遷移期間發生問題,並估算遷移所需的工作量,建議您評估 Amazon S3 值區功能如何對應至類似的 Cloud Storage 值區功能。下表彙整了這項對應關係。
如先前所述,比較上表列出的功能時,您可能會發現這些功能很相似。不過,這兩家雲端供應商的功能在設計和實作上有所差異,可能會對您從 Amazon S3 遷移至 Cloud Storage 造成重大影響。
建立 Amazon S3 物件中儲存的物件清單
建立 Amazon S3 值區的清單後,建議您使用 Amazon S3 清單工具,建立這些值區中儲存物件的清單。
如要建立 Amazon S3 物件的清單,請考量每個物件的下列事項:
- Amazon S3 物件名稱
- Amazon S3 物件大小
- Amazon S3 物件中繼資料
- Amazon S3 物件子資源
- Amazon S3 物件版本,以及是否需要遷移這些版本
- Amazon S3 物件預先簽署的 URL
- Amazon S3 物件轉換
- Amazon S3 物件標記
- Amazon S3 物件儲存空間級別
- 封存 Amazon S3 物件
此外,我們也建議您收集 Amazon S3 物件的相關資料,瞭解您和工作負載建立、更新及刪除 Amazon S3 物件的頻率。
為避免遷移期間發生問題,並協助您估算遷移所需的工作量,建議您評估 Amazon S3 物件功能如何對應至類似的 Cloud Storage 物件功能。下表彙整了這項對應關係。
Amazon S3 功能 | Cloud Storage 功能 |
---|---|
物件命名規則 | 物件名稱規定 |
物件中繼資料 物件標記 |
物件中繼資料 |
物件子資源 | 物件中繼資料 |
物件預先簽署的網址 | 已簽署的網址 |
物件轉換 | Cloud Storage 的 Pub/Sub 通知 Cloud Run 函式 Cloud Run |
物件
儲存空間類別 物件 封存 |
Cloud Storage 儲存空間類別 |
如先前所述,比較上表列出的功能時,您可能會發現這些功能很相似。不過,這兩家雲端供應商的功能在設計和實作上有所差異,可能會對您從 Amazon S3 遷移至 Cloud Storage 造成重大影響。
完成評估
從 Amazon S3 環境建構清單後,請按照「遷移至 Google Cloud:評估及探索工作負載」一文所述,完成評估階段的其餘活動。
規劃及建立基礎
在規劃和建構階段,您會佈建及設定基礎架構,以執行下列操作:
- 滿足環境中的工作負載需求。 Google Cloud
- 連線來源環境和 Google Cloud 環境,完成遷移作業。
規劃和建構階段包含下列工作:
- 建立資源階層。
- 設定 Google Cloud身分與存取權管理 (IAM)。
- 設定帳單資訊。
- 設定網路連線。
- 強化安全性。
- 設定記錄、監控和快訊功能。
如要進一步瞭解各項工作,請參閱「遷移至 Google Cloud:規劃及建構基礎」。
將資料和工作負載從 Amazon S3 遷移至 Cloud Storage
如要將資料從 Amazon S3 遷移至 Cloud Storage,建議您按照「遷移至 Google Cloud:移動大型資料集」一文的指引,設計資料遷移計畫。該文件建議使用 Storage 移轉服務,這項 Google Cloud 產品可讓您將資料從多個來源 (例如地端環境或其他雲端儲存空間供應商) 移轉至 Cloud Storage。Storage 移轉服務支援多種資料移轉工作,例如:
- 一次性移轉作業:可將資料從 Amazon S3 或其他支援的來源,隨選移轉至 Cloud Storage。
- 排定移轉作業:按照排定的時間,將資料從 Amazon S3 或其他支援的來源移轉至 Cloud Storage。
- 事件驅動的移轉工作:當 Amazon S3 將 Amazon S3 事件通知傳送至 Amazon Simple Queue Service (SQS) 時,系統會自動移轉資料。
如要實作資料遷移計畫,您可以設定一或多個資料轉移作業。舉例來說,如要縮短遷移期間的轉換空窗期,您可以實作持續複製資料遷移策略,如下所示:
- 設定一次性移轉工作,將資料從 Amazon S3 值區複製到 Cloud Storage 值區。
- 執行資料驗證和一致性檢查,比對 Amazon S3 值區中的資料和 Cloud Storage 值區中的複製資料。
- 設定事件導向移轉工作,在 Amazon S3 值區的內容變更時,自動將資料從 Amazon S3 值區移轉至 Cloud Storage 值區。
- 停止對要遷移的資料有存取權限的工作負載及服務 (亦即,前一個步驟所牽涉的資料)。
重構工作負載,改用 Cloud Storage 而非 Amazon S3。您可以採用下列其中一種做法,或依序使用這些做法,重構工作負載:
- 從 Amazon S3 輕鬆遷移至 Cloud Storage。 在簡易遷移模式下,您必須使用既有的工具和程式庫來產生經過驗證的 REST 要求,再將要求傳送到 Cloud Storage,這和您在使用 Amazon S3 時所採取的做法是一樣的。
- 從 Amazon S3 完整遷移至 Cloud Storage。 完整遷移後,您可以使用 Cloud Storage 的所有功能,包括多個專案和 OAuth 2.0 身分驗證。
等待複製作業完成,將 Cloud Storage 與 Amazon S3 完整同步。
啟動工作負載。
當您不再需要 Amazon S3 環境做為備用選項時,就淘汰它。
從支援的來源將物件遷移至 Cloud Storage 時,Storage 移轉服務可以保留特定中繼資料。建議您評估 Storage 移轉服務是否可以移轉您感興趣的 Amazon S3 中繼資料。
設計資料移轉計畫時,建議您一併評估 AWS 網路輸出費用和 Amazon S3 費用。舉例來說,您可以透過下列方式轉移資料:
- 透過公開網際網路。
- 使用互連連結。
- 使用 Amazon CloudFront。
您選擇的選項可能會影響 AWS 網路輸出費用和 Amazon S3 費用。這個選項也會影響您佈建及設定基礎架構所需的工作量和資源。如要進一步瞭解費用,請參閱下列資源:
- AWS 說明文件中的「瞭解資料移轉費用」
- Amazon S3 定價
從 Amazon S3 遷移資料至 Cloud Storage 時,建議您使用 VPC Service Controls 建構範圍,明確拒絕服務間的通訊,除非服務已獲得授權。 Google Cloud
最佳化環境 Google Cloud
最佳化是遷移的最後階段。在這個階段,您會反覆執行最佳化工作,直到目標環境符合最佳化需求為止。每次疊代的步驟如下:
- 評估目前的環境、團隊和最佳化迴圈。
- 建立最佳化需求和目標。
- 最佳化環境和團隊。
- 調整最佳化迴圈。
重複這個程序,直到達成最佳化目標為止。
如要進一步瞭解如何最佳化 Google Cloud 環境,請參閱「遷移至 Google Cloud:最佳化環境」和「Google Cloud 架構完善的架構:效能最佳化」。
後續步驟
- 瞭解其他 AWS 遷移至 Google Cloud 的歷程。
- 瞭解如何比較 AWS 和 Azure 服務與 Google Cloud。
- 瞭解何時應尋求遷移作業的相關協助。
- 如需更多參考架構、圖表和最佳做法,請瀏覽 Cloud 架構中心。
貢獻者
作者:Marco Ferrari | 雲端解決方案架構師