翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 ファイルシステム内のデータを転送することは、他のクライアントの使用方法と同じ方法で説明できます。詳細については、スループットモードおよびAmazon EFS のクォータを参照してください。
詳細については AWS Transfer Family、「 AWS Transfer Family ユーザーガイド」を参照してください。
注記
Amazon EFS での Transfer Family の使用は、2021 AWS アカウント年 1 月 6 日より前に作成されたパブリックアクセスを許可するポリシーを持つ Amazon EFS ファイルシステムを持つ では、デフォルトで無効になっています。Transfer Family を使用してファイルシステムにアクセスできるようにするには、 にお問い合わせください サポート。
Amazon EFS AWS Transfer Family で を使用するための前提条件
Transfer Family を使用して Amazon EFS ファイルシステムのファイルにアクセスするには、設定が次の条件を満たしている必要があります。
Transfer Family サーバーと Amazon EFS ファイルシステムが、同じ AWS リージョンにあること。
IAM ポリシーが、Transfer Family で使用される IAM ロールへのアクセスを有効にするように設定されていること。詳細については、AWS Transfer Family ユーザーガイドの「IAM ロールとポリシーを作成する」を参照してください。
(オプション)Transfer Family サーバーが別のアカウントによって所有されている場合は、クロスアカウントアクセスが有効になります。
ファイルシステムポリシーでパブリックアクセスを許可していないことを確認します。詳細については、「EFS ファイルシステムへのパブリックアクセスのブロック」を参照してください。
クロスアカウントアクセスを有効にするようにファイルシステムポリシーを変更します。詳細については、「Transfer Family クロスアカウントアクセスの設定」を参照してください。
AWS Transfer Family向けの EFS ファイルシステムの設定
Amazon EFS ファイルシステムを Transfer Family と連携するように設定するには、以下の手順が必要です。
ステップ 1. Transfer Family ユーザーに割り当てられている POSIX ID のリストを取得します。
ステップ 2. Transfer Family ユーザーに割り当てられた POSIX ID を使用して、Transfer Family ユーザーがファイルシステムのディレクトリにアクセスできることを確認します。
ステップ 3 Transfer Family で使用される IAM ロールへのアクセスを有効にするように IAM を設定します。
Transfer Family ユーザーに対するファイルおよびディレクトリへのアクセス許可の設定
Transfer Family ユーザーが、EFS ファイルシステム上の必要なファイルとディレクトリにアクセスできることを確認します。Transfer Family ユーザーに割り当てられた POSIX ID のリストを使用して、ディレクトリへのアクセス権限を割り当てます。この例では、ユーザーが EFS マウントポイントの下にtransferFam
という名前のディレクトリを作成します。ディレクトリの作成はオプションで、ユースケース次第です。必要に応じて、EFS ファイルシステム上の名前と場所を選択できます。
Transfer Family の POSIX ユーザーにファイルとディレクトリのアクセス許可を割り当てるには
Amazon EC2 インスタンスに接続します。Amazon EFS は、Linux ベースの EC2 インスタンスによるマウントのみをサポートします。
EFS ファイルシステムがまだ EC2 インスタンスにマウントされていない場合は、マウントします。詳細については、「EFS ファイルシステムをマウントする」を参照してください。
次の例では、EFS ファイルシステム上にディレクトリを作成し、そのグループを Transfer Family ユーザーの POSIX グループ ID に変更します。この例では 1101 です。
次の
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
次のコマンドを使用して、
efs/transferFam
のグループを Transfer Family ユーザーに割り当てられた POSIX GID に変更します。[ec2-user@ip-192-0-2-0 ~]$
sudo chown :1101 efs/transferFam/
変更を確認します。
[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 では、EFS ファイルシステムへのユーザーアクセスを定義するリソースベースの IAM ポリシーと IAM ロールを作成します。詳細については、AWS Transfer Family ユーザーガイドの「IAM ロールとポリシーを作成する」を参照してください。IAM アイデンティティポリシーまたはファイルシステムポリシーを使用して、その Transfer Family IAM ロールに EFS ファイルシステムへのアクセス権を付与する必要があります。
次に示すのは、ClientMount
(読み取り) とClientWrite
IAM ロールへのアクセス権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"
]
}
]
}
ファイルシステムの作成ポリシーの詳細については、「ファイルシステムポリシーの作成」を参照してください。EFS リソースへのアクセス権を管理するためにアイデンティティベースの IAM ポリシーを使用する方法の詳細については、「Amazon EFS のアイデンティティベースの ポリシー」を参照してください。
Transfer Family クロスアカウントアクセスの設定
ファイルシステムへのアクセスに使用される Transfer Family サーバーが別の に属している場合は AWS アカウント、そのアカウントにファイルシステムへのアクセスを許可する必要があります。また、ファイルシステムポリシーはパブリックではない必要があります。ファイルへのパブリックアクセスのブロックの詳細については、「EFS ファイルシステムへのパブリックアクセスのブロック」を参照してください。
ファイルシステムポリシーで、ファイルシステムへの別の AWS アカウント アクセスを許可できます。Amazon EFS コンソールで、ファイルシステムポリシーエディタの追加アクセス許可の付与セクションを使用して、付与する AWS アカウント とファイルシステムアクセスのレベルを指定します。ファイルシステムポリシーの作成または編集の詳細については、「ファイルシステムポリシーの作成」を参照してください。
アカウント ID またはアカウント Amazon リソースネーム (ARN) を使用してアカウントを指定できます。ARN の詳細については、IAM ユーザーガイドの「IAM ARN」を参照してください。
次の例は、ファイルシステムへのクロスアカウントアクセスを許可する非パブリックファイルシステムポリシーです。次の 2 つのステートメントがあります。
最初のステートメント、
NFS-client-read-write-via-fsmt
では、ファイルシステムマウントターゲットを使用してファイルシステムにアクセスする NFS クライアントに、読み取り、書き込み、ルート権限を付与します。-
2 番目のステートメント は
Grant-cross-account-access
、 アカウントのこの EFS ファイルシステムにアクセスする必要がある Transfer Family サーバーを所有するアカウントである AWS アカウント 111122223333、読み取りおよび書き込み権限のみを付与します。
{
"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"
]
}
]
}