web-dev-qa-db-ja.com

AWS s3とAWS ec2の間でファイルを転送する方法

AWS ec2インスタンスを使用しています。このインスタンスでは、いくつかのファイルが作成されています。これらの操作は、ユーザーデータによって行われます。

次に、ユーザーデータ自体にコードを記述して、これらのファイルをs3に保存します。

  • これらのファイルをs3に保存するにはどうすればよいですか?
  • チュートリアルはありますか?
52
Pravin

最新のAWS CLI( http://aws.Amazon.com/cli/ )を使用すると、次のコマンドを使用して、Ec2インスタンスまたはローカルマシンからS3ストレージにファイルをコピーできます。

aws s3 cp myfolder s3://mybucket/myfolder --recursive

次のようなものが得られます:

upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt 
upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt

aws CLIツールを初めて使用する場合は、次を実行する必要があります。

aws configure

これにより、デフォルトの地域を指定するとともに、アクセスキーとシークレットを入力するように求められます。

61
ajtrichards

ファイルをS3に送信する方法はいくつかあります。関連するインストールとドキュメントとともに、それらを以下にリストしました。

PHP実装の例:

<?php

    // Simple PUT:
    if (S3::putObject(S3::inputFile($file), $bucket, $uri, S3::ACL_PRIVATE)) {
        echo "File uploaded.";
    } else {
        echo "Failed to upload file.";
    }

?>

S3cmdの例:

s3cmd put my.file s3://bucket-url/my.file

編集

言及する価値のあるもう1つのオプションはAWS CLIです http://aws.Amazon.com/cli/ これは広く利用できます。たとえば、すでにAmazonLinuxに含まれており、Python(LinuxやWindowsを含む多くのシステムにインストールされます)。

http://docs.aws.Amazon.com/cli/latest/reference/s3/index.html

利用可能なコマンド、cp ls mb mv rb rm sync Webサイト

http://docs.aws.Amazon.com/cli/latest/reference/s3api/index.html S3との対話用

31
Drew Khoury

インストールs3cmdパッケージとして:

yum install s3cmd

または

Sudo apt-get install s3cmd

お使いのOSによって異なります。次に、これを使用してデータをコピーします。

s3cmd get s3://tecadmin/file.txt

lsもファイルをリストできます。

詳細は this をご覧ください

10
Vikas Hardia

s3cmd を使用して、毎晩ec2インスタンスからエクスポートされたデータベースバックアップファイルを保存します。サイトで確認できるs3cmdの構成後、次のようなコマンドを実行できます。

s3cmd put ./myfile s3://mybucket

8
digitaljoel

つかいます s3cmdそのため:

s3cmd get s3://AWS_S3_Bucket/dir/file

S3cmdのインストール方法を参照してください こちら

これは私のために働く...

5
Prasad D

S3を疑似ファイルシステムとしてマウントしようとすると、問題が発生します。ブロックデバイスではなく、オブジェクトストアです。ローカルファイルパスが必要なレガシーコードがあるためにマウントする必要がある場合は、goofysを試してください。 s3fsよりも約50倍高速です。 https://github.com/kahing/goofys

最近のs3cmdは少し長めです。最近、AWS cliがより良いオプションです。構文は少し便利ではありませんが、保持する必要があるツールは1つ少なくなります。

Httpアクセスに固執できる場合。長期的にはあなたの生活が楽になります。

4
Bruce Edge

一般的にベストな答えは、上記のawsコマンドを使用することだと思いますが、他に何もインストールする必要がない場合は、ファイルをダウンロードするだけでよいことも言及しておく価値があります。 HTTPS経由、たとえばブラウザを開き、次の場所に移動します。

https://s3.amazonaws.com/(bucketName)/(relativePath)/(fileName)

また、wgetまたはcurlを使用して、シェルプロンプトから転送することもできます。

2

AWS CLIでは、次のコマンドを使用して、ZipファイルをEC2インスタンスからS3にコピーしました

aws s3 cp file-name.Zip s3://bucket-name/
1
DKboss