建立 Amazon S3 位置AWS DataSync - AWS DataSync

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

建立 Amazon S3 位置AWS DataSync

是 Amazon S3 儲存貯體的端點。 AWS DataSync可以使用該位置作為複製資料的來源或目的地。

在建立位置之前,請確定您了解存取儲存貯體的 DataSync 需求、Amazon S3 儲存類別的運作方式,以及 Amazon S3 傳輸獨有的其他考量。

存取 S3 儲存貯體

DataSync 需要存取您的 Amazon S3 儲存貯體。若要這麼做,請 DataSync 假設具有 IAM 政策和AWS Identity and Access Management () 信任關係的AWS Security Token Service (IAMAWS STS) 角色。政策決定角色可以執行的動作。

DataSync 可以為您建立此角色,但在某些情況下,您可能需要手動建立角色。如需詳細資訊,請參閱使用 IAM 政策存取您的 S3 儲存貯體

Amazon S3 位置的儲存類別考量

DataSync 可以將物件直接傳輸到您在建立 Amazon S3 位置時指定的 Amazon S3 儲存類別。有些儲存方案的行為可能會影響 Amazon S3 儲存成本。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價

重要

複製到 S3 儲存貯體的新物件會使用您在建立 Amazon S3 位置時指定的儲存類別來存放。 DataSync 不會變更值區中現有物件的儲存空間類別 (即使該物件已在來源位置修改過)。

Amazon S3 儲存類別 考量事項
S3 Standard 選擇 S3 標準,將經常存取的檔案以冗餘方式存放在多個不同地理位置的可用區域。如果您不指定儲存方案,則這是預設值。
S3 Intelligent-Tiering

選擇 S3 Intelligent-Tiering (S3 智慧型分層),自動將資料移至最經濟實惠的儲存存取層,以最佳化儲存成本。

您每個存放在 S3 Intelligent-Tiering 儲存類別中的物件支付每個費用。此 Amazon S3 費用包括監控資料存取模式以及在不同層之間移動物件。

S3 標準 – IA

選擇 S3 標準 — IA,將不常存取的物件以冗餘方式存放在多個不同地理位置的可用區域中。

存放在 S3 標準 — IA 儲存類別的物件會針對覆寫、刪除或擷取產生額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度,以及需要存取這些物件的頻率。對物件資料或詮釋資料的變更等同於刪除物件並建立新物件來取代它。如此會導致存放在 S3 標準 — IA 儲存類別中的物件收取額外費用。

小於 128 KB 的物件會比 S3 標準 — IA 儲存類別中的每個物件所支付的容量下限。這些物件會存放在 S3 標準儲存類別中。

S3 單區域 – IA

選擇 S3 單區域 — IA,將不常存取的物件存放在單一可用區域。

存放在 S3 單區域 — IA 儲存類別的物件會針對覆寫、刪除或擷取產生額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度,以及需要存取這些物件的頻率。對物件資料或詮釋資料的變更等同於刪除物件並建立新物件來取代它。如此會導致存放在 S3 單區域 — IA 儲存體方案中的物件收取額外費用。

小於 128 KB 的物件會小於 S3 單區域 — IA 儲存類別中的每個物件的容量下限。這些物件會存放在 S3 標準儲存類別中。

S3 Glacier Instant Retrieval

選擇 S3 Glacier 即時擷取以封存很少存取但需要擷取的物件 (以毫秒為單位)。

與具有相同延遲和輸送量效能的 S3 標準 — IA 儲存類別,存放在 S3 Glacier Instant Restrators 類別中的資料可節省成本。S3 Glacier Instant Restant Restant Restant 檔案存取成本高於 S3 標準 — IA。

存放在 S3 Glacier Instant Reteble 檔案中的物件,可能會產生覆寫、刪除或擷取的額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度,以及需要存取這些物件的頻率。對物件資料或詮釋資料的變更等同於刪除物件並建立新物件來取代它。如此會導致存放在 S3 Glacier Instant Reteve 儲存類別中的物件所產生的額外費用。

小於 128 KB 的物件,會小於 S3 Glacier Instant Restrators 儲存類別中的每個物件的最低容量費用。這些物件會存放在 S3 標準儲存類別中。

S3 Glacier Flexible Retrieval

選擇 S3 Glacier Flexible ReRetection,以獲得更多

存放在 S3 Glacier Flexible Reteve 的物件會產生覆寫、刪除或擷取的費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度,以及需要存取這些物件的頻率。對物件資料或詮釋資料的變更等同於刪除物件並建立新物件來取代它。如此會導致存放在 S3 Glacier Flexible Reteve 儲存類別中的物件收取額外費用。

小於 40 KB 的物件,會小於 S3 Glacier Flexible Restrators 儲存類別中的每個物件的最低容量費用。這些物件會存放在 S3 標準儲存類別中。

