在AWS中连接sftp服务器

时间:2016-10-17 20:08:55

标签: amazon-web-services amazon-s3 sftp amazon-redshift emr

我正在尝试创建一个从aws服务连接sftp服务器的工作,以将文件带入aws中的s3存储。这将是一个自动化的工作,每晚运行并将数据带入S3。我已经看过有关如何连接aws并手动将数据导入S3的文档。但是,我没有发现连接外部SFTP服务器以将数据导入S3。我不知道它是否可行?

2 个答案:

答案 0 :(得分:0)

您现在可以使用AWS的托管SFTP服务。它提供了一个完全托管的SFTP服务器,该服务器易于设置,并且可靠,可扩展且持久。它使用S3作为存储文件的后端。

答案 1 :(得分:-1)

使用 S3FS 直接配置sftp连接到S3。

您需要做的就是安装S3FS https://github.com/s3fs-fuse/s3fs-fuse/wiki/Installation-Notes

  1. 为fuse和s3cmd安装依赖项。

    CentOS / RHEL用户:

  2. <强> # 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
    
    1. 下载并编译最新的保险丝
    2. 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
      
      1. 下载并编译最新的S3FS
      2. 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
        
        1. 装载S3铲斗

          #mkdir / tmp / cache

          #mkdir / s3mnt

          #chmod 777 / tmp / cache / s3mnt

          #s3fs -o use_cache = / tmp / cache mydbbackup / s3mnt

        2. 将您的挂载点设置为ftp用户主目录,这将使用sftp将传输的文件定向到S3。

          注意:Donot忘记向S3 Bucket添加权限以允许经过身份验证的AWS用户