8.2. 流程
以下流程包含两个部分:
- 在 eu-west-1 中使用名称 "keycloak-aurora" 创建 Aurora Multi-AZ 数据库集群。
- 在 ROSA 集群和 Aurora VPC 之间创建对等连接,以允许 ROSA 集群上部署的应用程序与数据库建立连接。
8.2.1. 创建 Aurora 数据库集群 复制链接链接已复制到粘贴板!
为 Aurora 集群创建一个 VPC
命令:
aws ec2 create-vpc \ --cidr-block 192.168.0.0/16 \ --tag-specifications "ResourceType=vpc, Tags=[{Key=AuroraCluster,Value=keycloak-aurora}]" \ --region eu-west-1
aws ec2 create-vpc \ --cidr-block 192.168.0.0/16 \ --tag-specifications "ResourceType=vpc, Tags=[{Key=AuroraCluster,Value=keycloak-aurora}]" \
1 --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 我们使用 Aurora 集群的名称添加可选标签,以便我们可以轻松地检索 VPC。
输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用新创建的 VPC 的
VpcId
为 Aurora 部署到的每个可用区创建一个子网。注意为每个可用区指定的 cidr-block 范围不得互相重叠。
区域 A
命令:
aws ec2 create-subnet \ --availability-zone "eu-west-1a" \ --vpc-id vpc-0b40bd7c59dbe4277 \ --cidr-block 192.168.0.0/19 \ --region eu-west-1
aws ec2 create-subnet \ --availability-zone "eu-west-1a" \ --vpc-id vpc-0b40bd7c59dbe4277 \ --cidr-block 192.168.0.0/19 \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow zone B
命令:
aws ec2 create-subnet \ --availability-zone "eu-west-1b" \ --vpc-id vpc-0b40bd7c59dbe4277 \ --cidr-block 192.168.32.0/19 \ --region eu-west-1
aws ec2 create-subnet \ --availability-zone "eu-west-1b" \ --vpc-id vpc-0b40bd7c59dbe4277 \ --cidr-block 192.168.32.0/19 \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
获取 Aurora VPC 路由表 ID
命令:
aws ec2 describe-route-tables \ --filters Name=vpc-id,Values=vpc-0b40bd7c59dbe4277 \ --region eu-west-1
aws ec2 describe-route-tables \ --filters Name=vpc-id,Values=vpc-0b40bd7c59dbe4277 \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 关联 Aurora VPC 路由表每个可用区的子网
区域 A
命令:
aws ec2 associate-route-table \ --route-table-id rtb-04a644ad3cd7de351 \ --subnet-id subnet-0d491a1a798aa878d \ --region eu-west-1
aws ec2 associate-route-table \ --route-table-id rtb-04a644ad3cd7de351 \ --subnet-id subnet-0d491a1a798aa878d \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow zone B
命令:
aws ec2 associate-route-table \ --route-table-id rtb-04a644ad3cd7de351 \ --subnet-id subnet-057181b1e3728530e \ --region eu-west-1
aws ec2 associate-route-table \ --route-table-id rtb-04a644ad3cd7de351 \ --subnet-id subnet-057181b1e3728530e \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建 Aurora 子网组
命令:
aws rds create-db-subnet-group \ --db-subnet-group-name keycloak-aurora-subnet-group \ --db-subnet-group-description "Aurora DB Subnet Group" \ --subnet-ids subnet-0d491a1a798aa878d subnet-057181b1e3728530e \ --region eu-west-1
aws rds create-db-subnet-group \ --db-subnet-group-name keycloak-aurora-subnet-group \ --db-subnet-group-description "Aurora DB Subnet Group" \ --subnet-ids subnet-0d491a1a798aa878d subnet-057181b1e3728530e \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Aurora 安全组
命令:
aws ec2 create-security-group \ --group-name keycloak-aurora-security-group \ --description "Aurora DB Security Group" \ --vpc-id vpc-0b40bd7c59dbe4277 \ --region eu-west-1
aws ec2 create-security-group \ --group-name keycloak-aurora-security-group \ --description "Aurora DB Security Group" \ --vpc-id vpc-0b40bd7c59dbe4277 \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
{ "GroupId": "sg-0d746cc8ad8d2e63b" }
{ "GroupId": "sg-0d746cc8ad8d2e63b" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Aurora DB 集群
命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您应该替换
--master-username
和--master-user-password
值。在配置红帽构建 Keycloak 数据库凭证时,必须使用此处指定的值。输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Aurora DB 实例
Create Zone A Writer 实例
命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create Zone B Reader 实例
命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
等待所有 Writer 和 Reader 实例就绪
命令:
aws rds wait db-instance-available --db-instance-identifier keycloak-aurora-instance-1 --region eu-west-1 aws rds wait db-instance-available --db-instance-identifier keycloak-aurora-instance-2 --region eu-west-1
aws rds wait db-instance-available --db-instance-identifier keycloak-aurora-instance-1 --region eu-west-1 aws rds wait db-instance-available --db-instance-identifier keycloak-aurora-instance-2 --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Obtain the Writer 端点 URL 用于 Keycloak
命令:
aws rds describe-db-clusters \ --db-cluster-identifier keycloak-aurora \ --query 'DBClusters[*].Endpoint' \ --region eu-west-1 \ --output text
aws rds describe-db-clusters \ --db-cluster-identifier keycloak-aurora \ --query 'DBClusters[*].Endpoint' \ --region eu-west-1 \ --output text
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
[ "keycloak-aurora.cluster-clhthfqe0h8p.eu-west-1.rds.amazonaws.com" ]
[ "keycloak-aurora.cluster-clhthfqe0h8p.eu-west-1.rds.amazonaws.com" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.2. 使用 ROSA 集群建立对等连接 复制链接链接已复制到粘贴板!
为每个包含红帽构建的 Keycloak 部署 ROSA 集群执行这些步骤。
检索 Aurora VPC
命令:
aws ec2 describe-vpcs \ --filters "Name=tag:AuroraCluster,Values=keycloak-aurora" \ --query 'Vpcs[*].VpcId' \ --region eu-west-1 \ --output text
aws ec2 describe-vpcs \ --filters "Name=tag:AuroraCluster,Values=keycloak-aurora" \ --query 'Vpcs[*].VpcId' \ --region eu-west-1 \ --output text
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
vpc-0b40bd7c59dbe4277
vpc-0b40bd7c59dbe4277
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索 ROSA 集群 VPC
-
使用
oc
登录到 ROSA 集群 检索 ROSA VPC
命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
vpc-0b721449398429559
vpc-0b721449398429559
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
使用
创建对等连接
命令:
aws ec2 create-vpc-peering-connection \ --vpc-id vpc-0b721449398429559 \ --peer-vpc-id vpc-0b40bd7c59dbe4277 \ --peer-region eu-west-1 \ --region eu-west-1
aws ec2 create-vpc-peering-connection \ --vpc-id vpc-0b721449398429559 \
1 --peer-vpc-id vpc-0b40bd7c59dbe4277 \
2 --peer-region eu-west-1 \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 Peering 连接存在
命令:
aws ec2 wait vpc-peering-connection-exists --vpc-peering-connection-ids pcx-0cb23d66dea3dca9f
aws ec2 wait vpc-peering-connection-exists --vpc-peering-connection-ids pcx-0cb23d66dea3dca9f
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接受对等连接
命令:
aws ec2 accept-vpc-peering-connection \ --vpc-peering-connection-id pcx-0cb23d66dea3dca9f \ --region eu-west-1
aws ec2 accept-vpc-peering-connection \ --vpc-peering-connection-id pcx-0cb23d66dea3dca9f \ --region eu-west-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 ROSA 集群 VPC 路由表
命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 Aurora 安全组
命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ROSA 集群的 "machine_cidr"
输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow