この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと( @ithinkitnet)です。
システム運用を考えた時、バックアップは非常に重要です。
障害によって大事なデータが失われたとしても、バックアップがあれば復旧させる事が出来るからです。
ですが、バックアップでいつも問題になるのは「保存先」です。
バックアップするにもそれなりの領域が必要になりますから、用意するのも大変です。
そんな時に選択肢として検討したいのが、AWSのS3と呼ばれるサービスです。
参考
Amazon S3aws.amazon.com
S3の魅力は「SLA99.999999999%、使い放題」という点に尽きます。
ただし、従量課金なので使ったら使った分だけお金はかかりますが・・・。
というワケで、今回はCentOS7にawscliを導入し、AWSのS3へデータアップロードする方法について書いておきたいと思います。
クリック可能な目次
S3にバックアップフォルダを作成
バックアップ用フォルダ作成
AWSコンソールにログインし、データアップロード用のフォルダを作成します。
バケット名はユニークなものでないといけません。
IAMユーザ作成
S3アップロード用のIAMユーザを作成します。
s3upload
アクセスキー ID:<アクセスキー>
シークレットアクセス:<シークレットキー>
作成にあたり、アクセスキー及びシークレットキーは忘れずに控えておきます。
(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を見てもアップロードされています。
いかがですか。
awscliを使えば、アップロード以外にもS3上のデータを扱う事が可能になります。
スクリプトを作成してCRON登録しておくと、定期的にS3へのバックアップも可能となります。
以上、あいしんくいっとでした( ´Д`)y━・~~