2012-11-01 13 views
5

Chciałbym zrobić codzienny mysqldump do mojego własnego dysku lokalnego poza ekosystemem Amazon. Mam kilka powodów, dla których chcę to robić codziennie.Amazon RDS mysqldump poza eko-systemem Amazon

  1. Chcę mieć większą kontrolę mojej bazy gdy RDS \ EBS idzie w dół ponownie.
  2. RDS pozwala tylko na przywrócenie w tej samej strefie dostępności. To naprawdę mnie doprowadza, ponieważ klęska żywiołowa lub błąd sieci w strefie dostępności powoduje, że kopie zapasowe są bezużyteczne, ponieważ można przywrócić tylko tę samą strefę. :/
  3. Chciałbym bazy danych piaskownicy/test, w której nie muszę płacić za przestrzeń i przepustowość.

Moje główne pytanie brzmi: czy robię codzienny zrzut mysql z bazy 50 gb, czy moja przepustowość \ IO będzie kosztować niebotycznie? Zakładam, że będą! Czy ktoś wcześniej robił coś takiego?

UPDATE:

  • Używam środowiska produkcyjnego Wielu AZ być niedawne przerwy jeszcze udowodnił, że nie ma czegoś takiego jak kompletne failover.
  • Nasza firma ma dwie usługi, stronę internetową skierowaną do przodu i przetwarzanie wewnętrzne. Najważniejsze jest, aby nasze wewnętrzne operacje nie kończyły się. W razie potrzeby nasza strona internetowa może przez kilka godzin ciemnieć. Posiadanie ostatniego mysql dump na mojej figurze wydaje mi się bezcenne.

Odpowiedz

7

Masz kilka powodów do niepokoju.

Jeśli chodzi o kontrolę nad bazą danych, nie jestem pewien, co tu robisz. Jeśli twoja produkcja DB spadnie, nie masz nad nią kontroli. Nawet jeśli masz lokalną kopię zapasową, to nie zrobi ci to wiele dobrego, jeśli nie masz miejsca do przechowywania tych danych.

Czy Twoja obecna produkcja RDS jest instancją z wieloma AZ, aby pomóc w ochronie przed napięciem AZ? Jeśli tak, to zawiedzie się automatycznie dla ciebie.

Migawki RDS są dostępne do przywrócenia w różnych strefach dostępności. Zobacz dokumentację wiersza polecenia rds-restore-db-instance pod tym linkiem: http://docs.amazonwebservices.com/AmazonRDS/latest/CommandLineReference/CLIReference-cmd-RestoreDBInstanceFromDBSnapshot.html

Pamiętaj, że możesz określić AZ, do którego chcesz przywrócić.

Na podstawie codziennej kopii zapasowej wynoszącej 50 GB, można by mówić o wydaniu 180 USD na transfery danych tylko dla kopii zapasowych. Byłoby DUŻO taniej po prostu mieć mały testowy RDS w tym samym regionie co twoja produkcyjna instancja RDS do testowania (myślę, że to jest jak 5 $/miesiąc za mikro). Przeniesienie wszystkich danych między tymi polami (np. Przeniesienie na nie migawek) byłoby bezpłatne.

Można zrobić matematyki na wycenia się tutaj: http://aws.amazon.com/rds/#pricing

To nie jest wspomnieć, że robi swoje codzienne kopie zapasowe na produkcji będzie przerywać produkcji DB dostępu do czasu blokuje DB wykonać zrzut. Jest tak oczywiście, jeśli nie zapłacisz za replikę odczytu RDS, z której możesz pobrać zrzuty.

Wreszcie, istnieją subtelne różnice między RDS i samodzielnym serwerem MySQL pod względem ich konfiguracji, wolałbym, aby moje środowisko testowe było jak najbardziej zbliżone do mojego środowiska produkcyjnego.

+0

To są świetne punkty i dziękuję za dzielenie się wiedzą z samym sobą i innymi osobami. Zrobiłem aktualizację mojego pytania, aby uwzględnić, że używam Multi-AZ w mojej głównej instancji bazy danych i mam zapasowy serwer mysql do naszego intranetu, którego używałbym do kontynuowania moich wewnętrznych operacji. Myślałem o twoich sugestiach jak read-replicas, ale czuję, że jeszcze bardziej zbliża mnie to do RDS w przypadku odzyskiwania po awarii. –

3

Po prostu spróbuj. Ciągnę z Amazon do mojego lokalnego serwera mysql, którym jest Ubuntu.

Znaki mysqldump -h signs.c3x4aregvxxx.us-east-1.rds.amazonaws.com -P 3306 -u cartersxxx -pxxxxxx | mysql -u root -pxxxxxx znaki

Nie udało mi się z góry ustalić rachunku w Amazon i aktywnie próbuję uciec od nich. FYI Płacę 72 USD/miesiąc za 10 GB mysql przy niskiej przepustowości. Wielkość tabeli IMHO określa koszt.

Powiązane problemy