2014-09-29 23 views
6

Po prostu próbuję połączyć się z instancją RDS MySQL Amazon z MySQL Workbench na mojej lokalnej maszynie. Nie próbuję połączyć się z instancją EC2 lub jakimkolwiek innym serwerem w tym momencie ani zrobić nic specjalnego. Po prostu chcę się połączyć w najbardziej podstawowy sposób, dzięki czemu mogę dodać bazę danych, tabele i niektóre dane z poziomu MySQL Workbench.Proste połączenie z bazą danych MySQL Amazon RDS MySQL Workbench

Mam aplikację MySQL Workbench pobraną i zainstalowaną na moim komputerze Mac z systemem OSX 10.9.4.

Skonfigurowałem instancję RDS MySQL na Amazon AWS.

Mam grupę zabezpieczeń EC2, która jest autoryzowana dla tej instancji RDS. (? Czy muszę być przy użyciu grupy zabezpieczeń CIDR/IP Jeśli więc można przejść do bardziej szczegółowo proszę)

Otworzyłem MySQL Workbench i jestem w konfiguracji nowym oknie gra:

  • Sposób połączenia jest ustawiony na Standard (TCP/IP).
  • Nazwa hosta to punkt końcowy znajdujący się pod moim panelem RDS dla tej instancji
  • Nazwa użytkownika jest moją główną nazwą użytkownika, którą utworzyłem podczas tworzenia tej instancji RDS .
  • Hasło prosi o "Przechowuj w pęku kluczy ..." Podczas tworzenia tej instancji usługi RDS umieszczam hasło, które utworzyłem .

Kiedy przetestować połączenie w stół, pojawia się błąd:

Can't connect to MySQL server on 'SERVER_IP_ADDRESS' (60) 

Co robię źle? Zaczynaj krok po kroku od początku dla początkującego.

+0

Być może będziesz musiał odblokować port w zaporze, z której korzysta Amazon, możesz to zrobić w instancjach w panelu administracyjnym. – Carlos487

+0

Czy mogę nawet połączyć się z mojego komputera lub czy muszę połączyć się przez instancję EC2? Czy muszę utworzyć nową grupę zabezpieczeń typu CIDR/IP? – brno792

Odpowiedz

0

Masz kilka opcji:

  • otworzyć RDS bezpośredni dostęp do adresu IP komputera. To powinno być łatwe do zrobienia, ale może nie być tak bezpieczne, jeśli twój adres IP nie jest statyczny lub jest dostarczany przez NAT, co pozwoliłoby innym komputerom na współużytkowanie tego samego adresu IP.
  • Uzyskaj dostęp do RDS przez tunel SSH na swojej instancji EC2. Wstawisz SSH do instancji EC2 za pomocą odpowiedniego klucza, a następnie połączysz się z RDS. Jest to prawdopodobnie najlepsza konfiguracja z punktu widzenia bezpieczeństwa, ponieważ nie musisz otwierać żadnych dodatkowych dziur w zaporze RDS, a ty zazwyczaj masz dostęp do SSH, aby uzyskać dostęp do twojej instancji EC2.
+0

Gdzie jest klucz prywatny? – Timeless

0

Wygląda na przyzwoitego, ponieważ Amazon instructions for the task przyzwoity, więc nie zamierzam kopiować tego wszystkiego; tylko odpowiednie części. I korzystać z linii poleceń, ale te same ustawienia ubiegać MySQL Workbench także:

mysql -h hostname 

Jeżeli to nie pomaga, nie krępuj się, aby dodać komentarz.

4

I have an EC2 Security Group that is authorized for this RDS instance. (Should I be using a CIDR/IP security group? If so can you go into more detail please)

To część, której wydaje się być brakująca. Musisz edytować ustawienia grupy zabezpieczeń:

  • trzeba autoryzować IP komputera, który próbuje połączyć się z instancją RDS przez CIDR/IP.Jeśli używasz tego samego komputera do edycji grupy zabezpieczeń, której używasz do próby połączenia się za pomocą MySQL Workbench, wówczas po wybraniu "Typ połączenia: CIDR/IP" (u dołu ustawień grupy zabezpieczeń) okno dialogowe zostanie automatycznie -pełnij swój własny blok IP (twoje IP dołączone z/32).

  • Kliknij Autoryzuj i to powinno wystarczyć.

doznałem upoważnienia do trwać od kilku sekund do minuty, aby zakończyć wizualnie w konsoli AWS, ale gdy mówi „Autoryzowany” połączenie powinno działać.

To oczywiście zakładając, że twój ciąg połączenia jest poprawny. ;)

1

kilka rzeczy, które chcesz mieć pewność:

  • Twoja grupa zabezpieczeń VPC zezwala na połączenia na porcie używasz (domyślnie 3306).
  • Upewnij się, że masz podłączoną bramkę internetową do swojej VPC.
  • Tabela tras podsieci musi zawierać trasę, która kieruje ruch związany z Internetem do bramy internetowej. (source)

