CONTACT
お問い合わせ

AWS CLIをLinuxで利用しS3へのデータバックアップ

AWS CLIをLinuxで利用しS3へのデータバックアップを記述する。

目次

AWS CLIをLinuxで利用しS3へのデータバックアップ

  1. 概要
  2. インストールおよび実行手順

1.概要

NAS(ファイルサーバ)上のファイル群をAWS CLIを利用してLinuxサーバからAmazonS3バケットにファイルをアップする。
LinuxへのAWS CLIコマンドインストール、NAS(ファイルサーバ)へのマウント、AWS CLIコマンドでのAmazonS3へのファイルアップを説明する。

※参考:バンドルされたインストーラを使用して AWS CLI をインストールする (Linux, macOS, or Unix)

2.インストールおよび実行手順

AmazonCLIインストール

[root@Cancer ~]# python --version
Python 2.6.6
[root@Cancer ~]# curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
 % Total % Received % Xferd Average Speed Time Time Time Current
               Dload Upload Total Spent Left Speed
100 10.9M 100 10.9M 0 0 2711k 0 0:00:04 0:00:04 --:--:-- 3188k
[root@Cancer ~]# ls
anaconda-ks.cfg cmdline-jmxclient-0.10.3.jar install.log.syslog     ダウンロード デスクトップ ビデオ 画像
awscli-bundle.zip install.log          yamaha-private-mib.tar.gz テンプレート ドキュメント 音楽 公開
[root@Cancer ~]# unzip awscli-bundle.zip
Archive: awscli-bundle.zip
 inflating: awscli-bundle/install
 inflating: awscli-bundle/packages/docutils-0.14.tar.gz
 inflating: awscli-bundle/packages/python-dateutil-2.6.1.tar.gz
 inflating: awscli-bundle/packages/s3transfer-0.2.0.tar.gz
 inflating: awscli-bundle/packages/urllib3-1.24.1.tar.gz
 inflating: awscli-bundle/packages/jmespath-0.9.3.tar.gz
 inflating: awscli-bundle/packages/argparse-1.2.1.tar.gz
 inflating: awscli-bundle/packages/six-1.12.0.tar.gz
 inflating: awscli-bundle/packages/ordereddict-1.1.tar.gz
 inflating: awscli-bundle/packages/awscli-1.16.110.tar.gz
 inflating: awscli-bundle/packages/botocore-1.12.100.tar.gz
 inflating: awscli-bundle/packages/python-dateutil-2.8.0.tar.gz
 inflating: awscli-bundle/packages/simplejson-3.3.0.tar.gz
 inflating: awscli-bundle/packages/colorama-0.3.9.tar.gz
 inflating: awscli-bundle/packages/virtualenv-15.1.0.tar.gz
 inflating: awscli-bundle/packages/futures-3.2.0.tar.gz
 inflating: awscli-bundle/packages/pyasn1-0.4.5.tar.gz
 inflating: awscli-bundle/packages/urllib3-1.22.tar.gz
 inflating: awscli-bundle/packages/rsa-3.4.2.tar.gz
 inflating: awscli-bundle/packages/PyYAML-3.13.tar.gz
 inflating: awscli-bundle/packages/setup/setuptools_scm-1.15.7.tar.gz

[root@Cancer ~]# ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Running cmd: /usr/bin/python virtualenv.py --no-download --python /usr/bin/python /usr/local/aws
Running cmd: /usr/local/aws/bin/pip install --no-cache-dir --no-index --find-links file:///root/awscli-bundle/packages/setup setuptools_scm-1.15.7.tar.gz
Running cmd: /usr/local/aws/bin/pip install --no-cache-dir --no-index --find-links file:///root/awscli-bundle/packages awscli-1.16.110.tar.gz
You can now run: /usr/local/bin/aws --version

[root@Cancer ~]# aws --version
aws-cli/1.16.110 Python/2.6.6 Linux/2.6.32-431.el6.x86_64 botocore/1.12.100

[root@Cancer ~]# aws configure
AWS Access Key ID [None]: *********<手動入力>**********
AWS Secret Access Key [None]: ***********<手動入力>**********
Default region name [None]: ap-northeast-1
Default output format [None]:

ファイルサーバのマウント

[root@Cancer ~]# mount -t cifs -o username=XXXX,password=XXXXX //192.168.3.200/share /zeus/share/
[root@Cancer ~]# mount
/dev/mapper/vg_cancer-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
//192.168.3.200/share on /zeus/share type cifs (rw)

ファイルサーバのデータをAmazonS3に同期(アップロード)

[root@Cancer ~]# aws s3 sync /zeus/share/ s3://backup-hq-zeus/share --delete
aws s3 sync <ローカルディレクトリ(パス)> s3://<バゲット名>/<パス名> --delete