在 RDS Custom for Oracle 主实例和副本实例之间配置 VPN 隧道 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 RDS Custom for Oracle 主实例和副本实例之间配置 VPN 隧道

VPN 隧道是通过网络在两个或更多个设备之间建立的加密连接。为了确保 RDS Custom for Oracle 中的 Oracle Data Guard 实例具有最高级别的安全性,我们强烈建议您实施 VPN 隧道来对主实例与备用实例之间的通信进行加密。该隧道在实例之间进行网络传输时,可保护敏感数据。虽然此配置是可选的,但我们建议将其作为实现数据安全性和法规合规性的最佳实践。

请确保满足以下先决条件:

  • 您拥有主要主机和备用主机的根访问权限。

  • 您拥有运行 ipsec 命令的技术专业知识。

在 RDS Custom for Oracle 中配置主副本之间的 VPN 隧道
  1. 使用以下规则将主实例和备用实例的安全组添加到允许列表中:

    ACTION FLOW SOURCE PROTO PORT ALLOW ingress this-SG 50 (ESP) all (N/A) ALLOW egress this-SG 50 (ESP) all (N/A) ALLOW ingress this-SG 17 (UDP) 500 (IKE) ALLOW egress this-SG 17 (UDP) 500 (IKE)
  2. 切换到根用户。

    $ sudo su – root
  3. 在主实例和备用实例上运行以下命令,以初始化用户 root 下的网络安全服务(NSS)数据库。

    ipsec initnss --nssdir /etc/ipsec.d
  4. 按如下方式生成 RSA 密钥:

    1. 在主实例上,使用以下任一 ipsec 命令生成密钥,具体取决于您的操作系统版本。

      ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
    2. 获取创建配置所需的公有密钥。在以下示例中,主实例是 left,因为在 ipsec 术语中,left 是指您当前正在配置的设备,而 right 是指隧道另一端的设备。

      ipsec showhostkey --left --ckaid ckaid-returned-in-last-statement
    3. 在备用实例上,为备用实例生成密钥。

      ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
    4. 获取备用实例的公有密钥,创建配置时需要该公有密钥。在以下示例中,备用实例为 right,因为它指的是隧道另一端的设备。

      ipsec showhostkey --right --ckaid ckaid-returned-in-last-statement
  5. 根据您获得的 RSA 密钥生成配置。主实例与备用实例的配置相同。您可以在 Amazon 控制台中找到主实例 IPv4 地址和备用实例 IPv4 地址。

    在主实例和备用实例上,将以下配置保存到文件 /etc/ipsec.d/custom-fb-tunnel.conf 中。

    conn custom-db-tunnel type=transport auto=add authby=rsasig left=IPV4-for-primary leftrsasigkey=RSA-key-generated-on-primary right=IPV4-for-standby rightrsasigkey=RSA-key-generated-on-standby
  6. 在主实例和备用实例上,在两台主机上启动 ipsec 进程守护程序。

    ipsec setup start
  7. 在主实例或备用实例上启动隧道。 输出应类似于以下内容。

    [root@ip-172-31-6-81 ~]# ipsec auto --up custom-db-tunnel 181 "custom-db-tunnel" #1: initiating IKEv2 connection 181 "custom-db-tunnel" #1: sent IKE_SA_INIT request to 172.31.32.196:500 182 "custom-db-tunnel" #1: sent IKE_AUTH request {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=DH19} 003 "custom-db-tunnel" #1: initiator established IKE SA; authenticated peer '3584-bit PKCS#1 1.5 RSA with SHA1' signature using preloaded certificate '172.31.32.196' 004 "custom-db-tunnel" #2: initiator established Child SA using #1; IPsec transport [172.31.6.81-172.31.6.81:0-65535 0] -> [172.31.32.196-172.31.32.196:0-65535 0] {ESP/ESN=>0xda9c4815 <0xb742ca42 xfrm=AES_GCM_16_256-NONE DPD=passive} [root@ip-172-31-6-81 ~]#