

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Transfer Family を使用したデータ転送
<a name="using-aws-transfer-integration"></a>

AWS Transfer Family は、次のプロトコルを使用して Amazon EFS ファイルシステムとの間でファイルを転送するために使用できるフルマネージド AWS サービスです。
+  Secure Shell (SSH) File Transfer Protocol (SFTP) (AWS Transfer for SFTP)
+ File Transfer Protocol Secure (FTPS) (AWS Transfer for FTPS)
+ ファイル転送プロトコル (FTP) (AWS Transfer for FTP)

Transfer Familyを使用すると、インフラストラクチャを管理する必要なく、ベンダー、パートナー、顧客などのサードパーティーが、サポートされているプロトコルを使ってグローバル規模で安全にファイルにアクセスできるようになります。さらに、SFTP、FTPS、および FTP クライアントを使用して、Windows、macOS、Linux 環境から EFS ファイルシステムに簡単にアクセスできるようになりました。これにより、NFS クライアントやアクセスポイント以外にも、複数の環境にわたるユーザーへのデータのアクセシビリティが拡張されます。

Transfer Family を使用して Amazon EFS ファイルシステム内のデータを転送することは、他のクライアントの使用方法と同じ方法で説明できます。詳細については、「[スループットモード](performance.md#throughput-modes)」および「[Amazon EFS のクォータ](limits.md)」を参照してください。

詳細については AWS Transfer Family、 [AWS Transfer Family ユーザーガイド](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)を参照してください。

**注記**  
Amazon EFS での Transfer Family の使用は、2021 AWS アカウント年 1 月 6 日より前に作成されたパブリックアクセスを許可するポリシーを持つ Amazon EFS ファイルシステムを持つ では、デフォルトで無効になっています。Transfer Family を使用してファイルシステムにアクセスできるようにするには、 にお問い合わせください サポート。

**Topics**
+ [Amazon EFS AWS Transfer Family で を使用するための前提条件](#prerequisites-aws-transfer)
+ [の EFS ファイルシステムの設定 AWS Transfer Family](#config-efs-aws-transfer-int)

## Amazon EFS AWS Transfer Family で を使用するための前提条件
<a name="prerequisites-aws-transfer"></a>

Transfer Family を使用して Amazon EFS ファイルシステムのファイルにアクセスするには、設定が次の条件を満たしている必要があります。
+ Transfer Family サーバーと Amazon EFS ファイルシステムが、同じ AWS リージョンにあること。
+ Transfer Family で使用される IAM ロールには、Amazon EFS アクセス許可 (`elasticfilesystem:ClientMount` や `elasticfilesystem:ClientWrite` など) がアタッチされている必要があります。アクセス許可とポリシーの詳細については、「*AWS Transfer Family ユーザーガイド*」の「[IAM ロールとポリシーの作成](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html)」を参照してください。
+ （オプション）Transfer Family サーバーが別のアカウントによって所有されている場合は、クロスアカウントアクセスが有効になります。
  + ファイルシステムポリシーでパブリックアクセスを許可していないことを確認します。詳細については、「[EFS ファイルシステムへのパブリックアクセスのブロック](access-control-block-public-access.md)」を参照してください。
  + クロスアカウントアクセスを有効にするようにファイルシステムポリシーを変更します。詳細については、「[Transfer Family クロスアカウントアクセスの設定](#efs-cross-acct-access-transfer)」を参照してください。

## の EFS ファイルシステムの設定 AWS Transfer Family
<a name="config-efs-aws-transfer-int"></a>

Amazon EFS ファイルシステムを Transfer Family と連携するように設定するには、以下の手順が必要です。
+ **ステップ 1.** Transfer Family ユーザーに割り当てられている POSIX ID のリストを取得します。
+ **ステップ 2.** Transfer Family ユーザーに割り当てられた POSIX ID を使用して、Transfer Family ユーザーがファイルシステムのディレクトリにアクセスできることを確認します。
+ **ステップ 3.** Transfer Family で使用される IAM ロールへのアクセスを有効にするように IAM を設定します。

### Transfer Family ユーザーに対するファイルおよびディレクトリへのアクセス許可の設定
<a name="efs-access-aws-transfer"></a>

Transfer Family ユーザーが、EFS ファイルシステム上の必要なファイルとディレクトリにアクセスできることを確認します。Transfer Family ユーザーに割り当てられた POSIX ID のリストを使用して、ディレクトリへのアクセス権限を割り当てます。この例では、ユーザーが Amazon EFS マウントポイントの下に `transferFam` という名前のディレクトリを作成します。ディレクトリの作成はオプションで、ユースケース次第です。必要に応じて、EFS ファイルシステム上の名前と場所を選択できます。

**Transfer Family の POSIX ユーザーにファイルとディレクトリのアクセス許可を割り当てるには**

1. Amazon EC2 インスタンスに接続します。Amazon EFS は、Linux ベースの EC2 インスタンスによるマウントのみをサポートします。

1. EFS ファイルシステムがまだ EC2 インスタンスにマウントされていない場合は、マウントします。詳細については、「[EFS ファイルシステムをマウントする](mounting-fs.md)」を参照してください。

1. 次の例では、EFS ファイルシステム上にディレクトリを作成し、そのグループを Transfer Family ユーザーの POSIX グループ ID に変更します。この例では 1101 です。

   1. 次の`efs/transferFam`コマンドを使用してディレクトリを作成しますて。実際には、選択したファイルシステム上の名前と場所を使用できます。

      ```
      [ec2-user@ip-192-0-2-0 ~]$ ls 
      efs  efs-mount-point  efs-mount-point2
      [ec2-user@ip-192-0-2-0 ~]$ ls efs
      [ec2-user@ip-192-0-2-0 ~]$ sudo mkdir efs/transferFam
      [ec2-user@ip-192-0-2-0 ~]$ ls -l efs
      total 0
      drwxr-xr-x 2 root root 6 Jan  6 15:58 transferFam
      ```

   1. 次のコマンドを使用して、`efs/transferFam`のグループを Transfer Family ユーザーに割り当てられた POSIX GID に変更します。

      ```
      [ec2-user@ip-192-0-2-0 ~]$ sudo chown :1101 efs/transferFam/
      ```

   1. 変更を確認します。

      ```
      [ec2-user@ip-192-0-2-0 ~]$ ls -l efs
      total 0
      drwxr-xr-x 2 root 1101 6 Jan  6 15:58 transferFam
      ```

### Transfer Family で使用される IAM ロールへのアクセスを有効にする
<a name="configure-iam-transfer-role"></a>

Transfer Family では、EFS ファイルシステムへのユーザーアクセスを定義するリソースベースの IAM ポリシーと IAM ロールを作成します。詳細については、*AWS Transfer Family ユーザーガイド*の「[IAM ロールとポリシーを作成する](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html)」を参照してください。IAM アイデンティティポリシーまたはファイルシステムポリシーを使用して、その Transfer Family IAM ロールに EFS ファイルシステムへのアクセス権を付与する必要があります。

次に示すのは、`ClientMount`(読み取り) と`ClientWrite`IAM ロールへのアクセス権`EFS-role-for-transfer`を付与するファイルシステムポリシーの例です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "efs-policy-wizard-8698b356-4212-4d30-901e-ad2030b57762",
    "Statement": [
        {
            "Sid": "Grant-transfer-role-access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/EFS-role-for-transfer"
            },
            "Action": [
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientMount"
            ],
            "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/*"
        }
    ]
}
```

------

ファイルシステムの作成ポリシーの詳細については、「[ファイルシステムポリシーの作成](create-file-system-policy.md)」を参照してください。EFS リソースへのアクセス権を管理するためにアイデンティティベースの IAM ポリシーを使用する方法の詳細については、「[Amazon EFS のアイデンティティベースの ポリシー](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies)」を参照してください。

### Transfer Family クロスアカウントアクセスの設定
<a name="efs-cross-acct-access-transfer"></a>

ファイルシステムへのアクセスに使用される Transfer Family サーバーが別のサーバーに属している場合は AWS アカウント、そのアカウントにファイルシステムへのアクセスを許可する必要があります。また、ファイルシステムポリシーはパブリックではない必要があります。ファイルへのパブリックアクセスのブロックの詳細については、「[EFS ファイルシステムへのパブリックアクセスのブロック](access-control-block-public-access.md)」を参照してください。

ファイルシステムポリシーで、ファイルシステムへの別の AWS アカウント アクセスを許可できます。Amazon EFS コンソールで、**ファイルシステムポリシーエディタ**の**追加のアクセス許可の付与**セクションを使用して、 AWS アカウント と付与するファイルシステムアクセスのレベルを指定します。ファイルシステムポリシーの作成または編集の詳細については、「[ファイルシステムポリシーの作成](create-file-system-policy.md)」を参照してください。

アカウント ID またはアカウント Amazon リソースネーム (ARN) を使用してアカウントを指定できます。ARN の詳細については、*IAM ユーザーガイド*の「[IAM ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)」を参照してください。

次の例は、ファイルシステムへのクロスアカウントアクセスを許可する非パブリックファイルシステムポリシーです。次の 2 つのステートメントがあります。

1. 最初のステートメント、`NFS-client-read-write-via-fsmt`では、ファイルシステムマウントターゲットを使用してファイルシステムにアクセスする NFS クライアントに、読み取り、書き込み、ルート権限を付与します。

1. 2 番目のステートメント は`Grant-cross-account-access`、 にのみ読み取りおよび書き込み権限を付与します。 AWS アカウント 111122223333 は、アカウント内のこの EFS ファイルシステムにアクセスする必要がある Transfer Family サーバーを所有するアカウントです。

```
{    
    "Statement": [
        {
            "Sid": "NFS-client-read-write-via-fsmt",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:ClientRootAccess",
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientMount"
            ],
            "Condition": {
                "Bool": {
                    "elasticfilesystem:AccessedViaMountTarget": "true"
                }
            }
        },
        {
            "Sid": "Grant-cross-account-access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientMount"
            ]
        }
    ]
}
```

次のファイルシステムポリシーは、Transfer Family で使用される IAM ロールへのアクセスを許可するステートメントを追加します。

```
{
    "Statement": [
        {
            "Sid": "NFS-client-read-write-via-fsmt",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:ClientRootAccess",
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientMount"
            ],
            "Condition": {
                "Bool": {
                    "elasticfilesystem:AccessedViaMountTarget": "true"
                }
            }
        },
        {
            "Sid": "Grant-cross-account-access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientMount"
            ]
        },
        {
            "Sid": "Grant-transfer-role-access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/EFS-role-for-transfer"
            },
            "Action": [
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientMount"
            ]
        }
    ]
}
```