中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用 bash 腳本把 AWS EC2 數據備份到 S3

發布時間:2020-08-20 17:34:48 來源:網絡 閱讀:1132 作者:wzlinux 欄目:云計算

一、IAM 秘鑰授權方式(普通)

Amazon Simple Storage Service (Amazon S3) 是一種面向 Internet 的存儲服務。您可以通過 Amazon S3 隨時在 Web 上的任何位置存儲和檢索的任意大小的數據。您可以使用 AWS 管理控制臺簡單而直觀的 web 界面來完成這些任務。

1.1、打開 IAM

單擊 AWS Identity and Access Management 控制面板左側的用戶。

使用 bash 腳本把 AWS EC2 數據備份到 S3

單擊添加用戶按鈕。
使用 bash 腳本把 AWS EC2 數據備份到 S3

1.2、添加用戶

在用戶名: 旁的文本框中輸入用戶名 (在本示例中,我們將使用 aws_backup),然后從“選擇 AWS 訪問類型”部分中選擇編程訪問。單擊下一步: 權限按鈕。

使用 bash 腳本把 AWS EC2 數據備份到 S3

單擊直接附加現有策略選項。選擇 AdministratorAccess,然后單擊下一步: 審核。

使用 bash 腳本把 AWS EC2 數據備份到 S3

單擊創建用戶。

使用 bash 腳本把 AWS EC2 數據備份到 S3

單擊下載憑證按鈕并將 credentials.csv 文件保存到安全位置 (您稍后在步驟 3 中將需要此文件),然后單擊關閉按鈕。

使用 bash 腳本把 AWS EC2 數據備份到 S3

1.3、安裝和配置 AWS CLI

您已經擁有 IAM 用戶,現在需要安裝 AWS 命令行界面 (CLI)。
有關安裝文檔請查看 https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-install.html 。

我這里直接使用自帶的源安裝。

apt  install awscli

1.4、配置授權

登陸到我們的 Ubuntu 系統,輸入 aws configure,然后按 Enter 鍵。在系統提示時輸入以下信息:

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 角色授權方式(安全)

上面一種方式相對來說已經夠安全了,但是秘鑰信息都以明文的方式存儲在了服務器上面,也變成了一種不安全,那我們就配置一下更加安全的角色方式,角色是賦予信任的實體授予權限的安全方法。

2.1、創建一個 EC2 訪問 S3 的角色

選擇受信任的實體,我們這里選擇 EC2。

使用 bash 腳本把 AWS EC2 數據備份到 S3

賦予訪問 S3 權限。

使用 bash 腳本把 AWS EC2 數據備份到 S3

創建角色。

使用 bash 腳本把 AWS EC2 數據備份到 S3

2.2、為 EC2 添加 訪問 S3 的角色

找到 EC2 實例界面。

使用 bash 腳本把 AWS EC2 數據備份到 S3

選擇我們剛剛創建的角色。

使用 bash 腳本把 AWS EC2 數據備份到 S3

2.3、測試

這里的前提條件是沒有配置秘鑰授權的方式。

aws s3 ls s3://myweb-backup-eu-west-1/

三、使用 AWS CLI 和 S3 備份數據

3.1、創建存儲桶

要新建一個名為myweb-backup的存儲桶,請輸入:

root@ip-172-31-47-132:~# aws s3 mb s3://myweb-backup
make_bucket: myweb-backup

3.2、上傳文件

要將/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  

使用 bash 腳本把 AWS EC2 數據備份到 S3

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 存儲桶中刪除,請使用以下命令:

root@ip-172-31-47-132:~# aws s3 rm s3://myweb-backup/passwd 
delete: s3://myweb-backup/passwd

四、實際案例(使用秘鑰這種方法)

比如我每天把 /etc 目前下面的所有內容打包上傳備份。

#!/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;

然后添加一個定時任務即可。

我這里遇到一個問題,就是放在定時任務之后一直無法上傳成功,不清楚使用角色授權的方式會不會出現這種情況,我覺得應該不會,大家可以自己去試試,通過打印日志查看,發現unable to locate credentials這個問題,找了半天,加了一個環境變量export HOME="/home/ubuntu"解決了,真是費盡周折,如果再遇到手動執行腳本正常,而定時任務不正常,我們可以用下面的辦法對比一下兩種方式的環境變量的區別。

# 定時任務環境變量輸出
set | sort > /tmp/env.cron
# 手動執行腳本輸出
set | sort > /tmp/env.interactive
# 然后進行比較
diff /tmp/env.cron /tmp/env.interactive

為了節省空間,我們可以添加生命周期規則。

使用 bash 腳本把 AWS EC2 數據備份到 S3

參考文檔: https://aws.amazon.com/cn/getting-started/tutorials/backup-to-s3-cli/

歡迎大家掃碼關注,獲取更多信息

使用 bash 腳本把 AWS EC2 數據備份到 S3

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晴隆县| 英德市| 平果县| 洛南县| 西青区| 康乐县| 册亨县| 北票市| 英吉沙县| 江陵县| 正镶白旗| 北辰区| 伊川县| 玛多县| 涟水县| 甘孜县| 彰化县| 葫芦岛市| 陆河县| 福泉市| 施甸县| 吉水县| 南乐县| 岗巴县| 温泉县| 都安| 昌吉市| 平泉县| 渭源县| 澄江县| 师宗县| 吴江市| 安泽县| 沧源| 连州市| 抚松县| 大渡口区| 铜陵市| 吉木乃县| 汶川县| 宣武区|