Как я могу исправить «Кластеры БД, не поддерживаемые для движка» при восстановлении снимка на AWS Aurora? - PullRequest
0 голосов
/ 02 апреля 2020

Я использую AWS API для восстановления снимка кластера. Мой код достаточно прост, и довольно точно следует документации restoreDBClusterFromSnapshot :

await rds.restoreDBClusterFromSnapshot({
  DBClusterIdentifier: SNAPSHOT_NAME,
  SnapshotIdentifier: `arn:aws:rds:eu-west-1:ACCOUNT_ID:cluster-snapshot:SNAPSHOT_NAME`,
  Engine: "postgres",
  EngineMode: 'provisioned',
  EngineVersion: '9.6.12',
  Tags: [
    {
      Key: 'Creator',
      Value: USERNAME
    }
  ]
}).promise()

Однако этот вызов завершается неудачно с

DB Clusters not supported for engine: postgres

Я знаю, что это не так - у нас в работе работает Postgres кластер.

Как восстановить снимок кластера?

1 Ответ

0 голосов
/ 03 апреля 2020

Ошибка немного обманчива - дело не в том, что кластеры недоступны для postgres движка, а в том, что postgres не является допустимым именем движка.

Правильное имя для AWS postgres двигатель стоит aurora-postgresql. Я не смог найти упоминаний об этом в AWS документации , однако:

  1. Запуск rds.describeDBClusters() на существующем кластере, выполненном через Консоль управления показывает двигатель как aurora-postgresql.

  2. Информация о TypeScript для createDBInstance() упоминает:

Допустимые значения: aurora (для MySQL 5.6-совместимая Аврора) aurora- mysql (для MySQL 5.7-совместимая Аврора) aurora- postgresql mariadb mysql oracle -ee oracle -se2 oracle -se1 oracle -se postgres sqlserver-e sqlserver-se sqlserver-ex sqlserver-web

await rds.restoreDBClusterFromSnapshot({
  DBClusterIdentifier: SNAPSHOT_NAME,
  SnapshotIdentifier: `arn:aws:rds:eu-west-1:ID_NUMBER:cluster-snapshot:${SNAPSHOT_NAME}`,
  Engine: "aurora-postgresql",
  EngineMode: 'provisioned',
  EngineVersion: '9.6.12',
  Tags: [
    {
      Key: 'Creator',
      Value: USERNAME
    }
  ]
}).promise()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...