web-dev-qa-db-ja.com

Amazon s3にscpする方法は?

〜2TBのバックアップファイルをS3に送信する必要があります。最も手間のかからないオプションは、Linuxのscpコマンド(s3cmdで difficulty を使用し、Java/RoRでやりすぎないようにする)だと思います。

しかし、それが可能かどうかはわかりません:S3でS3の秘密鍵と公開鍵を使用する方法、および宛先IP/URL /パスがどうなるかわかりませんか?

ヒントありがとうございます。

23
qliq

SCPはできません。

あなたがお金を使うことを気にしないなら、おそらく最も簡単な方法は、それをディスクで彼らに送って、彼らがあなたのためにそこに置くことでしょう。それらの インポート/エクスポート サービスを参照してください。

8
El Yobo

2015年の時点では、SCP/SSHはサポートされていません(他の回答で述べられている理由のため、おそらくサポートされません)。

S3との間でファイルをコピーするための公式AWSツール

  1. コマンドラインツールpip3 install awscli)-資格情報を指定する必要があることに注意してください。ファイルではなく環境変数を使用することをお勧めします:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

    aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg"
    

    そしてrsyncのようなコマンド:

    aws s3 sync . s3://mybucket
    
  2. Webインターフェイス:

非AWSメソッド

その他のソリューションは、サードパーティの実行可能ファイル(例:botosync、jungledisk ...)に依存しています。これらは、サポートされている限り優れています。しかし、サードパーティのツールは年を重ねるごとに出入りし、スクリプトの保存期間は短くなります。


編集:実際、AWS CLIはbotocoreに基づいています:

https://github.com/boto/botocore

そのため、ボトシンクはおそらく私が与えたよりも年長の政治家としてもう少し尊敬に値します。

36

これが boto-rsync の意味です。任意のLinuxボックスからboto-rsyncをインストールし、これを使用して/ local/path /your_bucket /に転送しますリモート/パス/

boto-rsync -a your_access_key -s your_secret_key /local/path/ s3://your_bucket/remote/path/

パスはファイルにすることもできます。

AWS以外のS3互換プロバイダーの場合は、-endpointを使用します。

boto-rsync -a your_access_key -s your_secret_key --endpoint some.provider.com /local/path/ s3://your_bucket/remote/path/
11
datasn.io

それをEBSボリュームにscpし、そこからs3cmdを使用しないのはなぜですか? EBSボリュームとs3バケットが同じリージョンにある限り、(ネットワークからEBSボリュームへの)インバウンドデータ料金に対して1回のみ課金されます

S3ネットワーク内では、s3cmdの方がはるかに信頼性が高く、データ転送速度がs3への直接転送よりはるかに高いことがわかりました。

4
robotrobot

どうぞ、

scp USER@REMOTE_IP:/FILE_PATH >(aws s3 cp - s3://BUCKET/SAVE_FILE_AS_THIS_NAME)
1
GypsyCosmonaut

ドラゴンディスクと呼ばれる素晴らしいツールがあります。単なるscpではなく、同期ツールとしても機能します。

http://www.s3-client.com/

Amazon s3をセットアップするためのガイドが提供されています ここ 。セットアップ後に、ローカルマシンからs3にファイルをコピーして貼り付けるか、自動同期をセットアップできます。ユーザーインターフェイスは、WinSCPまたはFilezillaに非常に似ています。

1
Koustav Ray