AWS CLIを使って、 S3からファイルを一括ダウンロード
Bloggerに使用していた画像ファイルを、Picasa Web AlbumsからAWS(Amazon Web Services)のS3に移動しています。
そこで問題になったのが、Amazon S3コンソールにはファイルの一括ダウンロードが無い点。
一旦アップロードしたファイルを、一括変更して差し替えする必要があったので困りました。
しかし、AWSコマンドラインインターフェイス(CLI)を使えば簡単に出来ることが判明。
早速、AWS CLIを試してみました。
以下に、手順を簡単に紹介します。
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を試してみました。
以下に、手順を簡単に紹介します。
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年目のオキナワチドリが開花 →