iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

邁向 AWS Certified Solutions Architect - Associate系列 第 11

[DAY 11] RDS 之 multi AZ 和 security 相關

  • 分享至 

  • xImage
  •  

multi AZ

  • RDS 的 multi AZ 是為了做到 diaster recovery, 這與 read replicas 有些不同
  • 由一個 AZ 的 master DB replicate 到另一個 AZ 的 standby DB, 這是屬於 sync replciation
  • 不止只需要一個 DNS name, 會自動 failover 到 standby DB
  • 因此這樣做法可以提高 availability
  • 當 AZ 有問題時, 或無網路, 或者個體還是儲存空間有問題時, 就會做 failover
  • 應用程式方面無需有額外動作, 這也不是屬於 scaling

Security - 加密

靜態加密

  • 可以為 master 與讀取用複本以 AWS KMS - AES-256 加密
  • 需要在 RDS 啟動前就要設置好
  • 所以 master 未加密, 其讀取用複本也會是未加密的
  • Oracle 和 SQL Server 則會有 Transparent Data Encryption (TDE, 透明資料加密) 功能
    • 透明資料加密是屬於資料庫層級(Database level), 主要在 Data 及 Log Page 層的 I/O 做加密

動態加密

  • 以 SSL 憑證為傳輸到 RDS DB 的資料做加密
  • 所以在連接資料庫時, 會提供 SSL 選項, 帶入受信任的憑證
    • 例如, MySQL
    grant usage on *.* to 'mysqluser'@'%' require SSL;
    

為資料庫加密

  • 所以未加密資料庫所做出來的 snapshot 也會是未加密的, 已加密資料庫的 snapshot 就會是已加密的
  • 而若要為一個未加密的資料庫做加密時, 需要如下做法
    • 為未加密的資料庫做 snapshot
    • 複製這份 snapshot 並啟用加密選項
    • 從這份 snapshot 做資料庫回存
    • 接著應用程式即可使用這個新的已加密資料庫, 並可以刪除就的未加密資料庫

網路安全方面

  • RDS DB 通常會被放在 private subnet
  • 同時會以 security group 保護, 控制哪個 IP 或是 security group 可以存取 DB

存取方面

  • IAM policies 可以控管誰可以管理 AWS RDS
  • 一般資料庫用戶則還是用帳號與密碼連接資料庫存取資料
  • MySQL 與 PostgreSQL 則是可以用 IAM 做驗證
    • 如此一來就無需密碼, 只需要透過 IAM 與 RDS API 呼叫取得驗證 token 即可存取資料庫
    • 好處:
      • 資料出入網路就需要用 SSL 加密
      • 和 IAM role 與 EC2 個體 profile 更容易整合

上一篇
[DAY 10] AWS RDS
下一篇
[DAY 12] AWS RDS 之 Aurora
系列文
邁向 AWS Certified Solutions Architect - Associate16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言