Est-il possible d'utiliser une instance MySQL EC2 RDS comme esclave d'un maître externe?

7

J'ai une instance principale de MySQL sur notre réseau local, mais je me demandais si je pouvais obtenir une instance EC2 RDS pour répliquer le maître ou si celle-ci était verrouillée par Amazon.


la source

Réponses:

4

Apparemment, cela est maintenant possible, mais ce n’est pas totalement "supporté". Amazon va maintenant vous permettre de répliquer un RDS sur un esclave externe et de le répliquer sur un RDS à partir d'un maître externe. Toutefois, leur exclusion de responsabilité suggère qu'ils ne souhaitent pas que cela soit une partie permanente de la configuration de votre serveur.

Personnellement, je n'ai pas testé cela, mais je prévois de l'utiliser pour faciliter la migration à partir d'anciens serveurs non AWS sur lesquels j'héberge diverses bases de données et applications.

Compte tenu de votre question, la documentation AWS ci-dessous s'appliquera le mieux.

Réplication sur RDS à partir d'un maître externe: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.NonRDSRepl.html

Preuve de concept sur le blog de Sönke Ruempler (RDS to External Slave): http://www.ruempler.eu/2013/07/07/replicating-aws-rds-mysql-databases-to-external-slaves/

Jonathan C
la source
En 2016 c'est possible. Voir docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
WooDzu
3

Cela n’était toujours pas pris en charge à partir de février 2011, voyez l’ instance RDS en tant qu’esclave de réplication :

La réplication non-RDS vers RDS n'est actuellement pas prise en charge [...]. Cependant, nous enregistrerons votre intérêt pour la planification de notre future feuille de route.

drcursor
la source
1

Ceci est maintenant officiellement supporté. En plus du lien de John C ( http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.NonRDSRepl.html ), AWS a également créé un webcast (long) sur le sujet: http: //youtu.be/TT1M_XRAlQo

Je ne reproduirai pas entièrement la documentation AWS, mais les étapes abrégées sont les suivantes:

  1. Créez une instance RDS qui servira d'esclave (soit MySQL 5.5 version 5.5.33 ou ultérieure, ou MySQL 5.6 version 5.6.13 ou ultérieure)
  2. Editez le groupe de sécurité RDS pour autoriser l'adresse IP de votre maître externe.
  3. Si le maître externe est un ordinateur EC2, mettez à jour le groupe de sécurité de cet ordinateur pour autoriser les connexions entrantes et sortantes vers votre adresse IP RDS via TCP 3306.
  4. Définissez les variables de serveur sur le maître externe et l'esclave RDS pour autoriser la réplication (par exemple, log-bin, ID de serveur, etc.; débordent le cadre de cette question).
  5. Créer un utilisateur réplicant sur le maître externe
  6. Exécutez votre mysqldump sur le maître externe
  7. Exécutez la tête dump.sql -n80 | grep "MASTER_LOG_POS" pour obtenir les valeurs MASTER_LOG_FILE et MASTER_LOG_POS
  8. Courir mysql -u[RDS username] -h'[RDS IP address]' -p'[password]' < ~/dump.sql
  9. Une fois que le fichier de vidage est chargé sur la machine RDS, vous ne pouvez plus exécuter les mêmes types de commandes que dans MySQL standard pour configurer les variables de réplication. Vous devez donc vous connecter à mysql sur l'instance RDS et l'exécuter.

mysql> CALL mysql.rds_set_external_master ('[external master ip]', 3306, '[replicant username form step 5]', '[replicant password]' , '[MASTER_LOG_FILE value from step 7, e.g., mysql-bin.000042]', [MASTER_LOG_POS value from step 7 e.g., 107] , 1); mysql> call mysql.rds_start_replication;

Dominic O'Connor
la source
Certains détails du lien amélioreraient cette réponse. Les liens se cassent.
Dave M
0

Malheureusement, pas actuellement pris en charge par Amazon. J'espère que dans l'avenir, j'attendrai aussi cette capacité.

Daemon of Chaos
la source
-2

http://aws.amazon.com/about-aws/whats-new/2010/10/05/announcing-read-replicas-lower-high-memory-db-instance-prices-for-amazon-rds/

Amazon AWS:

Nous sommes ravis d'annoncer la publication de réplicas en lecture pour Amazon RDS. Vous pouvez maintenant créer une ou plusieurs répliques d'une instance DB «source» donnée et servir le trafic de lecture entrant à partir de plusieurs copies de vos données. Cette nouvelle option de déploiement de base de données vous permet d’évoluer de manière élastique au-delà des contraintes de capacité d’une seule instance de base de données pour les charges de travail de base de données lues. Vous pouvez utiliser les réplicas en lecture avec la réplication Multi-AZ pour des déploiements de bases de données de production évolutifs, fiables et hautement disponibles. Pour en savoir plus sur la sortie de répliques en lecture, veuillez consulter la publication sur le forum ici.

Outre la publication des réplicas en lecture, nous avons également abaissé les prix à la demande et réservés de l'instance DB à haute mémoire double très grande (m2.2xlarge) et quadruple très grande (m2.4xlarge). Consultez la section tarification de la page de détail Amazon RDS pour plus de détails.

Kedar
la source
3
-1: cette annonce concerne uniquement la fonctionnalité de réplication interne AWS, elle ne répond donc pas à la question. Corrigez ou supprimez votre réponse en conséquence, merci!
Steffen Opel