Browsing articles tagged with " S3"
4 月
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
7 月
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的空間

6 月
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

 

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