您必須先還原在此儲存類別中封存的物件,才 DataSync 能讀取它們。如需詳細資訊,請參閱 Amazon S3 使用者指南中的使用存檔物件

使用 S3 Glacier 彈性擷取時,請選擇僅驗證傳輸的資料任務選項,以在傳輸結束時比較資料和中繼資料總和檢查。您無法針對此儲存類別使用 [驗證目的地中的所有資料] 選項,因為它需要從目的地擷取所有現有物件。

S3 Glacier Deep Archive

選擇 S3 Glacier Deep Archive 來存檔您的物件,以便長期保留資料,以及每年存取一次或兩次資料的數位保留。

存放在 S3 Glacier Deep Archive 的物件會產生覆寫、刪除或擷取的額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度,以及需要存取這些物件的頻率。對物件資料或詮釋資料的變更等同於刪除物件並建立新物件來取代它。如此會導致存放在 S3 Glacier Deep Archive 儲存類別中的物件收取額外費用。

小於 40 KB 的物件會小於 S3 Glacier Deep Archive 儲存類別中每個物件的最低容量費用。這些物件會存放在 S3 標準儲存類別中。

您必須先還原在此儲存類別中封存的物件,才 DataSync 能讀取它們。如需詳細資訊,請參閱 Amazon S3 使用者指南中的使用存檔物件

使用 S3 Glacier Deep Archive 時,請選擇僅驗證傳輸的資料傳輸任務選項,以比較傳輸結束時的資料和中繼資料總和檢查碼。您無法針對此儲存類別使用 [驗證目的地中的所有資料] 選項,因為它需要從目的地擷取所有現有物件。

S3 Outposts

Amazon S3 on Outposts 的儲存類別。

Amazon S3 位置的其他考量

搭配使用 Amazon S3 時 DataSync,請記住以下事項:

  • 對物件資料或中繼資料的變更等同於刪除和取代物件。這些變更會在下列情況下產生額外費用:

    • 使用物件版本管理時 — 對物件資料或中繼資料的變更會建立物件的新版本。

    • 使用可能產生覆寫、刪除或擷取物件的額外費用的儲存區類別時,變更物件資料或中繼資料會產生此類費用。如需詳細資訊,請參閱Amazon S3 位置的儲存類別考量

  • 在 Amazon S3 中使用物件版本控制時,執行 DataSync 任務一次可能會建立多個版本的 Amazon S3 物件。

  • 我們建議您為 S3 儲存貯體建立多部分上傳儲存貯體政策,以協助控制儲存成本。如需詳細資訊,請參閱 Amazon S3 使用者指南

建立位置

如需建立位置,您需要現有的 S3 儲存貯體。如果您沒有,請參閱 Amazon S3 使用者指南中的開始使用 Amazon S3

建立 Amazon S3 位置
  1. 開啟主AWS DataSync控台,網址為 https://console.aws.amazon.com/datasync/

  2. 前往「」頁面,然後選擇「建立地點」。

  3. 對於位置類型,請選擇 Amazon S3

  4. 對於 S3 儲存貯體,請選擇您要作為位置的儲存貯體。(稍後建立 DataSync 工作時,您可以指定此位置是來源位置還是目的地位置。)

    如果您的 S3 儲存貯體位於AWS Outposts資源上,您必須指定 Amazon S3 存取點。如需詳細資訊,請參閱 Amazon S3 使用者指南中的使用者指南中的使用 Amazon S3 存取點來管理資料存取。

  5. 對於 S3 儲存類別,請選擇您希望物件使用的儲存類別。

    如需詳細資訊,請參閱Amazon S3 位置的儲存類別考量。 DataSync 默認情況下,Amazon S3 Outposts 對 Amazon S3 使用 S3 Outposts 存儲類別。

  6. (僅限 Outposts 上的 Amazon S3) 對於代理程式,請在 Outpost 指定 DataSync 代理程式的 Amazon Resource Name (ARN)。

    如需詳細資訊,請參閱部署您的代理程式AWS Outposts

  7. 對於 F older,請在 S3 儲存貯體 DataSync 讀取或寫入 (視儲存貯體是來源還是目的地位置而定)。

    注意

    前置字元不能以斜線 (例如,/photos) 開頭,也不能包含連續的斜線,例如photos//2006/January

  8. 針對 IAM role (IAM 角色),執行以下其中一項作業:

    • 選擇自動產生, DataSync 以使用存取 S3 儲存貯體所需許可的 IAM 角色。

      如果 DataSync 先前為此 S3 儲存貯體建立 IAM 角色,則依預設會選擇該角色。

    • 選擇您建立的自訂 IAM 角色。如需詳細資訊,請參閱手動建立 IAM 角色以存取 Amazon S3 儲存貯體

  9. (選擇性) 選擇新增標籤來標記您的 Amazon S3 位置。

    標籤是協助您管理、篩選及搜尋位置的索引鍵/值組。

  10. 選擇 [建立地點]。

