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

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 更容易整合

<<:  11 - Metrics - 观察系统的健康指标 (5/6) - 使用 Metricbeat 掌握 Infrastructure 的健康状态 Kubernetes 篇

>>:  Day 11:安全

PPT in Operating system

在学习并行程序设计之前,我们需要先了解 Program 、 Process 、 Thread 的定义...

【PHP Telegram Bot】Day16 - 基础(5):档案读取与写入、cURL

对程序来说,档案的处理与网络传输是差不多的,所以会有一些两者都通用的函式 内建函式 最主要就是这两...

Day 23 介绍 FactoryBot Rails 及设定

该文章同步发布於:我的部落格 首先,我们一样先介绍基本的安装以及设定,当一切就绪的时候,写测试这件...

【Day 23】与 DOM 的互动:Ref

Ref Ref 拥有以下特色: 不须重新渲染就可以更新值 直接抓取 DOM 来控制 DOM 的行为 ...

Day29 黑人变白人 (  皮肤上色 )

黑人变白人 (  皮肤上色 ) 教学原文参考:黑人变白人 (  皮肤上色 ) 这篇文章会介绍在 GI...