【AWS】如何建立RDS(Relation Database Service)搭建「分擔流量機制」(Read Replica)以及備援機制( Failover )

零、前置作業(VPC相關)

  1. 建立一個VPC(連上IGW),並於上建立一個Public Subnet, 以及三個Private Subnet。
    這四個Subnet都放在不同的AZ之上。

    備註:這次的RDS架構需要這三個Private Subnet ,之後RDS分別會建構上一個 Primary DB和兩個read-only DB。

  2. 創一個NAT Gatewy,並將其設好一個Elastic IP,之後放在Public Subnet上,之後Private Subnet可以透過這個NAT Gateway連至Internet

  3. 因為RDS其實就是一個特化版EC2,所以需要先創建一個Security Group,然後Inbound Rule 設成讓3306port可以連入(For 3306 port)

一、創建Subnet Group(子網路群組)

  1. 因為RDS的標準是會建立一個Primary DB 和兩個 read-only Standby DB 分別在不同的subnet上,所以要先定義好一個Subnet Group給RDS用

  2. 選擇三個private subnet

二、建立RDS Database

  1. 創建RDS

  2. 選擇Mysql、生產環境 ,然後設定DB帳號密碼

  3. 選擇剛剛設好Subnet Group和Security Group(開放3306 port連入)

  4. 約20分鐘,會建立1寫2讀的RDS架構

三、建立一個對外的EC2

  1. 因為不論是Primary DB 還是Standby DB,都是在pirvate裡面,外部無法連入,因此要再創建一個Public EC2,然後後續也會在這個EC2放上專案程式碼,web Server等等

  2. 連線到剛建好的EC2,建立MySQL,打上sudo yum install mysql -y

  3. 複製RDS的Endpoint(端點),然後連線MySQL, mysql -u admin -p -h 「剛剛複製的endpoint」-P 3306