AWS CLIを使って、 S3からファイルを一括ダウンロード
Bloggerに使用していた画像ファイルを、Picasa Web AlbumsからAWS(Amazon Web Services)のS3に移動しています。
そこで問題になったのが、Amazon S3コンソールにはファイルの一括ダウンロードが無い点。
一旦アップロードしたファイルを、一括変更して差し替えする必要があったので困りました。
しかし、AWSコマンドラインインターフェイス(CLI)を使えば簡単に出来ることが判明。
早速、AWS CLIを試してみました。
![AWSコマンドラインインターフェイス(CLI)](https://images.okinawan-lyrics.com/2016/20160220-aws-cli-800px.jpg)
以下に、手順を簡単に紹介します。
1.
まず、AWS CLIを使うためのIAMユーザーを作成します。
AWSにログインして、認証情報で新規ユーザーを登録。
2.
作製したIAMユーザーのセキュリティ認証情報を表示して、アクセスキー IDとシークレットアクセスキーをメモ。
3.
IAMユーザーに、アクセスポリシーを結び付けます。
認証情報のポリシーのリストからAmazonS3FullAccessを選択してクリック。
※自分で新規ポリシーを作ることも出来ます。
タブ「アタッチされたエンティティ」を押して、アタッチをクリック。
表示された一覧から、作成したIAMユーザーを選択して、ポリシーのアタッチ。
4.
パソコンに、AWS CLIをインストール。
※AWS コマンドラインインターフェイスから、インストーラ(AWSCLI64.msi、64bit Windowsの場合)をダウンロード出来ます。
5.
AWS CLIがインストールされたことの確認。
インストールしても、プログラム一覧にAWS CLIが表示される訳ではなく、コマンドプロンプト(cmd.exe)の機能が拡張されます。
コマンドプロンプトに「aws –version」を入力して、aws-cliのバージョンが表示されれば正常にインストールされています。
6.
コマンドプロンプトで、AWSにアクセス。
「aws configure」を入力すると、まずAWSアクセスキー IDを訊いてくるので、手順2でメモした値を入力。
※コマンドプロンプトの表示画面ではペースト(CTRL+V)を使えないので、右クリックで貼り付けを選んでください。
続いて順番に、シークレットアクセスキー(手順2の値を入力)、S3のリージョン(ap-northeast-1)、アウトプットフォーマット(JSON)を訊いてくるので答えを入力。
※手順6で入力した値は保存されるので、2回目以降はENTERキーを押すだけで大丈夫です。
7.
最後は、AWS S3からファイルを一括ダウンロード。
例えば、デスクトップにダウンロードするフォルダを作製した場合は以下を入力。
aws s3 cp s3://バケット名/ダウンロード元のフォルダ名 desktop¥ダウンロード先のフォルダ名 –recursive
※1
S3のファイルコマンドを駆使すれば、ダウンロードするファイルの指定や、パソコンのフォルダとS3の同期など、様々な設定が可能。
詳しくは、CLI リファレンスなどを参照してください。
※2
AWS CLI (Windows 64bit)のバグで、UnicodeWarning (Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal)が出ますが、あまり気にしなくても良いようです。
※3
無料ソフトのMSP360 Explorer Freeware for Amazon S3 (以前のCloudBerry Explorer)がお勧め。
FTPソフトのように使えるので、コマンドを使わなくても、視覚的にローカルのパソコンとAWS S3間でファイル操作が出来ます。
S3にファイルを移動する際に、 Cache-Controlなどのhttpヘッダーも付加できて便利。
そこで問題になったのが、Amazon S3コンソールにはファイルの一括ダウンロードが無い点。
一旦アップロードしたファイルを、一括変更して差し替えする必要があったので困りました。
しかし、AWSコマンドラインインターフェイス(CLI)を使えば簡単に出来ることが判明。
早速、AWS CLIを試してみました。
![AWSコマンドラインインターフェイス(CLI)](https://images.okinawan-lyrics.com/2016/20160220-aws-cli-800px.jpg)
以下に、手順を簡単に紹介します。
1.
まず、AWS CLIを使うためのIAMユーザーを作成します。
AWSにログインして、認証情報で新規ユーザーを登録。
2.
作製したIAMユーザーのセキュリティ認証情報を表示して、アクセスキー IDとシークレットアクセスキーをメモ。
3.
IAMユーザーに、アクセスポリシーを結び付けます。
認証情報のポリシーのリストからAmazonS3FullAccessを選択してクリック。
※自分で新規ポリシーを作ることも出来ます。
タブ「アタッチされたエンティティ」を押して、アタッチをクリック。
表示された一覧から、作成したIAMユーザーを選択して、ポリシーのアタッチ。
4.
パソコンに、AWS CLIをインストール。
※AWS コマンドラインインターフェイスから、インストーラ(AWSCLI64.msi、64bit Windowsの場合)をダウンロード出来ます。
5.
AWS CLIがインストールされたことの確認。
インストールしても、プログラム一覧にAWS CLIが表示される訳ではなく、コマンドプロンプト(cmd.exe)の機能が拡張されます。
コマンドプロンプトに「aws –version」を入力して、aws-cliのバージョンが表示されれば正常にインストールされています。
6.
コマンドプロンプトで、AWSにアクセス。
「aws configure」を入力すると、まずAWSアクセスキー IDを訊いてくるので、手順2でメモした値を入力。
※コマンドプロンプトの表示画面ではペースト(CTRL+V)を使えないので、右クリックで貼り付けを選んでください。
続いて順番に、シークレットアクセスキー(手順2の値を入力)、S3のリージョン(ap-northeast-1)、アウトプットフォーマット(JSON)を訊いてくるので答えを入力。
※手順6で入力した値は保存されるので、2回目以降はENTERキーを押すだけで大丈夫です。
7.
最後は、AWS S3からファイルを一括ダウンロード。
例えば、デスクトップにダウンロードするフォルダを作製した場合は以下を入力。
aws s3 cp s3://バケット名/ダウンロード元のフォルダ名 desktop¥ダウンロード先のフォルダ名 –recursive
※1
S3のファイルコマンドを駆使すれば、ダウンロードするファイルの指定や、パソコンのフォルダとS3の同期など、様々な設定が可能。
詳しくは、CLI リファレンスなどを参照してください。
※2
AWS CLI (Windows 64bit)のバグで、UnicodeWarning (Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal)が出ますが、あまり気にしなくても良いようです。
※3
無料ソフトのMSP360 Explorer Freeware for Amazon S3 (以前のCloudBerry Explorer)がお勧め。
FTPソフトのように使えるので、コマンドを使わなくても、視覚的にローカルのパソコンとAWS S3間でファイル操作が出来ます。
S3にファイルを移動する際に、 Cache-Controlなどのhttpヘッダーも付加できて便利。
← 前の記事:Bloggerの外部CSSおよび画像ファイル置場として、独自ドメインでAWS(Amazon Web Services) S3を使う
次の記事:実生2年目のオキナワチドリが開花 →