iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
DevOps

AWS Solution Architect Associate的鐵人不只三項證照之路系列 第 4

Day 04 - 資料庫服務也一把抓的RDS

來到了第四天,我們一起來看看RDS是什麼。
RDS是Relational Database Service的縮寫,是AWS提供我們進行資料儲存的一套服務。以下我們依序來探究。

1. 為何要使用RDS:

為何我們不建立一套RDB(Relational Database)在自己專屬的EC2上,反而去使用RDS呢?其實,採用RDS有幾項限制。第一,我們無法進入OS(Operating System)層,去改變RDS的設定;第二,並非所有的DB Engine都是我們可以選擇,亦即部分DB是RDS不支援的。即使RDS有以上兩項限制,仍然可某種程度去進行解套。更重要的是,RDS在資料備份(Data Backup)和資源控管(High Availability)上,提供了給力的服務。我們往下看。

2. RDS如何運作的呢?

即使我們無法在OS層直接調控RDS參數設定,我們可以透過Parameter Group來去調整EBS(可以當作硬碟規格),藉此來提升RDS的規格。
雖然RDS無法支援所有的DB類型,但幾個大宗的DB類型都有包括在內:

  • Aurora
  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle
  • Microsoft SQL Server

剛提到RDS的兩項主要優勢,data backup和high availability,我們接著依序說明。

3.1 Data Backup

Snapshot

  1. 自動化的Snapshot: 當master DB掛掉時,RDS會保留最後一個版本的backup。
  2. 人工的Snapshot: 當master DB掛掉時,RDS會保留所有各個版本的backups。
    若是沒有multi-az,進行snapshot時,I/O執行會按照機器規格和大小,而會有所延滯。

3.2 High Availability

Read Replica

用來支援唯讀的流量分配。Read replica DB會備份master DB,但無法同步,而且一旦mater DB掛掉,Read replica DB也會停止。

Multi-AZ RDS

在Multi-AZ的架構下,Stand-by DB會同時去支援Read Replica的DB和snapshot的工作。也就是就算mater DB掛掉了,stand-by DB依然會全面性的支援master DB的工作,並在master DB掛掉時,啟動將自己轉換成master DB和開起一個新的stand-by DB的機制。


上一篇
Day 03 - 任你存S3
下一篇
Day 05 - 想要夠給力的機器-EC2
系列文
AWS Solution Architect Associate的鐵人不只三項證照之路30

尚未有邦友留言

立即登入留言