

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

# 使用 Amazon EFS 設定 AWS DataSync 傳輸
<a name="create-efs-location"></a>

若要在 Amazon EFS 檔案系統之間傳輸資料，您必須建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供對 Amazon EFS 檔案系統的 DataSync 存取權
<a name="create-efs-location-access"></a>

[建立位置](#create-efs-location-how-to)涉及了解 DataSync 如何存取您的儲存體。對於 Amazon EFS，DataSync 會使用[網路介面](required-network-interfaces.md)，將檔案系統掛載為虛擬私有雲端 (VPC) 的根使用者。

**Contents**
+ [判斷掛載目標的子網路和安全群組](#create-efs-location-mount-target)
+ [存取受限檔案系統](#create-efs-location-iam)
  + [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)
  + [允許 DataSync 存取的檔案系統政策範例](#create-efs-location-iam-policy)

### 判斷掛載目標的子網路和安全群組
<a name="create-efs-location-mount-target"></a>

建立位置時，您可以指定允許 DataSync 連線到其中一個 Amazon EFS 檔案系統[掛載目標](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)的子網路和安全群組。

您指定的子網路必須位於：
+ 在與檔案系統相同的 VPC 中。
+ 在與 檔案系統至少有一個掛載目標相同的可用區域中。

**注意**  
您不需要指定包含檔案系統掛載目標的子網路。

您指定的安全群組必須允許網路檔案系統 (NFS) 連接埠 2049 上的傳入流量。如需建立和更新掛載目標安全群組的詳細資訊，請參閱 [https://docs.aws.amazon.com/efs/latest/ug/network-access.html](https://docs.aws.amazon.com/efs/latest/ug/network-access.html)。

**指定與掛載目標相關聯的安全群組**  
您可以指定與檔案系統掛載目標之一相關聯的安全群組。從網路管理的角度來看，我們建議使用此方法。

**指定未與掛載目標相關聯的安全群組**  
您也可以指定與檔案系統掛載目標之一沒有關聯的安全群組。不過，此安全群組必須能夠與掛載目標的安全群組通訊。  
例如，以下說明如何在安全群組 D （適用於 DataSync) 和安全群組 M （適用於掛載目標） 之間建立關係：  
+ 您在建立位置時指定的安全群組 D 必須具有規則，允許 NFS 連接埠 2049 與安全群組 M 的傳出連線。
+ 您與掛載目標相關聯的安全群組 M 必須允許來自安全群組 D 的 NFS 連接埠 2049 傳入存取。

**尋找掛載目標的安全群組**

下列指示可協助您識別您希望 DataSync 用於傳輸的 Amazon EFS 檔案系統掛載目標的安全群組。

1. 在 中 AWS CLI，執行下列`describe-mount-targets`命令。

   ```
   aws efs describe-mount-targets \
       --region file-system-region  \
       --file-system-id file-system-id
   ```

   此命令會傳回檔案系統掛載目標的相關資訊 （類似下列範例輸出）。

   ```
   {
       "MountTargets": [
           {
               "OwnerId": "111222333444",
               "MountTargetId": "fsmt-22334a10",
               "FileSystemId": "fs-123456ab",
               "SubnetId": "subnet-f12a0e34",
               "LifeCycleState": "available",
               "IpAddress": "11.222.0.123",
               "NetworkInterfaceId": "eni-1234a044"
           }
       ]
   }
   ```

1. 請記下您要使用`MountTargetId`的值。

1. 使用 執行下列`describe-mount-target-security-groups`命令`MountTargetId`，以查看掛載目標的安全群組。

   ```
   aws efs describe-mount-target-security-groups \
       --region file-system-region \
       --mount-target-id mount-target-id
   ```

您可以在[建立位置](#create-efs-location-how-to)時指定此安全群組。

### 存取受限檔案系統
<a name="create-efs-location-iam"></a>

DataSync 可以在限制透過[存取點](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)和 [IAM 政策](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html)存取的 Amazon EFS 檔案系統之間傳輸。

**注意**  
如果 DataSync 透過[強制執行使用者身分](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html#enforce-identity-access-points)的存取點存取目的地檔案系統，則如果您設定 DataSync 任務來[複製擁有](configure-metadata.md)權，則不會保留來源資料的 POSIX 使用者和群組 IDs。反之，傳輸的檔案和資料夾會設定為存取點的使用者和群組 IDs。發生這種情況時，任務驗證會失敗，因為 DataSync 偵測到來源和目的地位置中的中繼資料不相符。

**Contents**
+ [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)
+ [允許 DataSync 存取的檔案系統政策範例](#create-efs-location-iam-policy)

#### 建立用於檔案系統存取的 DataSync IAM 角色
<a name="create-efs-location-iam-role"></a>

如果您有限制透過 IAM 政策存取的 Amazon EFS 檔案系統，您可以建立 IAM 角色，提供 DataSync 許可，以便從檔案系統讀取或寫入資料。然後，您可能需要在[檔案系統政策](#create-efs-location-iam-policy)中指定該角色。

**建立 DataSync IAM 角色**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選擇**角色**，然後選擇**建立角色**。

1. 在**選取信任的實體**頁面上，針對**信任的實體類型**，選擇**自訂信任政策**。

1. 將下列 JSON 貼到政策編輯器中：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
               "Service": "datasync.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

------

1. 選擇**下一步**。在 **Add permissions** (新增許可) 頁面上，選擇 **Next** (下一步)。

1. 為您的角色命名，然後選擇**建立角色**。

您可以在[建立位置](#create-efs-location-how-to)時指定此角色。

#### 允許 DataSync 存取的檔案系統政策範例
<a name="create-efs-location-iam-policy"></a>

下列範例檔案系統政策顯示如何限制對 Amazon EFS 檔案系統的存取 （在政策中識別為 `fs-1234567890abcdef0`)，但仍允許透過名為 的 IAM 角色存取 DataSync`MyDataSyncRole`：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ExampleEFSFileSystemPolicy",
    "Statement": [{
        "Sid": "AccessEFSFileSystem",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/MyDataSyncRole"
        },
        "Action": [
            "elasticfilesystem:ClientMount",
            "elasticfilesystem:ClientWrite",
            "elasticfilesystem:ClientRootAccess"
        ],
        "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-1234567890abcdef0",
        "Condition": {
            "Bool": {
                "aws:SecureTransport": "true"
            },
            "StringEquals": {
                "elasticfilesystem:AccessPointArn": "arn:aws:elasticfilesystem:us-east-1:111122223333:access-point/fsap-abcdef01234567890"
            }
        }
    }]
}
```

------
+ `Principal` – 指定 [IAM 角色](#create-efs-location-iam)，提供 DataSync 存取檔案系統的許可。
+ `Action` – 提供 DataSync 根存取權，並允許讀取和寫入檔案系統。
+ `aws:SecureTransport` – 需要 NFS 用戶端在連線至檔案系統時使用 TLS。
+ `elasticfilesystem:AccessPointArn` – 僅允許透過特定存取點存取檔案系統。

## Amazon EFS 傳輸的網路考量事項
<a name="efs-network-considerations"></a>

搭配 DataSync VPCs 必須具有預設租用。不支援具有專用租用VPCs。

## Amazon EFS 傳輸的效能考量
<a name="efs-considerations"></a>

Amazon EFS 檔案系統的輸送量模式可能會影響傳輸期間和檔案系統在傳輸期間的效能。考慮下列各項：
+ 為了獲得最佳結果，我們建議您使用彈性輸送量模式。如果您不使用彈性輸送量模式，則傳輸可能需要更長的時間。
+ 如果您使用爆量輸送量模式，檔案系統應用程式的效能可能會受到影響，因為 DataSync 會使用檔案系統爆量額度。
+ 如何[設定 DataSync 來驗證傳輸的資料](configure-data-verification-options.md)可能會影響檔案系統效能和資料存取成本。

如需詳細資訊，請參閱《[Amazon Elastic File System 使用者指南》中的 Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html)和 [Amazon EFS 定價](https://aws.amazon.com/efs/pricing/)頁面。 *Amazon Elastic File System * 

## 建立 Amazon EFS 轉移位置
<a name="create-efs-location-how-to"></a>

若要建立傳輸位置，您需要現有的 Amazon EFS 檔案系統。如果您沒有 Amazon [ EFS，請參閱《Amazon Elastic File System 使用者指南](https://docs.aws.amazon.com/efs/latest/ug/getting-started.html)*Amazon Elastic File System *EFS 入門。

### 使用 DataSync 主控台
<a name="create-efs-location-how-to-console"></a>

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

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**位置**和**建立位置**。

1. 針對**位置類型**，選擇 **Amazon EFS 檔案系統**。

   您稍後會將此位置設定為來源或目的地。

1. 針對**檔案系統**，選擇您要用作位置的 Amazon EFS 檔案系統。

1. 針對**掛載路徑**，輸入 Amazon EFS 檔案系統的掛載路徑。

   這會指定 DataSync 在檔案系統上讀取或寫入資料的位置 （取決於這是來源或目的地位置）。

   根據預設，DataSync 會使用根目錄 （如果您為 EFS [存取點](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)設定提供存取點）。 **EFS ** 您也可以使用斜線指定子目錄 （例如，`/path/to/directory`)。

1. 針對**子網路**，選擇您希望 DataSync 建立[網路介面](required-network-interfaces.md)以管理資料傳輸流量的子網路。

   子網路必須位於：
   + 在與檔案系統相同的 VPC 中。
   + 在與至少一個檔案系統掛載目標相同的可用區域中。
**注意**  
您不需要指定包含檔案系統掛載目標的子網路。

1. 針對**安全群組**，選擇與 Amazon EFS 檔案系統掛載目標相關聯的安全群組。您可以選擇多個安全群組。
**注意**  
您指定的安全群組必須允許 NFS 連接埠 2049 上的傳入流量。如需詳細資訊，請參閱[判斷掛載目標的子網路和安全群組](#create-efs-location-mount-target)。

1. 對於**傳輸中加密**，選擇您是否希望 DataSync 在將資料傳輸至檔案系統或從檔案系統傳輸資料時使用 Transport Layer Security (TLS) 加密。
**注意**  
您必須啟用此設定，以使用 Amazon EFS 位置設定存取點、IAM 角色或兩者。

1. （選用） 針對 **EFS 存取點**，選擇 DataSync 可用來掛載檔案系統的存取點。

   如需詳細資訊，請參閱[存取受限檔案系統](#create-efs-location-iam)。

1. （選用） 對於 **IAM 角色**，指定允許 DataSync 存取檔案系統的角色。

   如需有關建立此角色的詳細資訊，請參閱 [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)。

1. （選用） 選取**新增標籤**以標記您的檔案系統。

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

1. 選擇**建立位置**。

### 使用 AWS CLI
<a name="create-location-efs-cli"></a>

1. 複製下列`create-location-efs`命令：

   ```
   aws datasync create-location-efs \
       --efs-filesystem-arn 'arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id' \
       --subdirectory /path/to/your/subdirectory \
       --ec2-config SecurityGroupArns='arn:aws:ec2:region:account-id:security-group/security-group-id',SubnetArn='arn:aws:ec2:region:account-id:subnet/subnet-id' \
       --in-transit-encryption TLS1_2 \
       --access-point-arn 'arn:aws:elasticfilesystem:region:account-id:access-point/access-point-id' \
       --file-system-access-role-arn 'arn:aws:iam::account-id:role/datasync-efs-access-role
   ```

1. 針對 `--efs-filesystem-arn`，指定您要從中轉移之 Amazon EFS 檔案系統的 Amazon Resource Name (ARN)。

1. 針對 `--subdirectory`，指定檔案系統的掛載路徑。

   這是 DataSync 在檔案系統上讀取或寫入資料 （取決於這是來源或目的地位置） 的位置。

   根據預設，DataSync 會使用根目錄 （如果您提供 ，則為[存取點](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)`--access-point-arn`)。您也可以使用斜線指定子目錄 （例如，`/path/to/directory`)。

1. 針對 `--ec2-config`，請執行下列作業：
   + 針對 `SecurityGroupArns`，指定與檔案系統掛載目標相關聯之安全群組的 ARN。您可以指定多個安全群組。
**注意**  
您指定的安全群組必須允許 NFS 連接埠 2049 上的傳入流量。如需詳細資訊，請參閱[判斷掛載目標的子網路和安全群組](#create-efs-location-mount-target)。
   + 針對 `SubnetArn`，指定您希望 DataSync 建立[網路介面](required-network-interfaces.md)以管理資料傳輸流量的子網路 ARN。

     子網路必須位於：
     + 在與檔案系統相同的 VPC 中。
     + 在與至少一個檔案系統掛載目標相同的可用區域中。
**注意**  
您不需要指定包含檔案系統掛載目標的子網路。

1. 對於 `--in-transit-encryption`，指定您是否希望 DataSync 在將資料傳輸至檔案系統或從檔案系統傳輸資料時使用 Transport Layer Security (TLS) 加密。
**注意**  
您必須將此設定為 ，`TLS1_2`以使用 Amazon EFS 位置設定存取點、IAM 角色或兩者。

1. （選用） 針對 `--access-point-arn`，指定 DataSync 可用來掛載檔案系統的存取點 ARN。

   如需詳細資訊，請參閱[存取受限檔案系統](#create-efs-location-iam)。

1. （選用） 針對 `--file-system-access-role-arn`，指定允許 DataSync 存取檔案系統的 IAM 角色 ARN。

   如需有關建立此角色的詳細資訊，請參閱 [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)。

1. 執行 `create-location-efs` 命令。

   如果命令成功，您會收到回應，顯示您建立位置的 ARN。例如：

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:111222333444:location/loc-0b3017fc4ba4a2d8d"
   }
   ```