qu'est-ce que je veux faire?
Étape 1: Montez un godet S3 sur une instance EC2.
Étape 2: Installez un serveur FTP sur l'instance EC2 et tunnelez les requêtes ftp vers les fichiers du compartiment.
Qu'ai-je fait jusqu'ici?
Et le code suivant:
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/s3fs/s3fs-1.74.tar.gz
tar -xvzf s3fs-1.74.tar.gz
yum update all
yum install gcc libstdc++-devel gcc-c++ Fuse fuse-devel curl-devel libxml2-devel openssl-devel mailcap
cd s3fs-1.74
./configure --prefix=/usr
make
make install
vi /etc/passwd-s3fs # set access:secret keys
chmod 640 /etc/passwd-s3fs
mkdir /s3bucket
cd /s3bucket
Et cd réponses: Transport endpoint is not connected
Je ne sais pas ce qui ne va pas. Peut-être que j'utilise le mauvais utilisateur? Mais actuellement, je n'ai qu'un utilisateur (pour des raisons de test) à l'exception de root.
La prochaine étape serait le tunnel ftp, mais pour le moment, j'aimerais que cela fonctionne.
J'ai suivi ces instructions maintenant. https://github.com/s3fs-Fuse/s3fs-Fuse
Je suppose qu'ils appellent aussi l'API en arrière-plan, mais cela fonctionne comme je le souhaitais.
Point 1
Tandis que l’autre répondeur a raison de dire que S3 n’est pas conçu pour cela, il est faux de dire qu’un seau ne peut pas être monté (je réfléchirais sérieusement à la recherche d’un meilleur moyen de résoudre votre problème).
Cela dit, vous pouvez utiliser s3Fuse pour monter des compartiments S3 dans EC2. Il y a plein de bonnes raisons de ne pas le faire, détaillé ici .
Point 2
À partir de là, il ne reste plus qu'à configurer un serveur FTP standard, car le compartiment apparaît maintenant sur votre système comme s'il s'agissait de tout autre système de fichiers (principalement).
vsftpd
pourrait être un bon choix pour cela. Je pourrais essayer les deux, puis poser des questions séparées sur les problèmes spécifiques que vous rencontrez, mais cela devrait vous donner un aperçu approximatif. (En réalité, je n'aurais ni l'un ni l'autre et j'utiliserais S3 via un code d'application consommant l'API, mais quand même).