Dla mnie, ostatni przeszedł. W szczególności dodałem miejsce docelowe do tabeli tras prowadzące do 0.0.0.0/0 (ALL). Nie znam wpływu tego na bezpieczeństwo, ale zadziałało to później. To jest dla mnie baza danych throwaway i jest odizolowana od innych instancji/VPC.

1

Ten link pomógł mi:

http://domino.symetrikdesign.com/2010/10/07/how-to-create-a-mysql-workbench-connection-to-amazon-ec2-server/

SSH hosta DNS powinna być publiczna instancji EC2.

Nazwa użytkownika SSH powinna być nazwą użytkownika dla instancji EC2 (np .: użytkownik ec2).

Hasło SSH powinno być twoim hasłem dla instancji EC2.

MySQL Nazwa hosta powinna być „punkt końcowy, które można znaleźć na RDS Dashboard”

Nazwa użytkownika i hasło powinny być nazwa użytkownika i hasło dla instancji RDS.

0

Odpowiedź e.thompsy pomogła mi jednak od tego czasu zmieniło się w interfejsie AWS. Aby umożliwić komputerowi IP uzyskanie dostępu do instancji MySQL:

  1. Przejdź do pulpitu nawigacyjnego RDS i kliknij opcję Intances. Spowoduje to wyświetlenie instancji RDS.
  2. Rozwiń instancję RDS, do której chcesz uzyskać dostęp.
  3. W sekcji Network Security &, grupa bezpieczeństwa znajduje się na liście i będzie miał identyfikator nazwy grupy bezpieczeństwa (SG-xxxxxx)
  4. W osobnej zakładce, otwórz panel EC2.
  5. W menu po lewej stronie pod "Sieć & Bezpieczeństwo", kliknij "Grupy zabezpieczeń"
  6. Kliknij grupę zabezpieczeń z odpowiednim identyfikatorem grupy z instancji RDS.
  7. Opcje wymienione są poniżej dla tej grupy. Kliknij "Przychodzące".
  8. Kliknij "Edytuj". Pojawi się okno dialogowe.
  9. Kliknij "Dodaj regułę"
  10. Wybierz MYSQL/Aurora i wypełni on TCP dla protokołu i 3306 dla zakresu portów, który jest domyślnym portem MySQL. Jeśli chcesz to zmienić, wybierz opcję Niestandardowy protokół TCP i wprowadź zakres, który chcesz otworzyć.
  11. Z rozwijanego menu "Źródło" wybierz "Mój IP", jeśli jesteś na komputerze, do którego potrzebujesz dostępu, w przeciwnym razie wybierz "Niestandardowy" i wprowadź adres IP urządzenia, aby uzyskać dostęp, a następnie "/ 32"
  12. Kliknij przycisk Zapisz, a następnie połącz się za pomocą programu MySql Workbench za pomocą "Standardowego protokołu TCP/IP" z punktem końcowym RDS, korzystając z określonego portu. Będziesz musiał oczywiście wpisać nazwę użytkownika/hasło.

Nie mam informacji o implikacjach związanych z bezpieczeństwem związanych z otwarciem tego portu na adres IP. Jeśli się martwisz, sugeruję, abyś odwołał regułę przychodzącą, gdy skończysz wymagać dostępu do instancji RDS.

1
  1. W grupie zabezpieczeń AWS, otwarty 3306 dla połączeń przychodzących z komputera
  2. przywileje grant na zdalny dostęp do MySQL - przyznają wszystkie przywileje . do '' @ '' identyfikowane przez '' z opcją grant; uprawnienia do płukania;
  3. Ustawienia lokalne MySQL Workbench - MySQLWorkbench konfiguracji ekranu

MySQLWorkbench setup screenshot

Powodzenia!

0

Aby podłączyć program RDS Mysql za pośrednictwem środowiska roboczego MySQL, spróbuj wykonać poniższe kroki.

Typ: mysql -h -P 3306 -u -p w oknach cmd [zostaniesz poproszony o podanie hasła] Jeśli grupa bezpieczeństwa i nazwę użytkownika, pwd są poprawne, dostaniesz mysql dialogowe

ERROR 2003 (HY000): Nie można połączyć się z serwerem MySQL na "" (10060) - błąd występuje, gdy NIE istnieją reguły przychodzące.

Zawsze staraj się utrzymywać nową grupę zabezpieczeń dla bazy danych.

Jeśli wybrano domyślną grupę zabezpieczeń, dostęp jest domyślnie zabroniony.

grupa Bezpieczeństwo reguła przychodzących ma być zmodyfikowany, aby mysql/Aurora TCP 3306 MyIP

pobiera podłączony.

Powiązane problemy