我正在尝试创建一个从aws服务连接sftp服务器的工作,以将文件带入aws中的s3存储。这将是一个自动化的工作,每晚运行并将数据带入S3。我已经看过有关如何连接aws并手动将数据导入S3的文档。但是,我没有发现连接外部SFTP服务器以将数据导入S3。我不知道它是否可行?
答案 0 :(得分:0)
您现在可以使用AWS的托管SFTP服务。它提供了一个完全托管的SFTP服务器,该服务器易于设置,并且可靠,可扩展且持久。它使用S3作为存储文件的后端。
答案 1 :(得分:-1)
使用 S3FS 直接配置sftp连接到S3。
您需要做的就是安装S3FS https://github.com/s3fs-fuse/s3fs-fuse/wiki/Installation-Notes
为fuse和s3cmd安装依赖项。
CentOS / RHEL用户:
<强> # yum install gcc libstdc++-devel gcc-c++ curl-devel libxml2-devel openssl-devel mailcap
强>
Ubuntu用户:
$ sudo apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support
https://github.com/libfuse/libfuse/releases/download/fuse-2.9.7/fuse-2.9.7.tar.gz
# cd fuse-2.9.7
# ./configure --prefix=/usr/local
# make && make install
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# ldconfig
# modprobe fuse
https://code.google.com/archive/p/s3fs/downloads
# cd /usr/src/
# wget https://s3fs.googlecode.com/files/s3fs-1.74.tar.gz
# tar xzf s3fs-1.74.tar.gz
# cd s3fs-1.74
# ./configure --prefix=/usr/local
# make && make install
4。设置访问键
# echo AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY > ~/.passwd-s3fs
# chmod 600 ~/.passwd-s3fs
装载S3铲斗
#mkdir / tmp / cache
#mkdir / s3mnt
#chmod 777 / tmp / cache / s3mnt
#s3fs -o use_cache = / tmp / cache mydbbackup / s3mnt
将您的挂载点设置为ftp用户主目录,这将使用sftp将传输的文件定向到S3。
注意:Donot忘记向S3 Bucket添加权限以允许经过身份验证的AWS用户