AWSのCLIを使用して、s3のファイルをまとめてダウンロードする方法

IT関連

AWSマネジメントコンソールからは、s3のファイルをまとめてダウンロードすることができない

s3へのファイルのアップロードは、マネジメントコンソールから一気に行うことができます。

しかし、ダウンロードの場合は、マネジメントコンソールからは1ファイルずつしかできません。

まとめてダウンロードする方法として、主に下記方法があります。

  • CloudBerry ExplorerをインストールしてGUIでダウンロードする。
  • AWS CLIを使用して、CUIでダウンロードする。

GUIの方が楽ですが、今回は手軽にできる AWS CLIを使用した方法をご紹介したいと思います。

AWS CLIとは

AWS CLIとは「AWS Command Line Interface」の略です。コマンドラインを使用して、s3だけでなく、AWSの様々なサービスをコマンドプロンプト上から利用できます。

AWS CLIを利用して、s3からファイルをまとめてダウンロードする方法

早速、AWS CLIを利用してs3からまとめてダウンロードする方法を記述していきます。

AWS CLIのダウンロード

下記サイトから、インストーラーをダウンロードします。

AWS コマンドラインインターフェイス(CLI: AWSサービスを管理する統合ツール)| AWS
AWS コマンドラインインターフェイス (CLI) は、AWS サービスを管理するための統合ツールです。ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用してこれらを自動化することができます。

ダウンロードしたインストーラーを起動します。

基本的に全てデフォルトで「Next」を押していきます。

インストールが終わったら、コマンドプロンプトを起動して下記のコマンドを実行してみましょう。

aws --version

このように表示されれば正常にインストールされています。

認証情報の設定

コマンドプロンプト上で、認証情報の設定を行います。下記のコマンドを実行してください。

aws configure

すると、下記の4つの設定情報が聞かれます。

  • AWS Access Key ID [None]:
  • AWS Secret Access Key [None]:
  • Default region name [None]:
  • Default output format [None]:

上3つはそれぞれの環境に合わせて入力してください。

最後の「Default output format」に関しては、設定値は色々ありますが、ここではあまり関係ないので、ひとまず「text」と入力してください。

これで認証情報の設定は完了です。

一括ダウンロードの実行

ようやく準備が完了したので、実際にダウンロードをしてみましょう。基本的なコマンドは下記でOKです。

aws s3 cp s3://{ダウンロード元バケット名} {ダウンロード先フォルダ} --recursive --profile hacknote

ダウンロード先フォルダは存在していなくても自動的に作成されます。

一応、オプションの説明を簡単に記載しておきます。

–recursive再帰的。これによって、バケット以下のファイルを再帰的にダウンロードします。
–profile認証情報の設定によって作成された認証情報ファイルを使用します。

ちなみに、あまり使うことはないかもしれませんが、下記のようにすれば単一ファイルのダウンロードも可能です。

aws s3 cp s3://{ダウンロード元バケット名}{ファイル名} {ダウンロード先フォルダ} --profile hacknote

終わりに

今回は、コマンドラインを使用してs3のファイルを一括ダウンロードする方法を紹介しました。

そもそも、マネジメントコンソール上で一括ダウンロードができないのが不便なので、今後改善されるような気もしますが、当面は今回ご紹介したコマンドが役に立つのではないかと思います。

また今度は、CloudBerryを使用したGUIでのダウンロードや、AWS CLIの他の使い方もご紹介できればと思います。

コメント

タイトルとURLをコピーしました