アマゾン ウェブ サービス (AWS) は、Amazon によって作成された広く知られているクラウド サービスのコレクションです。これは、多くの異なるタスクを実行するために使用できるクラウド サービスの大きなスイートであり、もちろんそれらはすべてクラウドに基づいているため、いつでもどこからでもこれらのサービスにアクセスできます。
AWS を通じて提供されるサービスの 1 つは S3 と呼ばれます。今日は、このサービスとその cp コマンドについて説明します。AWS S3 cp コマンドとは何かを知りたい場合は、引き続き読んでください。
まず、S3とは?前述したように、S3 は Amazon Web Services で利用可能なサービスの 1 つであり、そのフルネームは Amazon Simple Storage Service であり、ご想像のとおりストレージ サービスです。 Google ドライブ、Dropbox、Microsoft OneDrive などの他のストレージ サービスに似ていますが、いくつかの違いと、もう少し高度な機能がいくつかあります。
S3 サービスは、バケットの概念に基づいています。バケットは、簡単に言えば、このサービスを使用している間に配置するさまざまなファイル (オブジェクトと呼ばれる) の「コンテナ」です。
S3 は、北米、ヨーロッパ、アジア、アフリカ、オセアニアなど、世界中の 54 の場所で構成されるアマゾン ウェブ サービス全体に展開できる、高速で安全かつスケーラブルなストレージ サービスです。
Amazon S3 のさまざまなバケットとそのコンテンツを管理するには、AWS CLI を介してさまざまなコマンドを使用できます。これは、AWS に基づくさまざまなクラウド サービスを管理するために Amazon が提供するコマンド ライン インターフェイスです。このコマンドライン インターフェイスで使用できる多くのコマンドの 1 つに cp があります。このツールについて詳しく説明しますので、このまま読み進めてください。
AWS S3 cp コマンド:それは何ですか?
では、この cp コマンドとは正確には何ですか?実際、cp コマンドは Unix の cp コマンドとほとんど同じです。 Unix および Linux システムでは、このコマンドはファイルとフォルダーのコピーに使用され、その機能は AWS S3 の場合と基本的に同じですが、大きくて非常に重要な違いがあります。ローカル ファイルだけでなく S3 のコピーにも使用できます。オブジェクト。
S3 を使用して、ファイルまたはオブジェクトをローカルおよび他の S3 バケットの両方にコピーできます。このコマンドには多くのオプションがあるため、使用頻度の高いオプションをいくつか確認してみましょう:
–ドライラン :これは非常に重要なオプションで、S3 を使い始めた多くのユーザーが使用しています。ほとんどのソフトウェア ツールと同様に、ドライ ランは基本的に、特定のコマンドまたはタスクの実行から期待される結果の「シミュレーション」です。このオプションを使用して、コピーする内容が正しいことを確認し、期待どおりの結果が得られることを確認できます。このオプションを使用すると、実際の変更は行われず、出力が得られるだけなので、すべてが計画どおりに進むかどうかを確認できます。
–除外 :除外オプションは、特定のパターンに一致する特定のファイルまたはフォルダーを除外するために使用されます。たとえば、フォルダー全体を別の場所にコピーしたいが、そのフォルダーに含まれる .jpeg ファイルを除外したい場合は、このオプションを使用する必要があります。
–ソース地域 :あるバケットから別のバケットにファイルまたはオブジェクトをコピーする場合、これは非常に重要なオプションです。ソース バケットの元のリージョンを指定する必要があるためです。
–地域 :–source-region と同じように機能しますが、これは宛先バケットのリージョンを指定するために使用されます。
–再帰 :ご想像のとおり、これは cp コマンドを再帰的にするためのものです。つまり、コピーしているディレクトリの下にあるすべてのファイルとフォルダーもコピーされます。
AWS S3 cp の例:仕組みは?
S3 cp コマンドがどのように機能するかの簡単な例を見てみましょう:
次の例では、「myphoto.jpg」というファイルをローカル システムからバケット「myshinybucket」にコピーします。
aws s3 cp myphoto.jpg s3://myshinybucket/myphoto.jpg
別のものを見てみましょう。この場合、ファイル mydocument.txt をバケット「oldbucket」から「newbucket」という別のバケットにコピーしましょう:
aws s3 cp s3://oldbucket/mydocument.txt s3://newbucket/mydocument.txt
別の例として、フォルダ全体 (「myfolder」と呼ばれる) をローカル システムからバケット (「jpgbucket」と呼ばれる) に再帰的にコピーしますが、すべての .png ファイルは除外されます:
aws s3 cp myfolder s3://jpgbucket/ --recursive --exclude "*.png"
ご覧のとおり、このコマンドの使用は実際には非常に簡単で、S3 cp コマンドの基本をカバーするにはこれで十分ですが、含めることができる例はもっとたくさんあります。
S3 CP のあらすじ
AWS S3 cp コマンドの引数とオプションの完全なリストは次のとおりです:
cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri> [--dryrun] [--quiet] [--include <value>] [--exclude <value>] [--acl <value>] [--follow-symlinks | --no-follow-symlinks] [--no-guess-mime-type] [--sse <value>] [--sse-c <value>] [--sse-c-key <value>] [--sse-kms-key-id <value>] [--sse-c-copy-source <value>] [--sse-c-copy-source-key <value>] [--storage-class <value>] [--grants <value> [<value>...]] [--website-redirect <value>] [--content-type <value>] [--cache-control <value>] [--content-disposition <value>] [--content-encoding <value>] [--content-language <value>] [--expires <value>] [--source-region <value>] [--only-show-errors] [--no-progress] [--page-size <value>] [--ignore-glacier-warnings] [--force-glacier-transfer] [--request-payer <value>] [--metadata <value>] [--metadata-directive <value>] [--expected-size <value>] [--recursive]
まとめ
今日は、AWS と、Amazon のクラウド プラットフォームに基づくストレージ サービスである S3 サービスについて学びました。このサービスを管理するさまざまな方法の 1 つは、コマンドライン インターフェイスである AWS CLI です。この CLI には多くのコマンドがあり、そのうちの 1 つが cp です。
cp コマンドは、ファイル、フォルダー、およびオブジェクトのコピーに使用される Unix の対応するコマンドと非常によく似ています。ローカル システムから S3 バケットに、バケットからバケットに、またはバケットからローカル システムにコンテンツをコピーするために使用できます。たとえば、フォルダを再帰的にコピーするなど、このコマンドでさまざまなオプションを使用してさまざまなタスクを実行できます。 .
今回は、AWS S3 cp コマンドの基本機能といくつかの高度な機能について説明しましたが、AWS コマンドライン インターフェイスでできることの表面をかじっただけなので、見ているだけなら十分すぎるはずです。
ただし、AWS CLI とアマゾン ウェブ サービスをさらに深く掘り下げたい場合は、探している情報を入手できる最新の場所である公式ドキュメントを確認することをお勧めします。
AWS S3 cp コマンドの説明が最後に変更されました:2020 年 7 月 10 日 Esteban Borges