Kurduktan sonra neden Amazon RDS'ye bağlanamıyorum?


43

Bu yüzden sadece Amazon RDS hesabını oluşturdum. Ve bir veritabanı örneği başlattım.

The "endpoint" is:
abcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Harika! Şimdi buna diğer EC2 örneklerinden birinden bağlanmaya çalışıyorum.

mysql -uUSER -pPASS -habcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Ama hiçbir şey işe yaramıyor ve sadece kilitleniyor.

Ping atmaya çalıştım ve hiçbir şey işe yaramadı. Hiçbir şey olmuyor.

Bazı ayarları değiştirmem gerekir mi?

Yanıtlar:


45

Varsayılan olarak RDS, Güvenlik Grubu (SG) içerisinde belirtilmemiş bir bağlantıya izin vermez. CIDR adreslerine veya bu hesap altındaki herhangi bir EC2'nin erişmesine izin verecek olan Amazon hesap numarasına göre izin verebilirsiniz.


27

Güvenlik duvarını, diğer örneğinizden mySQL bağlantılarını kabul edecek şekilde yapılandırmadığınız için, "paketin asılması" gibi bir işlemdir;

  1. AWS konsolunuza gidin
  2. EC2 sekmesi
  3. MySQL sunucunuzun güvenlik grubunu not edin (şimdilik bu SG-MYSQL'i arayın)
  4. Konsolun solundaki güvenlik gruplarına tıklayın
  5. SG-MYSQL merkez menüsünden grubunuzu tıklayın
  6. gelen sekmesine tıklayın
  7. Listeden mySQL'i seçin, istemci sunucunuzun detaylarını ekleyin ve kuralı kaydedin.

NOT: Sunucunun kaynak IP'si elastik IP'niz olmayacak (çoğu durumda) cihazda dahili bir ipiniz olacaktır (ifux üzerinde bunu size gösterecektir).


1
Bunu EC2 sunucumda yaptım. Tüm standart portları açtım.
Alex,

1
EC2 örneğim yok ve RDS bunu yapana kadar dış dünyaya bağlanamadı.
Umair A.

1
elastik IP kullanmak için mükemmel nokta!
user1641443 23:15

1
Bunun için teşekkürler. Adım tüm farkı yarattı!
Bay T,

1
Sadece bunu oylamak için sunucuda bir hesap oluşturuldu. TEŞEKKÜR EDERİM.
CaptainMarvel

7

Burada güvenlik grupları hakkında çok fazla konuşma, ancak ayrıca şunları kontrol edin:

  • İlişkili Alt Ağlar uygun şekilde yapılandırılmış görünüyor mu?
  • Alt Ağlar, uygun şekilde yapılandırılmış görünen bir Yönlendirme Grubunun parçası mı (İnternet Ağ Geçidi belirtildi, vb.)
  • RDS, Kamuya Erişilebilir olduğunu mu söylüyor?
  • Ve tabii ki RDS Güvenlik Grubunu ve EC2 Güvenlik Grubunu kontrol edin
    • Asıl kaynak IP'nizin dahili bir IP (dahili olarak bir VPC üzerinden erişiyorsa) veya harici bir IP (bir yönlendiricinin IP'si veya Yük Dengeleyiciden / Elastik IP'sinden farklı olan bir EC2 örneğinin Örnek IP'si) olabileceğini unutmayın. - sorun gidermek için tüm IP ve portlara erişime izin vermeyi deneyebilirsiniz.

(Yönlendirme grubu benim sorunumdu; yeni bir alt ağ oluştururken, ağ geçidi olan bir yönlendirme grubuna eklemeyi ihmal ettim.)


Netleştirmek için: RDS alt ağ grubunda seçtiğiniz alt ağlarda, belirtilen internet ağ geçidi olan yönlendirme tabloları olmalıdır. Benim sorunum, seçtiğim alt ağlardan ikisinin, internet ağ geçidi yerine giden trafik için bir NAT ağ geçidi olan "özel" alt ağlarım olmasıydı ve RDS, bu alt ağlardan birinde bir sunucu seçti. Yönlendirmeye fazla aşina değilseniz bu makaleye bakın: medium.com/@mda590/aws-routing-101-67879d23014d
timetofly

@ Timetofly ile aynı konudan etkilendim. Dosyaları indirmek için bir NAT gerektiren ECS Fargate'te çalışmaya karar verdiğim bir defalık bir işim vardı. NAT'ın ayarlanması dizüstü bilgisayarımdan RDS ile olan bağlantımı kopardı. İş bittiğinde, alt ağlarımı yalnızca İnternet Ağ Geçidini kullanmak üzere güncelledim ve gitmem iyi oldu.
vitale232

4

Sabit.

DB altındaki güvenlik gruplarında erişim izni vermek zorunda kaldım ...


6
Erişim izni vermek için yaptıklarınız hakkında ayrıntılı bilgi verebilir misiniz?
David Csonka

1
Veritabanımın bir kuralı olan bir güvenlik grubu var. HER YERDEN 1433 numaralı bağlantı noktasına erişime izin ver. Bağlanamıyorum -_-
The Muffin Man

1

Ben de aynı sorunu yaşadım;

  1. Güvenlik Grupları> rds-launch-wizard (veya db SG için seçilen herhangi bir isim)
  2. Gelen sekmesini seçin> düzenle
  3. yeni rol ekle
  4. MySQL
  5. Source -> aws vm ip'i yerleştirin (örneğin: 12.3.14.80/32)

benim için çalıştı ...


1

Erişimi kilitlemeden önce sınama amacıyla güvenliği tamamen açmak amacıyla hem veritabanı örneğim hem de EC2 örneğim aynı güvenlik grubunu kullandı ve hem gelen hem de giden bağlantı noktası 3306 Her Yerden bağlantılara izin verecek şekilde yapılandırıldı. Sorun - Aurora'yı dizüstü bilgisayarımdan bağlayabildim, ancak EC2 örneğimden EC2 örneği Herhangi Bir Yerde değildi. Çözüm, başka bir gelen mysql / Aurora kuralı eklemek ve gelen bağlantılar için kaynak ile aynı güvenlik grubu kimliğini belirtmekti . Güvenlik grubumun kendine ait bir kuralı var ve defterimden veya EC2 örneğimden bağlanabiliyorum.


-3

MySQL gelen kural aşağıdaki gibi olmalıdır

görüntü Güvenlik grubu ile ilgili sorun budur.


3
Beş yıllık bir soruyu, yıllardır var olan cevapla cevaplamak için bir nedeniniz var mı? Verilmesi 0.0.0.0/0için erişim 3306ya harika bir fikir değil.
ceejayoz

Kullanıcıya neyi değiştirmeleri gerektiğini ve nasıl değişebileceklerini göstermeye çalıştım, biliyorsunuz ki benim gibi birçok kullanıcı var yukarıdaki sorunu okuyarak sorunu çözemez. size yardım etmeyebilir, ancak bunu arayan kullanıcılar var aşağı oy verdin, çünkü sana yardım etmedi.
Nirmal Dhara,

3
Asıl oyum, insanların MySQL'i tüm internete açmaları gerektiğini söylemekten geliyor. Bu tehlikeli bir yaklaşım.
ceejayoz

anladım. Ben sadece güvenlik gruplarını düzenleyebilecekleri yeri gösteriyorum, istedikleri yerde açılan menüden seçim yapabilirler.
Nirmal Dhara,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.