私は何をしたいですか?
ステップ1:S3バケットをEC2インスタンスにマウントします。
ステップ2:EC2インスタンスにFTPサーバーをインストールし、FTPリクエストをバケット内のファイルにトンネルします。
これまでに何をしましたか?
そして、次のコード:
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
Cd anwers:Transport endpoint is not connected
ダンノ何が悪いの。間違ったユーザーを使用している可能性がありますか?ただし、現在、root以外のユーザーは1人だけです(テスト上の理由から)。
次のステップはftpトンネルですが、今のところはこれを機能させたいと思います。
S3をEC2インスタンスにマウントする1つの可能な解決策は、新しいファイルゲートウェイを使用することです。
http://docs.aws.Amazon.com/storagegateway/latest/userguide/WhatIsStorageGateway.html
今、これらの指示に従いました。 https://github.com/s3fs-Fuse/s3fs-Fuse
彼らもバックグラウンドでAPIを呼び出していると思いますが、それは私が望むように機能します。
ポイント1
他の回答者は、S3はこのために構築されていないと言っているのは正しいですが、バケットをマウントできないと言うのは正しくありません(ただし、問題を解決するより良い方法を見つけることを真剣に検討します)。
つまり、 s3Fuse を使用してEC2内にS3バケットをマウントできます。これをしない理由はたくさんあります 詳細はこちら 。
ポイント2
そこからは、バケットが他のファイルシステム(ほとんど)のようにシステムに表示されるため、標準FTPサーバーをセットアップするだけです。
vsftpd
がこれに適しています。私は両方に行き、特定の問題が発生した場合は個別の質問を投稿しますが、これにより作業の大まかな概要がわかります。 (まあ、実際には私はどちらにも行かず、APIを消費するアプリコード経由でS3を使用しますが、それでも)