有關(guān)安裝文檔請(qǐng)查看 https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-install.html 。
我這里直接使用自帶的源安裝。
apt install awscli
1.4、配置授權(quán)
登陸到我們的 Ubuntu 系統(tǒng),輸入 aws configure,然后按 Enter 鍵。在系統(tǒng)提示時(shí)輸入以下信息:
root@ip-172-31-47-132:~# aws configure
AWS Access Key ID [None]: AKIA5NAGHF6NVEPKATFQ
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-1
Default output format [None]: json
root@ip-172-31-47-132:~#
二、IAM 角色授權(quán)方式(安全)
上面一種方式相對(duì)來(lái)說(shuō)已經(jīng)夠安全了,但是秘鑰信息都以明文的方式存儲(chǔ)在了服務(wù)器上面,也變成了一種不安全,那我們就配置一下更加安全的角色方式,角色是賦予信任的實(shí)體授予權(quán)限的安全方法。
2.1、創(chuàng)建一個(gè) EC2 訪(fǎng)問(wèn) S3 的角色
選擇受信任的實(shí)體,我們這里選擇 EC2。
賦予訪(fǎng)問(wèn) S3 權(quán)限。
創(chuàng)建角色。
2.2、為 EC2 添加 訪(fǎng)問(wèn) S3 的角色
找到 EC2 實(shí)例界面。
選擇我們剛剛創(chuàng)建的角色。
2.3、測(cè)試
這里的前提條件是沒(méi)有配置秘鑰授權(quán)的方式。
aws s3 ls s3://myweb-backup-eu-west-1/
三、使用 AWS CLI 和 S3 備份數(shù)據(jù)
3.1、創(chuàng)建存儲(chǔ)桶
要新建一個(gè)名為myweb-backup的存儲(chǔ)桶,請(qǐng)輸入:
root@ip-172-31-47-132:~# aws s3 mb s3://myweb-backup
make_bucket: myweb-backup
3.2、上傳文件
要將/etc/passwd文件上傳到 S3 存儲(chǔ)桶 myweb-backup,您需要使用以下命令:
root@ip-172-31-47-132:~# aws s3 cp /etc/passwd s3://myweb-backup/
upload: ../../etc/passwd to s3://myweb-backup/passwd
3.3、下載文件
要從 S3 中將 passwd 下載至本地目錄,我們需要顛倒命令的次序,如下所示:
root@ip-172-31-47-132:~# aws s3 cp s3://myweb-backup/passwd .
download: s3://myweb-backup/passwd to ./passwd
3.4、刪除文件
要將 passwd 從您的 myweb-backup 存儲(chǔ)桶中刪除,請(qǐng)使用以下命令:
root@ip-172-31-47-132:~# aws s3 rm s3://myweb-backup/passwd
delete: s3://myweb-backup/passwd
四、實(shí)際案例(使用秘鑰這種方法)
比如我每天把 /etc 目前下面的所有內(nèi)容打包上傳備份。
#!/bin/bash
export HOME=/home/ubuntu
cd /tmp/;
tar -zcPf etc$(date %Y%m%d).tar.gz /etc;
aws s3 cp etc$(date %Y%m%d).tar.gz s3://myweb-backup/;
rm -f etc$(date %Y%m%d).tar.gz;
然后添加一個(gè)定時(shí)任務(wù)即可。
我這里遇到一個(gè)問(wèn)題,就是放在定時(shí)任務(wù)之后一直無(wú)法上傳成功,不清楚使用角色授權(quán)的方式會(huì)不會(huì)出現(xiàn)這種情況,我覺(jué)得應(yīng)該不會(huì),大家可以自己去試試,通過(guò)打印日志查看,發(fā)現(xiàn)unable to locate credentials這個(gè)問(wèn)題,找了半天,加了一個(gè)環(huán)境變量export HOME=/home/ubuntu解決了,真是費(fèi)盡周折,如果再遇到手動(dòng)執(zhí)行腳本正常,而定時(shí)任務(wù)不正常,我們可以用下面的辦法對(duì)比一下兩種方式的環(huán)境變量的區(qū)別。
# 定時(shí)任務(wù)環(huán)境變量輸出
set | sort > /tmp/env.cron
# 手動(dòng)執(zhí)行腳本輸出
set | sort > /tmp/env.interactive
# 然后進(jìn)行比較
diff /tmp/env.cron /tmp/env.interactive
為了節(jié)省空間,我們可以添加生命周期規(guī)則。
參考文檔: https://aws.amazon.com/cn/getting-started/tutorials/backup-to-s3-cli/
歡迎大家掃碼關(guān)注,獲取更多信息
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):www.ps-sw.cn