postgresql 如何使用AWS CDK打开Babelfish

wwodge7n  于 5个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(79)

我已经通过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时,连接正常。

jbose2ul

jbose2ul1#

要连接到Babelfish中的TDS端口,必须使用创建示例时指定的master用户。通过PG端口创建PG用户时,不能使用该用户连接到TDS端口(这是设计好的),你会得到你所描述的错误类型。当在TDS中运行CREATE LOGIN时,这将在后台创建一个新的PG用户,该用户将被允许用于连接到TDA端口。最后,请注意,您必须在开始时创建一个启用Babelfish的集群:当你先创建一个PG集群,然后尝试单独启用Babelfish时,这将不起作用(不确定这是否是你正在做的)。

相关问题