当記事では、Amazon S3から一括でファイルをダウンロードする方法を紹介します。
S3にあるオブジェクトを全てダウンロードしたい。
マネジメントコンソールだと1ファイルずつしかダウンロードできなくて困ってる。
と、思ってる方におすすめです。
この記事では、以下のことを紹介してます。
- AWS CLIとは
- AWS CLIの設定方法
- S3のバケットからファイルを一括ダウンロードする方法
Amazon S3は、データのバックアップやアーカイブ、ウェブサイトのコンテンツ配信など、多岐にわたる用途で利用されています。しかし、多くのファイルを一度にダウンロードする必要がある場合、マネジメントコンソールだと1ファイルずつしかダウンロードできないため不便です。
本記事では、AWS CLIを使用してS3バケットから複数のファイルをダウンロードする方法と、AWS CLIの設定方法、さらにMFAを設定している場合のコマンド実行方法をご紹介します。
AWS CLIとは
AWS CLIは、Amazon Web Services(AWS)のサービスをコマンドラインから操作するためのツールです。AWS CLIを使用することで、GUIを介さずに迅速にAWSのリソース管理が可能になります。
AWS CLIを利用することで、S3のバケットからオブジェクトを一括ダウンロードできます。
AWS CLIの設定方法
AWS CLIを使用するためには前に、アクセスキー、シークレットキー、リージョン、出力形式を設定する必要があります。
設定にはaws configureコマンドを実行します。この設定により、AWSのリソースに安全にアクセスするための認証情報が設定されます。
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
上記のコマンド例の各項目に利用者毎の情報を入力します。AWSのIAMコンソールで作成したIAMユーザーの認証情報から取得できます。
MFAを設定している場合のAWS CLIコマンドの実行方法
認証でMFAを設定している場合、AWS CLIを使用してリソースとやり取りするには、一時セッションを作成する必要があります。
以下は、MFAデバイスを使用して一時セッションを作成するための手順です。
aws sts get-session-token
コマンドを実行して、一時認証情報を取得します。
$ aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token
返ってきたJSONの中に含まれるAccessKeyId
, SecretAccessKey
, SessionToken
を使用して、環境変数をセットします。
$ export AWS_ACCESS_KEY_ID=example-access-key-id
$ export AWS_SECRET_ACCESS_KEY=example-secret-access-key
$ export AWS_SESSION_TOKEN=example-session-token
この一時認証情報を使用することで、AWS CLIコマンドを実行してAWSのサービスにアクセスすることができます。
一時認証情報の有効期限はデフォルトで12時間ですが、--duration-seconds
オプションを使用して、有効期間を指定することもできます。
S3からファイルをダウンロードするコマンド
S3バケットからファイルをダウンロードする基本的なコマンドは次のとおりです。
aws s3 cp s3://バケット名/ファイルパス ./ローカルディレクトリ --recursive
このコマンドは、指定したバケット内のすべてのファイルを再帰的にダウンロードします。--recursive
オプションを付けることで、サブディレクトリ内のファイルも含めてダウンロードすることができます。
特定のファイルタイプのみをダウンロードしたい場合は、--include
オプションを使用してファイルタイプを指定することができます。例えば、テキストファイルのみをダウンロードするには、次のようにします。
aws s3 cp s3://バケット名/ファイルパス ./ローカルディレクトリ --exclude "*" --include "*.txt" --recursive
まとめ
Amazon S3からファイルを効率的にダウンロードする方法のまとめ
本記事では、Amazon S3から一括でファイルをダウンロードする方法を紹介しました。
AWS CLIは、S3バケットからのファイルダウンロードを簡単かつ効率的に行うための強力なコマンドツールです。MFAを設定している場合でも、一時セッションを作成することで安全にAWSリソースを操作できます。
本記事が皆様の参考となりましたら幸いです。
コメント