Browsing articles tagged with " S3"
四月
11
2014

使用s3cmd將EC2的資料庫備份到S3

EC2是使用EBS當作儲存的空間,而EBS標準的儲存費用是每GB $0.08,而S3標準的儲存費用是每GB $0.033,算下來有兩倍多的價差,因此將資料庫備份存放在S3是比較節省費用的方式。

AWS將於2014年4月21日取消原本使用root帳號的access key和secret key的方式,詳細內容請看
官方公告: Coming soon! An important change to how you manage your AWS account’s access keys

首先我們先假設以下幾件事情

  • 已經建立好/root/mysqlbackup這個目錄
  • 已經有access key和secret key,不管是使用原本AWS root帳號或者是使用IAM的方式取得
  • 已經建立好S3 bucket,並且設置好相關的權限

1. 前置作業: 安裝s3cmd

安裝的方式可以使用yum或者是apt-get等方式,如果是使用yum記得要加入epel這個repo

2. 設定s3cmd

執行s3cmd –configure(注意是兩個-),根據畫面的提示填入access key和secret key,以及其它的設定

3. 完成前面兩個步驟之後,我們就可以透過下面的步驟達成以下的目的

  • 建立名為db-backup.sh的備份執行檔
  • 建立七天一個循環的資料庫備份
  • 將壓縮的備份檔傳送到S3
  • 刪除本地的備份檔
  • 每天凌晨兩點鐘自動進行備份

cd /root
vi db-backup.sh

#!/bin/sh
weekday=$(date +%a) #抓出今天是星期幾

mysqldump -u資料庫帳號 --password='資料庫密碼' --add-drop-table 要備份的資料庫名稱 > mysqlbackup/備份檔案的名稱.sql #執行資料庫備份
tar -jpcf mysqlbackup/備份檔案的名稱_$weekday.tar.bz2 mysqlbackup/備份檔案的名稱.sql #將備份檔壓縮
s3cmd put mysqlbackup/備份檔案的名稱_$weekday.tar.bz2 s3://S3的bucket名稱/ #將壓縮的備份檔傳送到S3

# 移除本地的備份檔案
cd /root/mysqlbackup/
rm -f 備份檔案的名稱.sql 備份檔案的名稱_$weekday.tar.bz2

4. 測試

chmod 700 db-backup.sh
./db-backup.sh

5. 加入排程

crontab -e
00 02 * * * /root/db-backup.sh

存檔離開
後續我會繼續寫如何搭配IAM,並且建立適宜的權限來進行備份到S3
七月
19
2013

AWS Essentials 筆記

這裡紀錄幾項我參加AWS Essentials之後覺得比較重要的筆記,至少是我自己覺得重要啦 XD

1. 第一次開啟S3 log功能需要等一個小時之後才會有log可以查看

2. S3 GUI工具

3. CloudFront 測試是否啟用的檢測工具 gomez

4. 新增EC2 instatance如果有變更預設的大小,登入console之後記得要執行下面的指令,xvda1請根據實際的代號修改

resize2fs /dev/xvda1

5. 如果有使用Auto Scaling,為避免session遺失,最好的做法是把session存放在資料庫裡面

6. RDS如果使用PIOPS,PIOPS和所需的空間比是 1:10。也就是3萬的PIOPS需要有3T的空間

六月
19
2013

使用自己的網域來架設AWS S3 Web Hosting

我在facebook加入一個AWS在台灣的社團,裡面有人提問如果使用S3的web hosting要怎麼樣在不多花錢使用Route 53的前提下使用自己的domain,我實驗之後貼上來,希望對有這樣需求的同學有點幫助

1. 建立的bucket名稱和domain是一樣, 我使用s3.hsdn.net

2. 上傳文件到這個bucket,並且make public

3. 將bucket設定enable website hosting

4. save之後會得到一組網址

5. 到domain管理介面設定cname把s3.hsdn.net指向他

 

測試結果

(1) S3 enable website hosting的網址是 http://s3.hsdn.net.s3-website-ap-northeast-1.amazonaws.com/

(2) 我自己設定的cname http://s3.hsdn.net

 

我測試是可以成功的,如果有問題可以再討論看看其他有什麼方法可以解決