web-dev-qa-db-ja.com

AWS:S3バケットをEC2インスタンスにマウントします。 (後のFTPトンネリング)

私は何をしたいですか?

ステップ1:S3バケットをEC2インスタンスにマウントします。

ステップ2:EC2インスタンスにFTPサーバーをインストールし、FTPリクエストをバケット内のファイルにトンネルします。

これまでに何をしましたか?

  • バケットを作成する
  • 入力ポートが開いたセキュリティグループを作成する(FTP:20,21-SSH:22-その他)
  • ec2に接続する

そして、次のコード:

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トンネルですが、今のところはこれを機能させたいと思います。

7
Timo

S3をEC2インスタンスにマウントする1つの可能な解決策は、新しいファイルゲートウェイを使用することです。

これを確認してください: https://aws.Amazon.com/about-aws/whats-new/2017/02/aws-storage-gateway-supports-running-file-gateway-in-ec2-and- adds-file-share-security-options /

http://docs.aws.Amazon.com/storagegateway/latest/userguide/WhatIsStorageGateway.html

4
Godsent

今、これらの指示に従いました。 https://github.com/s3fs-Fuse/s3fs-Fuse

彼らもバックグラウンドでAPIを呼び出していると思いますが、それは私が望むように機能します。

4
Timo

ポイント1

他の回答者は、S3はこのために構築されていないと言っているのは正しいですが、バケットをマウントできないと言うのは正しくありません(ただし、問題を解決するより良い方法を見つけることを真剣に検討します)。

つまり、 s3Fuse を使用してEC2内にS3バケットをマウントできます。これをしない理由はたくさんあります 詳細はこちら

ポイント2

そこからは、バケットが他のファイルシステム(ほとんど)のようにシステムに表示されるため、標準FTPサーバーをセットアップするだけです。

vsftpdがこれに適しています。私は両方に行き、特定の問題が発生した場合は個別の質問を投稿しますが、これにより作業の大まかな概要がわかります。 (まあ、実際には私はどちらにも行かず、APIを消費するアプリコード経由でS3を使用しますが、それでも)

1
Tom Manterfield