我已经通过CDK创建了一个Aurora无服务器V2集群,其中有一个读取器和一个写入器示例。
现在我尝试通过添加一个参数组来为这个集群启用Babelfish:
const auroraParameterGroup = new rds.ParameterGroup(this, "AuroraParameterGroup", {
engine: rds.DatabaseClusterEngine.auroraPostgres({
version: rds.AuroraPostgresEngineVersion.VER_15_2
}),
parameters: {
"rds.babelfish_status": "on"
}
})
字符串
AWS RDS连接器UI显示Babelfish已打开并侦听端口1433。
但是当我尝试使用MSSQL Server Management Studio连接到数据库时,我收到以下错误消息:MS MSM Connect Error
这是Aurora CDK代码:
const auroraCluster = new rds.DatabaseCluster(this, 'AuroraCluster', {
parameterGroup: auroraParameterGroup,
engine: rds.DatabaseClusterEngine.auroraPostgres({
version: rds.AuroraPostgresEngineVersion.VER_15_2
}),
storageEncryptionKey: rdsKey,
instances: 2,
credentials: rds.Credentials.fromSecret(auroraCredentials),
instanceProps: {
enablePerformanceInsights: true,
publiclyAccessible: true,
vpc: props.vpc,
vpcSubnets: props.vpc.selectSubnets({ subnetGroupName: props.databaseSubnetGroupName }),
instanceType: new InstanceType('serverless'),
},
});
auroraCluster.connections.allowFromAnyIpv4(aws_ec2.Port.tcp(5432))
auroraCluster.connections.allowFromAnyIpv4(aws_ec2.Port.tcp(1433)) //babelfish
型
当我通过AWS管理控制台手动使用Babelfish创建Aurora DB时,连接正常。
1条答案
按热度按时间jbose2ul1#
要连接到Babelfish中的TDS端口,必须使用创建示例时指定的master用户。通过PG端口创建PG用户时,不能使用该用户连接到TDS端口(这是设计好的),你会得到你所描述的错误类型。当在TDS中运行CREATE LOGIN时,这将在后台创建一个新的PG用户,该用户将被允许用于连接到TDA端口。最后,请注意,您必须在开始时创建一个启用Babelfish的集群:当你先创建一个PG集群,然后尝试单独启用Babelfish时,这将不起作用(不确定这是否是你正在做的)。