Повторная репликация чтения вызывает ошибку при запросах на чтение

#amazon-web-services #aws-lambda #sequelize.js #amazon-rds

#amazon-web-services #aws-lambda #sequelize.js #amazon-rds

Вопрос:

Мы настраиваем наши параметры продолжения со следующей информацией, чтобы попытаться подключиться к экземплярам AWS RDS Proxy reader / writer

 let sequelizeOptions: any = {
  logging: console.log,
  dialect: 'mysql',
  dialectModule: mysql2,
  dialectOptions: {decimalNumbers: true},
  replication: {
    read: [{host: readonlyHost, password}],
    write: {host: defaultHost, password},
  },
  username,
  port,
  database,
  models: [modelPath   '/!(index).*'],
};

const signer = new AWS.RDS.Signer({
    region: region,
    hostname: {defaultHost},
    port: port,
    username: username,
});
const IamAuthToken = signer.getAuthToken({username});
const readonlySigner = new AWS.RDS.Signer({
    region: region,
    hostname: {readonlyHost},
    port: port,
    username: username,
});
const readonlyIamAuthToken = readonlySigner.getAuthToken({username});

sequelizeOptions.replication.read[0].password = readonlyIamAuthToken;
sequelizeOptions.replication.write.password = IamAuthToken;
 

Это отлично работает при использовании экземпляра записи, но когда мы пытаемся выполнить чтение из таблицы, мы получаем следующую ошибку. {readonlyHost} и {defaultHost} используется вместо конечной точки прокси-сервера AWS в целях безопасности.

 2021-12-09T21:12:57.108Z [INFO] [proxyEndpoint={readonlyHost}] [clientConnection=12345678] Proxy authentication with IAM authentication failed for user "{username}" with TLS on. Reason: The proxy couldn't authenticate using IAM. The expected "Proxy endpoint DNS name" value is "{readonlyHost}" but was "{defaultHost}". Generate a new authentication token and use it in a new client connection.
 

Комментарии:

1. Вероятно, это не имеет значения, но почему replication.read массив содержит только один элемент и replication.write является объектом?

2. @MetroSmurf Мы просто следовали документации. sequelize.org/master/manual/read-replication.html