问题原因是在AWS CDK中使用JDBC GlueConnection时,默认情况下会忽略Availability Zone。要解决该问题,需要在CDK中指定Connection的Subnet和Security Group,并将Availability Zone添加到其中。
以下是一个示例:
const connection = new glue.CfnConnection(this, 'MyConnection', {
catalogId: '123456789012', //replace this with your account id
connectionInput: {
connectionProperties: {
JDBC_CONNECTION_URL: `jdbc:mysql://${hostname}:${port}/${database}`,
USERNAME: username,
PASSWORD: password,
},
connectionType: 'JDBC',
name: 'MyConnection',
physicalConnectionRequirements: {
subnetId: subnetid,
securityGroupIdList: [
securitygroupid,
],
availabilityZone: availabilityzone,
},
},
});
以上代码会创建一个名为“MyConnection”的连接,并在“physicalConnectionRequirements”中添加了“subnetId”、“securityGroupIdList”和“availabilityZone”属性,以确保在创建GlueConnection时不会忽略Availability Zone。
使用以上代码后,将不再出现“AWS CDK - JDBC GlueConnection - Availability zone ignored?”的问题。