AWS ec2 インスタンスを使用しています。このインスタンスでは、いくつかのファイルが生成されます。これらの操作は、ユーザー データによって実行されます。
ここで、ユーザー データ自体にコードを記述して、これらのファイルを s3 に保存したいと考えています。
- では、これらのファイルを s3 に保存するにはどうすればよいでしょうか?
- チュートリアルはありますか?
AWS ec2 インスタンスを使用しています。このインスタンスでは、いくつかのファイルが生成されます。これらの操作は、ユーザー データによって実行されます。
ここで、ユーザー データ自体にコードを記述して、これらのファイルを s3 に保存したいと考えています。
最新の 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
CLI ツールを初めて使用する場合は、次aws
を実行する必要があります。
aws configure
これにより、デフォルトのリージョンを指定するとともに、アクセス キーとシークレットを入力するよう求められます。
ファイルを S3 に送信する方法はいくつかあります。関連するインストールとドキュメントとともに、それらを以下にリストしました。
S3CMD : ( http://s3tools.org/s3cmd ) apt-get install s3cmd を介してこれを debian/ubuntu に簡単にインストールし、コマンドラインから実行できます。これを bash スクリプトまたはプログラムに組み込むことができます。
S3FS : ( http://www.pophams.com/blog/howto-setups3fsonubuntu1104x64およびhttps://code.google.com/p/s3fs/wiki/InstallationNotes ) ... これにより、s3 バケットがマウントされるため、ローカルディスクのように。セットアップには少し手間がかかりますが、ディスクがマウントされたら、バケットにファイルを取得するために特別なことをする必要はありません。
CMS を使用する場合 (例として Drupal を使用します) 、モジュールを使用してバケットへのアクセスを処理するオプションがある場合があります (例: http://drupal.org/project/storage_api )。
最後に、プログラミング言語の実装を使用して、すべての論理を自分で処理できます。PHP の場合、このhttp://undesigned.org.za/2007/10/22/amazon-s3-php-classから始めて、こちらのドキュメントを参照してくださいhttp ://undesigned.org.za/2007/10/22/amazon-s3-php-class/documentation
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 ウェブサイト
S3 とやり取りするためのhttp://docs.aws.amazon.com/cli/latest/reference/s3api/index.html
s3cmdパッケージを次のようにインストールします。
yum install s3cmd
また
sudo apt-get install s3cmd
OSによって異なります。次に、これを使用してデータをコピーします。
s3cmd get s3://tecadmin/file.txt
ファイルを一覧表示することもls
できます。
詳細については、これを参照してください
s3cmdを使用して、ec2 インスタンスから夜間にエクスポートされたデータベース バックアップ ファイルを保存しています。サイトで読むことができるs3cmdの構成後、次のようなコマンドを実行できます。
s3cmd put ./myfile s3://mybucket
疑似ファイルシステムとして s3 をマウントしようとする試みはすべて問題があります。これはブロック デバイスではなく、オブジェクト ストアです。ローカル ファイル パスが必要なレガシー コードがあるためにマウントする必要がある場合は、goofys を試してください。s3fs よりも約 50 倍高速です。https://github.com/kahing/goofys
最近の s3cmd は少し長いです。最近では、AWS cli の方が優れたオプションです。構文は少し不便ですが、手元に置いておく必要のあるツールが 1 つ少なくなります。
httpアクセスに固執できる場合。長期的には生活が楽になります。