使用 IAM 政策存取您的 S3 儲存貯體

根據 S3 儲存貯體的安全設定,您可能需要建立允許 DataSync 存取儲存貯體的自訂 IAM 政策。

手動建立 IAM 角色以存取 Amazon S3 儲存貯體

雖然 DataSync 可以使用所需的 S3 儲存貯體許可為您建立 IAM 角色,但您也可以自行設定角色。

手動建立 IAM 角色以存取 Amazon S3 儲存貯體
  1. 前往網址 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在左側導覽窗格的 [存取管理] 下,選擇 [角色],然後選擇 [建立角色]。

  3. 在 [選取信任的實體] 頁面上,針對 [信任的實體類型] 選擇AWS 服務

  4. 對於使用案例,請DataSync在下拉式清單中選擇,然後選取 DataSync -S3 位置。選擇 Next (下一步)。

  5. 在 [新增權限] 頁面上,FullAccess針對中的 S3 儲存貯體選擇 Amazon S3AWS 區域。選擇 Next (下一步)。

    您可以手動建立比 AmazonS3 更嚴格的政策FullAccess。範例如下:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "YourS3BucketArn" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:GetObjectTagging", "s3:PutObjectTagging", "s3:PutObject" ], "Effect": "Allow", "Resource": "YourS3BucketArn/*" } ] }

    對於 Amazon S3 on Outposts,請使用下列政策:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3-outposts:ListBucket", "s3-outposts:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": [ "s3OutpostsBucketArn", "s3OutpostsAccessPointArn" ], "Condition": { "StringLike": { "s3-outposts:DataAccessPointArn": "s3OutpostsAccessPointArn" } } }, { "Action": [ "s3-outposts:AbortMultipartUpload", "s3-outposts:DeleteObject", "s3-outposts:GetObject", "s3-outposts:ListMultipartUploadParts", "s3-outposts:GetObjectTagging", "s3-outposts:PutObjectTagging" ], "Effect": "Allow", "Resource": [ "s3OutpostsBucketArn/*", "s3OutpostsAccessPointArn" ], "Condition": { "StringLike": { "s3-outposts:DataAccessPointArn": "s3OutpostsAccessPointArn" } } }, { "Effect": "Allow", "Action": [ "s3-outposts:GetAccessPoint" ], "Resource": "s3OutpostsAccessPointArn" } ] }
  6. 為您的角色命名,然後選擇 [建立角色]。

  7. 開啟主AWS DataSync控台,網址為 https://console.aws.amazon.com/datasync/

  8. 選取 IAM 角色設定旁邊的重新整理按鈕,然後選擇剛建立的角色。

防止跨服務混淆代理人問題

為了避免跨服務混淆的副問題,我們建議您在 IAM 角色的信任政策中使用aws:SourceArnaws:SourceAccount全域條件內容金鑰。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "aws:SourceArn": "arn:aws:datasync:us-east-2:123456789012:*" } } } ] }

使用 Server 加密存取 S3 儲存貯體

DataSync 可以將資料複製到使用伺服器端加密的 S3 儲存貯體或從其複製 值區使用的加密金鑰類型可決定您是否需要允許 DataSync 存取值區的自訂政策。

DataSync 搭配使用伺服器端加密的 S3 儲存貯體時,請記住下列事項:

  • 如果您的 S3 儲存貯體使用AWS受管金鑰加密,則預設情況下 DataSync 可以存取儲存貯體的物件 (如果所有資源都在相同的情況下)AWS 帳戶。

  • 如果您的 S3 儲存貯體使用客戶管理AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 加密,則金鑰的政策必須包含 DataSync 用於存取儲存貯體的 IAM 角色。

  • 如果您的 S3 儲存貯體使用客戶管理的 SSE-KMS 金鑰加密,並使用其AWS 帳戶他儲存貯體,則 DataSync 需要存取另一個儲存貯體中的存取權限AWS 帳戶。您可以通過執行以下操作來進行設置:

  • 如果 S3 儲存貯體使用客戶提供的加密金鑰 (SSE-C) 進行加密, DataSync無法存取此儲存貯體。

下列範例是客戶管理的 SSE-KMS 金鑰的金鑰則。政策與使用伺服器端加密的 S3 儲存貯體相關聯。下列為您的設定所特有的值:

  • 您的帳戶 — 您的AWS 帳戶.

  • your-admin-role— 可以管理金鑰的 IAM 角色。這也可以是 IAM 使用者。)

  • your-datasync-role— 存取儲存貯體時 DataSync 允許使用金鑰的 IAM 角色。

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:role/your-admin-role" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:role/your-datasync-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey", "kms:GetPublicKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:role/your-datasync-role" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }