Amazon Simple Storage Service (Amazon S3) 是一種面向 Internet 的存儲服務。您可以通過 Amazon S3 隨時在 Web 上的任何位置存儲和檢索的任意大小的數(shù)據(jù)。您可以使用 AWS 管理控制臺簡單而直觀的 web 界面來完成這些任務。
創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,先為安居等服務建站,安居等地企業(yè),進行企業(yè)商務咨詢服務。為安居企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。單擊 AWS Identity and Access Management 控制面板左側(cè)的用戶。
單擊添加用戶按鈕。
在用戶名: 旁的文本框中輸入用戶名 (在本示例中,我們將使用 aws_backup),然后從“選擇 AWS 訪問類型”部分中選擇編程訪問。單擊下一步: 權(quán)限按鈕。
單擊直接附加現(xiàn)有策略選項。選擇 AdministratorAccess,然后單擊下一步: 審核。
單擊創(chuàng)建用戶。
單擊下載憑證按鈕并將 credentials.csv 文件保存到安全位置 (您稍后在步驟 3 中將需要此文件),然后單擊關閉按鈕。
您已經(jīng)擁有 IAM 用戶,現(xiàn)在需要安裝 AWS 命令行界面 (CLI)。
有關安裝文檔請查看 https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-install.html 。
我這里直接使用自帶的源安裝。
apt install awscli
登陸到我們的 Ubuntu 系統(tǒng),輸入 aws configure
,然后按 Enter 鍵。在系統(tǒng)提示時輸入以下信息:
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:~#
上面一種方式相對來說已經(jīng)夠安全了,但是秘鑰信息都以明文的方式存儲在了服務器上面,也變成了一種不安全,那我們就配置一下更加安全的角色方式,角色是賦予信任的實體授予權(quán)限的安全方法。
選擇受信任的實體,我們這里選擇 EC2。
賦予訪問 S3 權(quán)限。
創(chuàng)建角色。
找到 EC2 實例界面。
選擇我們剛剛創(chuàng)建的角色。
這里的前提條件是沒有配置秘鑰授權(quán)的方式。
aws s3 ls s3://myweb-backup-eu-west-1/
要新建一個名為myweb-backup
的存儲桶,請輸入:
root@ip-172-31-47-132:~# aws s3 mb s3://myweb-backup
make_bucket: myweb-backup
要將/etc/passwd
文件上傳到 S3 存儲桶 myweb-backup
,您需要使用以下命令:
root@ip-172-31-47-132:~# aws s3 cp /etc/passwd s3://myweb-backup/
upload: ../../etc/passwd to s3://myweb-backup/passwd
要從 S3 中將 passwd 下載至本地目錄,我們需要顛倒命令的次序,如下所示:
root@ip-172-31-47-132:~# aws s3 cp s3://myweb-backup/passwd .
download: s3://myweb-backup/passwd to ./passwd
要將 passwd 從您的 myweb-backup 存儲桶中刪除,請使用以下命令:
root@ip-172-31-47-132:~# aws s3 rm s3://myweb-backup/passwd
delete: s3://myweb-backup/passwd
比如我每天把 /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;
然后添加一個定時任務即可。
我這里遇到一個問題,就是放在定時任務之后一直無法上傳成功,不清楚使用角色授權(quán)的方式會不會出現(xiàn)這種情況,我覺得應該不會,大家可以自己去試試,通過打印日志查看,發(fā)現(xiàn)unable to locate credentials
這個問題,找了半天,加了一個環(huán)境變量export HOME="/home/ubuntu"
解決了,真是費盡周折,如果再遇到手動執(zhí)行腳本正常,而定時任務不正常,我們可以用下面的辦法對比一下兩種方式的環(huán)境變量的區(qū)別。
# 定時任務環(huán)境變量輸出
set | sort > /tmp/env.cron
# 手動執(zhí)行腳本輸出
set | sort > /tmp/env.interactive
# 然后進行比較
diff /tmp/env.cron /tmp/env.interactive
為了節(jié)省空間,我們可以添加生命周期規(guī)則。
參考文檔: https://aws.amazon.com/cn/getting-started/tutorials/backup-to-s3-cli/
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。