TOP ▲
itcore TOP
> TIPS
> aws_s3.php
タグ:aws s3 iam ec2 EC2 を S3 ヘ定期バックアップ | itcore 2021年
S3 バケット作成
AWS S3
バケットを作成
バケット名 bucket-xxx.jp-001 ドメイン名を入れるなど他とぶつからない名前
AWS リージョン 東京 ap-northeast-1
バケットを作成
IAMロール作成
AWS IAMロール
ロールの作成 AWSサービス EC2 次のステップ:アクセス制御
ポリシーのフィルター S3
AmazonS3FullAccess をチェック
次のステップ:タグ
タグの追加 入力なし
次のステップ:確認
ロール名 s3_full_access
ロールの作成
EC2へIAMロールをアタッチ
AWS EC2インスタンス
インスタンスをチェック
アクション>セキュリティ>IAMロールを変更
s3_full_access を選択>保存
AWS CLI version2 インストール
cd
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
S3 へのアクセス確認
aws s3 ls s3://bucket-xxx.jp-001
aws s3 cp /etc/hosts s3://bucket-xxx.jp-001/hosts
aws s3 rm s3://bucket-xxx.jp-001/hosts
バックアップ 日次7世代 月次12世代
cd
mkdir bkup
cd bkup
vi bkup_daily.sh
# 日次7世代 月次12世代のバックアップ
dt=`date "+%Y%m%d_%H%M%S"`
w=`date "+%w"`
db=xxx
dir=/var/prj
bkup=/home/ec2-user/bkup
s3=s3://bucket-xxx.jp-001/bkup
echo w=$w m=$m db=$db dir=$dir bkup=$bkup s3=$s3
mysqldump --defaults-extra-file=/home/ec2-user/pw.my.cnf -h localhost -P3306 -u root --databases $db > $bkup/w$w.db.sql
(cd $dir; tar czf $bkup/w$w.dir.tar,gz .)
aws s3 cp $bkup/w$w.db.sql $s3/w$w.db.sql
aws s3 cp $bkup/w$w.db.sql $s3/m$m.db.sql
aws s3 cp $bkup/w$w.dir.tar,gz $s3/w$w.dir.tar,gz
aws s3 cp $bkup/w$w.dir.tar,gz $s3/m$m.dir.tar,gz
aws s3 ls $s3/
chmod +x bkup_daily.sh
cron
crontab -e
1 1 * * * /home/ec2-user/bkup/bkup_daily.sh > /tmp/bkup_daily.log 2>&1