RDS Replicação mista, master em EC2-Classic, réplica em VPC (MySQL)

1

Eu tenho uma instância pesada do RDS (MySQL) no EC2-Classic com três instâncias de réplica de leitura. Estamos no plano de mover alguns dos nossos micro-serviços para o VPC e alguns deles precisam ler sobre essas instâncias de réplica (não temos planos de mover completamente essas instâncias do RDS para o VPC a médio prazo). O primeiro pensamento que me veio à mente foi criar uma réplica de leitura dentro do VPC (eu já criei um grupo de sub-rede), mas recebi uma mensagem de erro:

At least one security group 'xxxxx' (Non-VPC) and subnet group 'dbsubnetgroup' (in VPC 'vpc-123456') are not in common VPC. (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 5a8f57fb-f5b4-11e5-996f-d16e3527730f)

Eu tentei conseguir isso usando o AWS CLI:

aws rds create-db-instance-read-replica --db-instance-identifier replica-name --source-db-instance-identifier spurce-name --db-subnet-group-name sbsubnetgroup-name --region us-east-1

A client error (DBSubnetGroupNotAllowedFault) occurred when calling the CreateDBInstanceReadReplica operation: DbSubnetGroupName should not be specified for read replicas that are created in the same region as the master

Então, até onde eu vejo, esse tipo de replicação não é permitido dentro da mesma região, mas funciona apenas em uma forma de região cruzada?

Existe uma maneira de resolvê-lo?

Obrigado antecipadamente

    
por Jose Peinado 30.03.2016 / 20:42

1 resposta

1

Sim, funciona na região, mas dentro de uma região não funciona, exceto em uma única VPC.

Há algo de uma solução alternativa, no entanto.

Em vez de criar uma réplica, você cria um mestre. Carregue-o com um dump do mestre original e, em seguida, configure-o para replicar, temporariamente, a partir do mestre "externo". Existem procedimentos armazenados em cada instância do RDS para permitir que isso seja feito, uma vez que, sem o privilégio SUPER , seria impossível.

Veja a Replicação com uma Instância do MySQL ou do MariaDB em Execução Externa para Amazon RDS .

Você terá que pular as etapas 1 e 4 e encontrar outra maneira de evitar todas as gravações no seu mestre enquanto o arquivo de despejo é iniciado, pois o RDS não permitirá FLUSH TABLES WITH READ LOCK; .

    
por 31.03.2016 / 00:36