あいしんくいっとオススメ商品レビュー

centos7にawscliをインストールしてS3へデータアップロードする方法

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

ども。あいしんくいっと( @ithinkitnet)です。

システム運用を考えた時、バックアップは非常に重要です。
障害によって大事なデータが失われたとしても、バックアップがあれば復旧させる事が出来るからです。

ですが、バックアップでいつも問題になるのは「保存先」です。
バックアップするにもそれなりの領域が必要になりますから、用意するのも大変です。

そんな時に選択肢として検討したいのが、AWSのS3と呼ばれるサービスです。

参考
Amazon S3aws.amazon.com

S3の魅力は「SLA99.999999999%、使い放題」という点に尽きます。
ただし、従量課金なので使ったら使った分だけお金はかかりますが・・・。

というワケで、今回はCentOS7にawscliを導入し、AWSのS3へデータアップロードする方法について書いておきたいと思います。

S3にバックアップフォルダを作成

バックアップ用フォルダ作成

AWSコンソールにログインし、データアップロード用のフォルダを作成します。
32176a9e-e6e1-4113-9140-15c1b734e198
バケット名はユニークなものでないといけません。
c2090000-e63f-4460-9ba7-6ad4154c938b

IAMユーザ作成

S3アップロード用のIAMユーザを作成します。

s3upload
アクセスキー ID:<アクセスキー>
シークレットアクセス:<シークレットキー>

aws-centos7-awscli-s3-upload-4
作成にあたり、アクセスキー及びシークレットキーは忘れずに控えておきます。
(awscliで使います)

作成したIAMユーザには最低限必要なアクセス権を付与しておきます。

IAMポリシー例)


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1463545899000",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

centos7にawscliをセットアップ

awscliインストール

EPELリポジトリ追加


# yum install epel-release

python-pipモジュール追加


# yum -y install python-pip

awscliインストール

# pip install awscli

awscliインストール確認


# aws --version
aws-cli/1.10.29 Python/2.7.5 Linux/3.10.0-123.el7.x86_64 botocore/1.4.20

これでインストールは完了です。

awscliにアクセスキー、シークレットキーを設定

IAMユーザ作成時に取得したアクセスキー、シークレットキーを設定します。


# aws configure
AWS Access Key ID [None]: <アクセスキー>
AWS Secret Access Key [None]: <シークレットキー>
Default region name [None]: ap-northeast-1
Default output format [None]:

awscliコマンド動作確認

# aws s3 ls
2016-05-14 13:24:50 ithinkitnet

S3へデータアップロード

では、S3にテストデータをアップロードしてみたいと思います。


# aws s3 cp test.dat s3://ithinkitnet/
upload: ./test.dat to s3://ithinkitnet/test.dat

無事にアップロード出来ました。

# aws s3 ls ithinkitnet
2016-05-18 13:48:14 512000000 test.dat

AWSコンソールからS3を見てもアップロードされています。
2673e6da-fee2-4782-a975-9db917e4e187
いかがですか。
awscliを使えば、アップロード以外にもS3上のデータを扱う事が可能になります。
スクリプトを作成してCRON登録しておくと、定期的にS3へのバックアップも可能となります。

以上、あいしんくいっとでした( ´Д`)y━・~~

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)