Amazon S3 バケットに転送する必要がある 5 つのファイルに約 15 ギガのデータがあり、それらは現在、スクリプトまたはシェル アクセス権のないリモート サーバーでホストされています。httpd リンク経由でのみダウンロードできます。
これらのファイルを、最初にローカル マシンにダウンロードしてから S3 に再アップロードすることなく、Amazon S3 バケットに転送するにはどうすればよいですか?
プロセスを自動化したい場合は、AWS SDK を使用してください。
次の場合のように、AWS PHP SDK を使用します。
use Aws\Common\Aws;
$aws = Aws::factory('/path/to/your/config.php');
$s3 = $aws->get('S3');
$s3->putObject(array(
'Bucket' => 'your-bucket-name',
'Key' => 'your-object-key',
'SourceFile' => '/path/to/your/file.ext'
));
詳細:
http://blogs.aws.amazon.com/php/post/Tx9BDFNDYYU4VF/Transferring-Files-To-and-From-Amazon-S3 http://docs.aws.amazon.com/aws-sdk-php/guide /latest/service-s3.html
ファイルが 5 つしかない場合は、中間ファイルにファイルをダウンロードした後、S3 ファイル アップローダーhttp://console.aws.amazon.com/s3/home?region=us-east-1 (アクション、アップロード) を使用します。機械。S3 へのアップロードは非常に高速であるため、Windows を実行する EC2 が最適なソリューションである可能性があります。chrome.google.com から EC2 インスタンスに Chrome をダウンロードするか、既存の Web ブラウザ (IE) を使用して作業を行うことができます。
[1] 鍵付き SSH
sh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub
この SSH キーを ~/.ssh/authorized_keys ファイルに配置します
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
[2] ZFS のスナップショット、LZMA で転送を最小化、RSYNC で送信
zfs snapshot zroot@150404-SNAPSHOT-ZROOT
zfs list -t snapshot
lzma でファイルに圧縮 (bzip2 より効果的)
zfs send zroot@150404-SNAPSHOT-ZROOT | lzma -9 > /tmp/snapshots/zroot@150404-SNAPSHOT-ZROOT.lzma
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress --partial /tmp/snapshots/zroot@150404-SNAPSHOT-ZROOT.lzma <username>@<ip-address>:/
[3] MBUFFERで高速転送、ZFS送受信で送信 受信機を先に起動。これはポート 9090 でリッスンし、1GB のバッファーを持ち、128kb のチャンクを使用します (zfs と同じ):
mbuffer -s 128k -m 1G -I 9090 | zfs receive zremote
データを送信し、mbuffer 経由でも送信します。
zfs send -i zroot@150404-SNAPSHOT-ZROOT zremote@150404-SNAPSHOT-ZROOT | mbuffer -s 128k -m 1G -O <ip-address>:9090
[4] diff送信のみで転送を高速化
zfs snapshot zroot@150404-SNAPSHOT-ZROOT
zfs snapshot zroot@150405-SNAPSHOT-ZROOT [e.g. one day later]
zfs send -i zroot@150404-SNAPSHOT-ZROOT zroot@150405-SNAPSHOT-ZROOT | zfs receive zremote/data
私のメモも参照してください