Differences

This shows you the differences between the selected revisions of the page.

guide_amazon_s3_sftp 2018-11-08 guide_amazon_s3_sftp 2023-05-30 (current)
Line 2: Line 2:
//Note that WinSCP supports a [[guide_amazon_s3|direct access to S3 storage]]//. //Note that WinSCP supports a [[guide_amazon_s3|direct access to S3 storage]]//.
-If you need to access/manage files stored on Amazon S3 (Simple Storage Service) bucket via SFTP, you can mount the bucket to a file system on a Linux server and access the files using the SFTP as any other files on the server.+If you need to access/manage files stored on Amazon S3 (Simple Storage Service) bucket via SFTP, there are two options. You can use a native managed SFTP service recently added by Amazon (which is easier to set up). Or you can mount the bucket to a file system on a Linux server and access the files using the SFTP as any other files on the server (which gives you greater control). 
 + 
 +===== [[managed]] Managed SFTP Service ===== 
 + 
 +==== Creating Managed SFTP Server ==== 
 + 
 +  * To create a Managed SFTP server for S3, in your Amazon AWS Console, go to [[https://console.aws.amazon.com/transfer|AWS Transfer for SFTP]] and create a new server (you can keep server options to their defaults for a start). 
 +  * In SFTP server page, add a new SFTP user (or users).  
 +    * Permissions of users are governed by an associated [[https://console.aws.amazon.com/iamv2/#/roles|AWS role]] in IAM service. To create a role which has a full access to all your S3 buckets, just create an //S3// service role with //AmazonS3FullAccess// policy. \\ The role must have trust relationship to ''transfer.amazonaws.com''. On a role page, select //Trust relationships// tab, click //Edit trust relationship// button, and in the access control policy JSON document, change ''Statement[].Principal.Service'' value to ''transfer.amazonaws.com'':((Based on the answer by @ChristopherTull to  [[https://stackoverflow.com/q/53642132/850848#53648926|Connecting to AWS Transfer for SFTP]] on Stack Overflow.)) \\ <code php> 
 +
 +  "Version": "2012-10-17", 
 +  "Statement": [ 
 +    { 
 +      "Effect": "Allow", 
 +      "Principal": { 
 +        "Service": "transfer.amazonaws.com" 
 +      }, 
 +      "Action": "sts:AssumeRole" 
 +    } 
 +  ] 
 +
 +</code> 
 +    * [[public_key#generate|Generate a key pair]] for your new user and paste public key fingerprint to //%%SSH%% public keys// box (use the format you would otherwise use for [[guide_public_key#configure_openssh|OpenSSH ''authorized_keys'' file]]). 
 + 
 +==== Connecting to Managed SFTP Server ==== 
 +  
 +You can connect to the managed SFTP server as to any other SFTP server. 
 + 
 +The host name of the server can be found on the server page as //Endpoint// in a format ''server_id.server.transfer.region.amazonaws.com''. 
 + 
 +===== [[mounting]] Mounting Bucket to Linux Server =====
This guide shows how to mount the %%S3%% bucket using [[https://github.com/s3fs-fuse/s3fs-fuse|''s3fs'' file system]] to an Amazon EC2 server and access it using WinSCP. This guide shows how to mount the %%S3%% bucket using [[https://github.com/s3fs-fuse/s3fs-fuse|''s3fs'' file system]] to an Amazon EC2 server and access it using WinSCP.
-===== Creating Access Server ===== +==== Creating Access Server ==== 
-If you do not have a Linux server available for the mounting, [[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html|launch a new Amazon EC2 server]].+If you do not have a Linux server available for the mounting, [[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html|launch a new Amazon EC2 server]].
A basic Amazon Linux AMI (free tier eligible) server will generally suffice and the following instructions are tested on this distribution. Instructions for other distributions may differ. A basic Amazon Linux AMI (free tier eligible) server will generally suffice and the following instructions are tested on this distribution. Instructions for other distributions may differ.
-===== Installing s3fs =====+==== Installing s3fs ====
-Start by [[https://github.com/s3fs-fuse/s3fs-fuse#installation-from-pre-built-packages|installing ''s3fs'' file system]].+Start by [[https://github.com/s3fs-fuse/s3fs-fuse#installation|installing ''s3fs'' file system]].
-===== Mounting S3 Bucket to File System =====+==== Mounting S3 Bucket to File System ====
  * Switch to ''root'': \\ ''sudo su''   * Switch to ''root'': \\ ''sudo su''
Line 23: Line 53:
  * Mount the bucket: \\ ''mount -a''   * Mount the bucket: \\ ''mount -a''
-===== Connecting to the Access Server to Manage the Bucket =====+==== Connecting to the Access Server to Manage the Bucket ====
  * Learn how to [[guide_amazon_ec2|connect securely to Amazon EC2 server with SFTP]].   * Learn how to [[guide_amazon_ec2|connect securely to Amazon EC2 server with SFTP]].

Last modified: by martin