2014-07-08 10 views
6

Próbowałem założyć konto AWS Free Tier przy użyciu instancji EC2 i bazy danych RDS z MySQL. Niestety, nie wiem, jak przyznać dostęp do bazy danych z instancji EC2. Przeczytałem całą dokumentację AWS, ale jest niestety nieaktualna, podobnie jak wszystkie pytania opublikowane na StackOverflow. Cała dokumentacja mówi, że powinienem przejść do sekcji Security Groups na pulpicie RDS Dashboard. Jednak kiedy to robię, właśnie z tym jestem skonfrontowany.Amazon Web Services EC2 do RDS Łączność z VPC

enter image description here

** bym zawarte obraz ale nie mam reputacji dla niego.

Dobra, rozumiem, że nie używam platformy EC2-Classic i muszę wprowadzić te zmiany w grupie zabezpieczeń w panelu kontrolnym EC2, ale jak ?! Nie chcę publicznego dostępu do portu 3306, chcę tylko, aby instancja EC2 mogła komunikować się z bazą danych RDS w prywatnej podsieci. Każda pomoc będzie wielce ceniona.

Linki do "Dokumentacji AWS na obsługiwanych platformach" i "Używanie RDS w VPC" nie są pomocne. Są nieaktualne i wciąż odsyłają mnie do grup bezpieczeństwa w panelu RDS, który pokazuje mi tylko tę wiadomość.

Odpowiedz

15

Reguła kciuka: Podczas konfigurowania zasobów w VPC użyć TYLKO VPC grup zabezpieczeń. Indywidualny RDS, Redshift ... itd. grupy bezpieczeństwa działają tylko w przypadku ec2-classic. To znaczy, kiedy nie konfigurujesz rzeczy w VPC.

Przejdź do konsoli VPC, a następnie w menu po lewej stronie znajdziesz grupy zabezpieczeń. Są to grupy zabezpieczeń, które powinny kontrolować dostęp do zasobów AWS wdrożonych w VPC.

Nie mogę opracować zbyt wiele, ponieważ nie jestem świadomy Twojej konfiguracji VPC i która podsieć (publiczna/prywatna), którą konfigurujesz.

UPDATE:

Oto hipotetyczny scenariusz

VPC: 10.0.0.0/16 
1 public subnet: 10.0.0.0/24 
1 Private Subnet: 10.0.1.0/24 
  • zakładamy umieścić instancję EC2 w podsieci Publicznej
  • zakładamy umieścić swoje wystąpienie RDS w prywatnej podsieci
  • A chcesz, aby instancja EC2 była dostępna na 80,443 ze świata i instancja RDS powinna być dostępna na przez instancję EC2.

Tak, to są ustawienia grup zabezpieczeń:

dla EC2 grupy instancja Security:

Inbound: port 80, 443 : from 0.0.0.0/0 
Outbound: port 3306 : to 10.0.1.0/24 

Dla grupy zabezpieczeń RDS:

Inbound: port 3306: from 10.0.0.0/24 

Wyjaśnienie:

Inbound: port 80, 443 : from 0.0.0.0/0 

Pozwoli instancji EC2 być dostępny na porcie 80 i 443 z Internetu.


Outbound: port 3306 : to 10.0.1.0/24 

Pozwala instancji EC2 wysłać ruch na porcie 3306 tylko do prywatnej podsieci co jest 10.0.1.0/24


Inbound: port 3306: from 10.0.0.0/24 

Pozwala to wystąpienie RDS, aby zaakceptować ruch na porcie 3306 z publicznej podsieci, który wynosi 10.0.0.0/24. Twój instancji EC2 rezyduje w podsieci Public więc, z natury RDS będzie akceptować ruchu z instancji EC2 na porcie 3306


UWAGA: Przede instalacji zakłada, że ​​masz ustawić tablice routingu dla podsieci publicznych/prywatnych odpowiednio.

Mam nadzieję, że to pomoże.

+0

OK, dziękuję za twoją opinię. Tak bardzo to rozgryzłem. Ale nadal nie rozumiem, jak skonfigurować grupę zabezpieczeń, aby moja instancja ec2 mogła komunikować się z bazą danych RDS. Chcę skonfigurować bardzo prostą konfigurację. Instancja EC2 powinna być publicznie dostępna tylko dla portów 80 i 443. Instancja RDS nie powinna być publicznie dostępna. Powinien być dostępny tylko na porcie 3306 z instancji EC2. Tak więc, moje pytanie brzmi, w jaki sposób mogę skonfigurować regułę ruchu przychodzącego w grupie zabezpieczeń? – Alonzo

+1

@Alonzo Zobacz zaktualizowaną odpowiedź. – slayedbylucifer

+0

Dziękuję bardzo! Potrzebuję dwóch grup bezpieczeństwa, a następnie muszę zezwolić na dostęp z jednej grupy zabezpieczeń do drugiej. Tego nie mogłem objąć. Myślałem, że muszę to wszystko ustawić w ramach jednej grupy bezpieczeństwa. – Alonzo

Powiązane problemy