AWS Transfer Family を使用したデータ転送 - Amazon Elastic File System

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

AWS Transfer Family を使用したデータ転送

AWS Transfer Family は、以下のプロトコルを使用して Amazon EFS ファイルシステムとの間でファイルを転送するために使用できるフルマネージド AWS サービスです。

  • Secure Shell (SSH) ファイル転送プロトコル (SFTP) (AWS Transfer for SFTP)

  • ファイル転送プロトコルセキュア (FTPS) (AWS Transfer for FTPS)

  • ファイル転送プロトコル (FTP) (AWS Transfer for FTP)

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

Transfer Family を使用して Amazon EFS ファイルシステム内のデータを転送することは、他のクライアントの使用と同じ方法で考慮されます。詳細については、「スループットモード」および「Amazon EFS クォータ」を参照してください。

の詳細については AWS Transfer Family、「 AWS Transfer Family ユーザーガイド」を参照してください。

注記

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

Amazon AWS Transfer Family で を使用するための前提条件 EFS

Transfer Family を使用して Amazon EFS ファイルシステムにアクセスする場合、設定は次の条件を満たす必要があります。

  • Transfer Family サーバーと Amazon EFS ファイルシステムは同じ にあります AWS リージョン。

  • IAM ポリシーは、Transfer Family で使用されるIAMロールへのアクセスを有効にするように設定されています。詳細については、「 ユーザーガイド」の「 IAMロールとポリシーの作成AWS Transfer Family 」を参照してください。

  • (オプション)Transfer Family サーバーが別のアカウントによって所有されている場合は、クロスアカウントアクセスが有効になります。

のEFSファイルシステムの設定 AWS Transfer Family

Transfer Family と連携するように Amazon EFS ファイルシステムを設定するには、次のステップが必要です。

  • Step 1. Transfer Family ユーザーPOSIXIDsに割り当てられた のリストを取得します。

  • Step 2. Transfer Family ユーザーPOSIXIDsに割り当てられた を使用して、Transfer Family ユーザーがファイルシステムのディレクトリにアクセスできることを確認します。

  • ステップ 3 Transfer Family で使用されるIAMロールへのアクセスを有効にするIAMように を設定します。

Transfer Family ユーザーに対するファイルおよびディレクトリへのアクセス許可の設定

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

Transfer Family のPOSIXユーザーにファイルとディレクトリのアクセス許可を割り当てるには
  1. Amazon EC2インスタンスに接続します。Amazon は Linux ベースのEC2インスタンスによるマウントEFSのみをサポートしています。

  2. EC2 インスタンスにまだマウントされていない場合は、EFSファイルシステムをマウントします。詳細については、「EFS ファイルシステムのマウント」を参照してください。

  3. 次の例では、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
    2. 次のコマンドを使用して、 のグループefs/transferFamを Transfer Family ユーザーPOSIXGIDに割り当てられた に変更します。

      [ec2-user@ip-192-0-2-0 ~]$ sudo chown :1101 efs/transferFam/
    3. 変更を確認します。

      [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ロールへのアクセスを有効にする

Transfer Family では、リソースベースのIAMポリシーと、EFSファイルシステムへのユーザーアクセスを定義する IAMロールを作成します。詳細については、「 ユーザーガイド」の「 IAMロールとポリシーの作成AWS Transfer Family 」を参照してください。IAM ID ポリシーまたはEFSファイルシステムポリシーを使用して、その Transfer Family IAMロールにファイルシステムへのアクセスを許可する必要があります。

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

{ "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" ] } ] }

ファイルシステムの作成ポリシーの詳細については、「ファイルシステムポリシーの作成」を参照してください。アイデンティティベースのIAMポリシーを使用して EFSリソースへのアクセスを管理する方法の詳細については、「」を参照してくださいAmazon のアイデンティティベースのポリシー EFS

Transfer Family クロスアカウントアクセスの設定

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

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

アカウント ID またはアカウント Amazon リソースネーム () を使用してアカウントを指定できますARN。の詳細についてはARNs、「 ユーザーガイドIAMARNs」のIAM「」を参照してください。

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

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

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

{ "Statement": [ { "Sid": "NFS-client-read-write-via-fsmt", "Effect": "Allow", "Principal": { "AWS": "*" }, "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", "Principal": { "AWS": "*" }, "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" ] } ] }