遷移實施
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
本文介紹將AWS S3中的數據遷移到阿里云對象存儲OSS的注意事項、遷移限制說明和操作步驟。
注意事項
使用在線遷移服務遷移數據時需要注意以下事項:
在線遷移服務使用源站存儲服務提供商公開的標準接口來訪問源數據,其行為依賴于源站存儲服務提供商的具體實現。
在線遷移會占用源地址和目的地址的資源,可能會影響業務正常運行。若您的業務比較重要,請提前做好評估后對遷移任務設置限速,或在空閑時間啟動遷移任務。
在線遷移前會檢查源地址和目的地址的文件,但是若您源和目的地址有相同文件名的文件,且在遷移任務中配置了覆蓋方式為覆蓋,遷移時會直接覆蓋目的地址的文件。若兩個文件內容不同,必須更改文件名或做好備份。
在線遷移會保留源文件的最后修改時間屬性,如果目的Bucket設置了生命周期規則,且遷移后文件處于該生命周期規則生效的時間范圍內,則該文件可能會在規則生效時被刪除或轉為指定的歸檔類型。
遷移限制說明
目前僅支持單次遷移單個Bucket數據,無法將整個賬號的數據一次性遷移。
AWS S3遷移數據的屬性說明如下:
支持遷移的屬性:x-amz-meta-*、LastModifyTime ,Content-Type,Cache-Control,Content-Encoding,Content-Disposition,Content-Language ,Expires。
不支持遷移的屬性(包括但不限于):StorageClass、Acl、服務端加密、標簽Tagging等。
說明不支持遷移的屬性包括但不限于以上列舉的內容,其他未列舉的屬性行為暫無法確定,以實際遷移完成的內容為準。
關于如火山引擎(TOS)、網易云等不兼容 S3 接口的數據源,可能會導致遷移失敗并產生不可預測的問題,建議可通過HTTP方式進行遷移。
步驟一:選擇地域
使用創建的RAM用戶登錄阿里云在線遷移服務管理控制臺。
在頂部菜單欄左上角處的地域選擇代表“遷移服務部署地域”,因此請選擇數據源所在地域或距離數據源最近的地域,如下圖所示。
控制臺上方所選地域(代表在線遷移服務的部署地域),中國內地地域包含北京、上海、杭州、深圳、烏蘭察布,其他地域包含中國香港、新加坡、德國(法蘭克福)、美國(弗吉尼亞)。
重要不同地域內的數據地址和遷移任務不通用,請謹慎選擇。
優先選擇源數據所在的地域,如果沒有源數據所在地對應的地域,請盡可能選擇接近源數據所在的地域創建遷移任務。
跨境遷移時,推薦您開啟傳輸加速,提高遷移速度。開啟了傳輸加速的Bucket會收取傳輸加速費用。關于傳輸加速的更多信息,請參見傳輸加速。
步驟二:創建源地址
在左側導航欄,選擇在線遷移服務 > 地址管理,單擊新建地址。
在創建數據地址頁面,配置如下參數,然后單擊確認。
參數
是否必選
說明
名稱
是
輸入源數據地址名稱。名稱命名規則如下:
名稱不能為空,長度為3~63個字符。
支持英文小寫字母、數字和特殊字符短劃線(-)和下劃線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和下劃線(_)開頭。
類型
是
選擇AWS S3。
域名
是
輸入AWS S3的訪問域名。更多信息,請參見Amazon S3終端節點。
AccessKeyId
是
輸入創建的IAM用戶的訪問密鑰,用于AWS S3進行身份識別,確認該用戶是否有讀取源數據的權限。
SecretAccessKey
是
存儲桶(Bucket)
是
輸入待遷移數據所在的AWS S3存儲桶名稱。
說明存儲桶名稱要求開頭和結尾不帶空格、換行、制表符等非法字符。
前綴
否
您可以指定數據路徑前綴遷移部分數據。
指定前綴:遷移指定目錄(前綴)下的數據。格式要求不能以正斜線(/)開頭,必須以正斜線(/)結尾。
不指定前綴:遷移整個Bucket中的數據。
通道
否
選擇需要使用的通道名稱。
重要僅通過專線或VPN遷移數據上云、自建存儲數據遷移上云需要使用該參數。
目的數據地址是LOCALFS的以及需要走專線(金融云、專有云等)的場景需要關聯代理。
代理
否
選擇需要使用的代理名稱。
重要僅通過專線或VPN遷移數據上云、自建存儲數據遷移上云需要使用該參數。
指定通道下,最多可同時選擇30個代理。
步驟三:創建目的地址
在左側導航欄,選擇在線遷移服務 > 地址管理,單擊新建地址。
在新建地址面板,配置如下參數,然后單擊確定。
名稱不能為空,長度為3~63個字符。
支持英文小寫字母、數字和特殊字符短劃線(-)和下劃線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和下劃線(_)開頭。
目的Bucket歸屬于在線遷移控制臺賬號
目的Bucket不屬于在線遷移控制臺賬號
指定前綴:例如源數據地址前綴為
example/src/
,此路徑下有文件example.jpg,設置目的數據地址前綴為example/dest/
,則遷移后文件example.jpg的完整路徑為example/dest/example.jpg
。不指定前綴:不設置數據路徑前綴時,會將源數據遷移至目的Bucket的根目錄。
僅通過專線或VPN遷移數據上云、自建存儲數據遷移上云需要使用該參數。
目的數據地址是LOCALFS的以及需要走專線(金融云、專有云等)的場景需要關聯代理。
僅通過專線或VPN遷移數據上云、自建存儲數據遷移上云需要使用該參數。
指定通道下,最多可同時選擇30個代理。
參數 | 是否必選 | 說明 |
名稱 | 是 | 輸入目的數據地址名稱。名稱命名規則如下: |
類型 | 是 | 選擇Alibaba OSS。 |
自定義域名 | 否 | 支持用戶的自定義域名 |
地域 | 是 | 選擇目的地址所在的地域,例如華東1(杭州)。 |
授權角色 | 是 | |
存儲桶(Bucket) | 是 | 輸入當前控制臺所在賬號下遷移后數據所在的存儲桶(Bucket)名稱。 |
前綴 | 否 | 您可以指定數據路徑前綴將源數據遷移至指定目錄下。格式要求不能以正斜線(/)開頭,必須以正斜線(/)結尾,例如 |
通道 | 否 | 選擇需要使用的通道名稱。 重要 |
代理 | 否 | 選擇需要使用的代理名稱。 重要 |
步驟四:創建遷移任務
遷移任務并發數量限制:遷移服務部署地域每個地域最多支持5個任務并發,超出限制后可能導致定時任務調度無法按預期執行。
在左側導航欄,選擇在線遷移服務 > 遷移任務,單擊新建任務。
在選擇地址頁面,配置如下參數,然后單擊下一步。
參數
是否必選
說明
名稱
是
輸入遷移任務名稱。名稱命名規則如下:
名稱不能為空,長度為3~63個字符。
支持英文小寫字母、數字和特殊字符短劃線(-)和下劃線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和下劃線(_)開頭。
源地址
是
選擇已創建的源地址。
目的地址
是
選擇已創建的目的地址。
在配置任務頁面,配置如下參數。
參數
是否必選
說明
遷移帶寬
否
選擇遷移帶寬。
默認:默認最大帶寬,實際速度取決于文件大小和文件數量。
指定上限:根據控制臺提示指定具體的帶寬上限。
重要實際遷移帶寬與數據源、網絡、目的限流、文件大小等因素有關,不一定能達到指定上限。
請您評估數據源、遷移目的、業務情況、網絡帶寬等,并根據實際情況選擇合理數值,限流不恰當可能會影響業務的正常運行。
每秒遷移文件數
否
選擇每秒遷移文件數。
默認:每秒遷移文件數。
指定上限:根據控制臺提示指定具體的每秒遷移文件數。
重要實際遷移帶寬與數據源、網絡、目的限流、文件大小等因素有關,不一定能達到指定上限。
請您評估數據源、遷移目的、業務情況、網絡帶寬等,并根據實際情況選擇合理數值,限流不當可能會影響業務的正常運行。
覆蓋方式
否
選擇同名文件的覆蓋方式。
不覆蓋:不遷移該文件。
全部覆蓋:源地址中的文件會覆蓋目的地址中的文件。
根據最后修改時間覆蓋:
當源地址中的文件最后修改時間晚于目的地址中的文件最后修改時間時,目的地址中的文件會被覆蓋。
當源地址中的文件最后修改時間與目的地址中的文件最后修改時間相同時,若二者的Size和Content-Type有一項不同,則目的地址中的文件會被覆蓋。
根據最后修改時間覆蓋無法嚴格保證一定不會覆蓋更新的文件,存在舊文件覆蓋新文件的風險。
若您選擇根據最后修改時間覆蓋的覆蓋方式,請務必確保源端文件能返回最后修改時間、Size、Content-Type等信息,否則覆蓋策略可能失效,產生非預期的遷移結果。
選擇不覆蓋或根據最后修改時間覆蓋時,為執行后續覆蓋判斷,會分別請求源端和目的端meta信息一次,因此會在源端和目的端產生對應的請求費用。
警告遷移報告
是
遷移報告推送方式。
不推送(默認):不推送遷移報告至目的bucket。
推送:將遷移報告推送至目的bucket,詳細路徑請參考后續操作。
重要遷移報告推送會占用目的端一定的存儲空間。
遷移報告的推送可能會存在一定的時間延遲,請您耐心等待遷移報告的生成。
每個任務執行記錄都有一個唯一的ID,請注意,遷移報告只會推送一次,請謹慎刪除!
遷移日志
是
遷移日志推送方式。
不推送(默認):不推送遷移日志。
推送:將遷移日志推送至日志服務SLS,可在SLS上查看遷移日志。
僅推送文件錯誤日志:僅將錯誤遷移日志推送至日志服務SLS,可在SLS上查看錯誤遷移日志。
當選擇推送或僅推送文件錯誤日志時,在線遷移服務會在日志服務SLS中創建名稱為aliyun-oss-import-log-阿里云賬號ID-當前遷移服務部署地域的Project,例如aliyun-oss-import-log-137918634953****-cn-hangzhou。
重要請務必完成以下操作后,再選擇推送或僅推送文件錯誤日志,否則可能會導致遷移任務異常。
已開通SLS服務。
已在日志服務授權項授權頁面中同意授權。
日志服務授權
否
當遷移日志選擇推送或僅推送文件錯誤日志時出現該選項。
單擊授權進入云資源訪問授權頁面,頁面會對應創建AliyunOSSImportSlsAuditRole角色,并對角色做授權,請單擊同意授權完成授權。
文件名
否
文件名過濾器。
支持包含和排除兩種過濾規則,請參見RE2庫的正則表達式語法(僅支持部分表達式語法)。例如:
.*\.jpg$表示以.jpg結尾的所有文件。
^file.*默認表示根目錄下以file開頭的所有文件。
如果源數據地址設置了前綴,例如源數據地址前綴為data/to/oss/,則需要使用^data/to/oss/file.*來匹配指定前綴下以file開頭的所有文件。
.*/picture/.*表示匹配某一級為picture的子目錄。
重要當過濾規則為包含時,符合規則的文件都會被遷移,如果有多條規則,符合任意一個條件的文件都會被遷移。
例如2個文件picture.jpg和picture.png,設置一條包含規則過濾.*\.jpg$,此時只會遷移picture.jpg文件,如果同時也設置了包含規則過濾.*\.png$,則2個文件都會被遷移。
當過濾規則為排除時,符合規則的文件都不會被遷移,如果有多條規則,符合任意一個條件的文件都不會被遷移。
例如2個文件picture.jpg和picture.png,設置一條排除規則過濾.*\.jpg$,此時只會遷移picture.png,如果同時也設置了排除規則過濾.*\.png$,則2個文件都不會被遷移。
排除規則優先。當一個文件既在排除規則中又在包含規則中,則文件不會被遷移。
例如文件file.txt,設置排除規則過濾.*\.txt$文件,并同時設置包含規則過濾file.*,則此時file.txt文件不會被遷移。
文件修改時間
否
文件最后一次修改時間過濾器。
可指定文件最后一次修改時間作為過濾規則。如果指定了時間范圍,則只遷移文件最后一次修改時間在指定時間范圍內的文件,具體規則如下。
當僅指定開始時間為2019年01月01日,不指定結束時間時,則只遷移文件最后一次修改時間晚于等于2019年01月01日的文件。
當僅指定結束時間為2022年01月01日,不指定開始時間時,則只遷移文件最后一次修改時間早于等于2022年01月01日的文件。
當指定開始時間為2019年01月01日,結束時間為2022年01月01日,則遷移文件最后一次修改時間范圍在晚于等于2019年01月01日,且早于等于2022年01月01日的文件。
執行時間
否
重要正在遷移中的任務,在下一個指定時間前仍未結束本輪遷移,則會在本輪遷移結束后,自動順延至下一個指定時間啟動任務,直至完成指定次數的遷移。
遷移任務并發數量限制:遷移服務部署地域選擇中國香港或中國內地時最多支持10個任務并發,選擇海外地域時最多支持5個,超出限制后可能導致定時任務調度無法按預期執行。
確定遷移任務的執行時間。
立即執行:立即執行當前任務。
指定執行時間:指定任務執行期間每天的執行時間段。默認情況下,任務將在指定的起始時間啟動,在指定的停止時間暫停。
周期調度:通過調整執行頻率和執行次數來啟動任務。
執行頻率:支持以每小時、每天、每周、一周中某些天、自定義等5種頻率,具體請查看執行頻率參考。
執行次數:指定任務的執行次數,如不設置則默認執行一次,最大執行次數請參考控制臺提示。
重要可隨時手動啟動和暫停任務,不受自定義執行時間的影響。
閱讀在線遷移服務協議,選中我已理解并確認,合規承諾聲明且當遷移任務完成時,我有確認遷移數據一致性的義務和責任,然后單擊下一步。
檢查配置信息,確認無誤后,單擊確定,等待遷移任務執行。
執行頻率參考
執行頻率 | 說明 | 示例 |
每小時 | 選擇以每小時為頻率,可搭配執行次數一起使用。 | 當前時間為8:05分,指定每小時為頻率,執行3次任務,則會在下一個整點9點鐘開始第一次任務。
|
每天 | 選擇以每天為頻率時,需設置0~23小時中任意整點時間啟動任務,可搭配執行次數一起使用。 | 當前時間為8:05分,指定每天10點,執行5次,會在當天10點開始第一次任務。
|
每周 | 選擇每周時,需指定周內任意一天,并設置0~23小時中任意整點時間啟動任務,可搭配執行次數一起使用。 | 當前時間為周一8:05分,指定每周一的10點,執行10次,則會在當天10點時開始第一次任務。
|
一周中某些天 | 選擇一周中某些天時,支持選擇周內任意幾天,并設置0~23小時中任意整點時間啟動任務。 | 當前為周三8:05,指定每周一、三、五的10點,則會在當天的10點時開始第一次任務。
|
自定義 | 使用Cron表達式自定義設置任務啟動時間。 | 說明 Cron表達式由6個字段組成,每個字段之間使用空格分隔,依次表示任務的執行時間規則:秒 分鐘 小時 日 月 星期。 以下Cron表達式示例僅供參考,更多請參照Cron表達式生成器:
|
步驟五:校驗數據
遷移服務僅負責數據的遷移,無法保證數據的一致性和完整性。遷移任務完成后,請您全量校驗遷移的數據,務必自行做好源端和目的端數據一致性校驗。
請您務必在遷移任務完成后,校驗目的端遷移數據。您在刪除源數據前,未校驗目的端遷移數據無誤,導致數據丟失所引起的一切損失和后果均由您自行承擔。