コンテンツにスキップ

AWS CLI の利用

Note

AWS CLIがシステムに導入されたため、現在はmodule load aws-cliを実行するだけでawsコマンドが利用できます。

概要

ABCIからAWSを利用するためには、利用者ごとにAWSコマンドラインインターフェイス(以下、awscli)をインストールする必要があります。ここでは、awscliのインストールと各種利用方法を記載します。

AWSコマンドラインインターフェイス(awscli)のインストール

pipでインストールします。

[username@es1 testdir]$ pip install awscli

アクセストークンの登録

入手済みのAWSアクセスキーを登録します。

[username@es1 testdir]$ aws configure
AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: 
Default output format [None]:

各種操作例

ここでは、awscli の各種操作方法を説明します。

  • バケットの作成
[username@es1 testdir]$ aws s3 mb s3://abci-access-test
make_bucket: abci-access-test
  • ローカルのファイルをバケットに保存
[username@es1 testdir]$ ls -la 1gb.dat 
-rw-r--r-- 1 username grpname 1073741824 Nov  7 11:27 1gb.dat
[username@es1 testdir]$ aws s3 cp 1gb.dat s3://abci-access-test
upload: ./1gb.dat to s3://abci-access-test/1gb.dat
  • バケット内のファイルを表示(ls)
[username@es1 testdir]$ aws s3 ls s3://abci-access-test 
2018-11-09 10:13:56 1073741824 1gb.dat
  • バケット内のファイルを削除(rm)
[username@es1 testdir]$ aws s3 rm s3://abci-access-test/1gb.dat
delete: s3://abci-access-test/1gb.dat
[username@es1 testdir]$ ls -l dir-test/
total 2097152

-rw-r--r-- 1 username grpname   1073741824 Nov  9 10:16 1gb.dat.1
-rw-r--r-- 1 username grpname   1073741824 Nov  9 10:17 1gb.dat.2
  • ディレクトリを含むファイルごとバケットにアップロード(sync)
[username@es1 testdir]$ aws s3 sync dir-test s3://abci-access-test/dir-test
upload: dir-test/1gb.dat.2 to s3://abci-access-test/dir-test/1gb.dat.2
upload: dir-test/1gb.dat.1 to s3://abci-access-test/dir-test/1gb.dat.1
  • バケット内でディレクトリを含むファイルごとコピー(sync)
[username@es1 testdir]$ aws s3 sync s3://abci-access-test/dir-test s3://abci-access-test/dir-test2
copy: s3://abci-access-test/dir-test/1gb.dat.1 to s3://abci-access-test/dir-test2/1gb.dat.1
copy: s3://abci-access-test/dir-test/1gb.dat.2 to s3://abci-access-test/dir-test2/1gb.dat.2
[username@es1 testdir]$ aws s3 ls s3://abci-access-test/dir-test2/
2018-11-09 10:20:05 1073741824 1gb.dat.1
2018-11-09 10:20:06 1073741824 1gb.dat.2
  • バケットからディレクトリを含むファイルごとダウンロード(sync)
[username@es1 testdir]$ aws s3 sync s3://abci-access-test/dir-test2 dir-test2
download: s3://abci-access-test/dir-test2/1gb.dat.2 to dir-test2/1gb.dat.2
download: s3://abci-access-test/dir-test2/1gb.dat.1 to dir-test2/1gb.dat.1
[username@es1 testdir]$ ls -l dir-test2
total 2097152
-rw-r--r-- 1 username grpname 1073741824 Nov  9 10:20 1gb.dat.1
-rw-r--r-- 1 username grpname 1073741824 Nov  9 10:20 1gb.dat.2
  • バケット内のディレクトリを含むファイルごと削除
[username@es1 testdir]$ aws s3 rm --recursive s3://abci-access-test/dir-test
delete: s3://abci-access-test/dir-test/1gb.dat.2
delete: s3://abci-access-test/dir-test/1gb.dat.1
[username@es1 testdir]$ aws s3 rm --recursive s3://abci-access-test/dir-test2
delete: s3://abci-access-test/dir-test2/1gb.dat.2
delete: s3://abci-access-test/dir-test2/1gb.dat.1
  • バケットを削除
[username@es1 testdir]$ aws s3 rb s3://abci-access-test
remove_bucket: abci-access-test