RDS Örneğinizin Herkese Açık Uç Noktası Yok.
Ona AWS SSM Üzerinden, Bastion Olmadan Ulaşın.
AgentsRoom veritabanınıza bir AWS Session Manager port yönlendirme oturumu açar ve SQL istemcisini onun üzerinden bağlar. Oturum, makinenizde zaten yapılandırılmış AWS profiliyle yetkilendirilerek AWS-StartPortForwardingSessionToRemoteHost belgesiyle aws ssm start-session çalıştırır.
Veritabanı özel alt ağında kalır, güvenlik grubu kapalı kalır ve internete yeni hiçbir şey açılmaz. Değişen tek şey, onu artık sorgulayabilmenizdir; bir yapay zeka kodlama ajanı da salt okunur olarak sorgulayabilir.
AgentsRoom'un özel bir alt ağdaki bir RDS örneğine AWS Systems Manager üzerinden, internete hiçbir şey açmadan nasıl ulaştığı.
Kurulum sıkıcı sayılacak kadar yaygın, bir öğleden sonranıza mal olacak kadar da zahmetli. Bir Amazon RDS örneği özel bir alt ağda duruyor. Herkese açık uç noktası yok. Güvenlik grubu yalnızca uygulamadan gelen trafiği kabul ediyor, başka hiçbir şeyden değil. O VPC'nin hiçbir yerinde gelen bir SSH portu yok, çünkü biri doğru olanı yapıp onu kapatmış. Ve şimdi bir hatayı anlamak için üç satıra bakmanız gerekiyor.
AWS Systems Manager Session Manager taşıma katmanını zaten çözüyor. VPC içindeki yönetilen bir EC2 düğümü, makinenizdeki yerel bir portu erişebildiği üçüncü bir sunucuya yönlendirebilir; özel bir alt ağdaki bir RDS örneği de tam olarak budur. Bunu yapan belge AWS-StartPortForwardingSessionToRemoteHost, komut ise aws ssm start-session. Egzotik bir şey yok, veritabanına kurulacak bir şey yok.
AgentsRoom bu komutu sizin için çalıştırır ve diğer uca bir SQL istemcisi koyar. Örneği, bölgeyi ve profili bir kez seçersiniz, üzerine bir veritabanı bağlantısı iliştirirsiniz ve o andan sonra o veritabanını açmak tek tık olur. Oturumu kendi AWS profiliniz ya da SSO oturumunuz yetkilendirir, dolayısıyla bu atlama için ne bir anahtar ne de bir parola saklanır.
Alışılmış Çözümlerin Hepsinin Bir Bedeli Var
Aynı soruna üç yanıt ve her birinin size çıkardığı fatura.
Bakımını üstlendiğiniz bir bastion sunucusu
Herkese açık bir alt ağdaki atlama makinesi; yamaladığınız, izlediğiniz, parasını ödediğiniz ve sonunda unuttuğunuz bir sunucudur. Gelen bir SSH portu, insanlar geldikçe ve gittikçe kayan bir yetkili anahtar listesi ve dikkatsiz tek bir düzenlemeyle dünyaya açılabilecek bir güvenlik grubu taşır. Var olma sebebi, birinin ara sıra bir veritabanına ulaşabilmesidir.
Üç satırlık bir soru için VPN
Bir istemci VPN'i, üç satır hakkındaki bir soruyu yanıtlamak için tüm makinenizi ağın içine sokar. Kurulması, dağıtılması, yenilenmesi ve iptal edilmesi gerekir, geri kalan bağlantılarınızla çatışır ve ağdan ağa dolaşan bir dizüstünde ilk bozulan parça odur. VPN'i olan ekiplerin çoğu yine de yanında bir bastion tutar.
Ortalıkta dolaşan kimlik bilgileri
Herkesin sığındığı alternatif daha da kötüdür : uç nokta ve parola bir sohbet mesajında, paylaşılan bir notta, yanlışlıkla commit edilmiş bir betikte ya da bir yapay zeka ajanına gönderilen bir prompt'ta son bulur. Erişim, kimsenin takip etmediği yerlere yayılır ve sonradan geri almak, bir kimlik bilgisini döndürüp her kopyanın yok olduğunu ummak demektir.
Özel Bir RDS Örneğinden Bir Sonuç Kümesine
Bir kez yapılan dört adım, sonrası tek tık.
Bir AWS SSM bağlantısı kaydedin
Bağlantı yöneticisinde bir bağlantı ekleyin ve taşıma türünü AWS SSM olarak ayarlayın. Ona, veritabanına ulaşabilen yönetilen bir EC2 düğümünün örnek kimliğini (i-0123456789abcdef0), AWS profilinizi ve bölgeyi verirsiniz. Parola alanı da anahtar alanı da yoktur, çünkü oturumu makinenizde zaten bulunan AWS kimlik bilgileri yetkilendirir.
Veritabanını ekleyin ve o bağlantı üzerinden ulaşın
Host olarak RDS uç noktası, port, kullanıcı ve veritabanı ile bir MySQL ya da MariaDB bağlantısı ekleyin. Üzerinden ulaş alanında, Doğrudan bağlantı yerine az önce kaydettiğiniz AWS SSM bağlantısını seçin. Tüm yapılandırma bundan ibarettir : uç nokta özel kalır, güvenlik grubu kapalı kalır.
AgentsRoom oturumu açar
Bağlantıyı açtığınızda AgentsRoom işletim sisteminden boş bir loopback portu ister, ardından AWS-StartPortForwardingSessionToRemoteHost belgesiyle aws ssm start-session başlatır; host olarak RDS uç noktasını, portNumber olarak veritabanı portunu ve localPortNumber olarak ayrılan portu geçirir. Tüneli hazır ilan etmeden önce o portun gerçekten bir TCP bağlantısı kabul etmesini bekler, böylece istemci hiçbir zaman erkenden bağlanmaz.
Siz sorgulayın ya da bir ajan sorgulasın
SQL konsolu, yönlendirilen portta 127.0.0.1'e bağlanır ve diğer her bağlantı gibi davranır : şema tarayıcısı, aynı anda tek ifade, sınırlandırılmış sonuç kümeleri. Bir yapay zeka kodlama ajanı aynı bağlantıyı MCP üzerinden, parolayı hiç almadan salt okunur sorgulayabilir. Bağlantıyı kapatmak, oturum sürecini de birlikte sonlandırır.
AgentsRoom'un başlattığı komut
Burada tescilli bir protokol yok ve hiçbir şey JavaScript'te yeniden yazılmadı. AgentsRoom, AWS CLI'yi bir alt süreç olarak başlatır, argümanları bir kabuk üzerinden değil doğrudan geçirir ve çıktısını okur. Daha önce elle bir port yönlendirme oturumu açtıysanız, bu zaten bildiğiniz satırdır.
aws ssm start-session \
--target i-0a1b2c3d4e5f \
--document-name AWS-StartPortForwardingSessionToRemoteHost \
--parameters host=acme-prod.abc123.eu-west-1.rds.amazonaws.com,\
portNumber=3306,localPortNumber=54321 \
--profile acme-prod --region eu-west-1Örnek kimliği, uç nokta, bölge ve profil kaydettiğiniz bağlantıdan gelir. Yerel portu ise işletim sistemi açılış anında seçer.
Arkasındaki bir veritabanı yerine yönetilen düğümün kendisine yönlendirmek, host=localhost ile aynı belgedir. Aynı bağlantı türünün hem özel bir alt ağdaki bir veritabanını hem de bağlandığınız örnekte çalışan bir servisi kapsamasının sebebi budur.
Çalışması için önceden sağlanması gerekenler
AgentsRoom AWS kurulumunuzu yönetir, onun yerini almaz. Beş şeyin yerinde olması gerekir ve bunlar Session Manager'ın tek başına ihtiyaç duyduğu beş şeyin aynısıdır.
Makinenizde AWS CLI
AgentsRoom doğrudan aws ikili dosyasını çağırır. aws ssm start-session terminalinizde çalışıyorsa burada da çalışır.
session-manager-plugin
Session Manager, CLI'nin yanına kurulmuş eklentisine ihtiyaç duyar. O olmadan oturum hemen sonlanır ve AgentsRoom askıda kalmak yerine CLI'nin yazdırdığı hatayı size gösterir.
Çalışan bir AWS profili ya da SSO oturumu
Yetkilendirme, --profile ve --region olarak geçirilen kendi kimlik bilgilerinizden gelir. AgentsRoom profil adını ve bölgeyi saklar, asla bir anahtarı, asla bir gizli bilgiyi değil.
VPC içinde yönetilen bir düğüm
Systems Manager'a kayıtlı, SSM Agent çalıştıran ve oturuma izin veren bir örnek profiline sahip bir EC2 örneği. Trafiğin üzerinden geçtiği düğüm odur ve kendisine ait bir gelen porta ihtiyacı yoktur.
Düğümden veritabanına giden bir yol
Veritabanı güvenlik grubunun düğümden gelen trafiği veritabanı portunda kabul etmesi ve IAM politikanızın o belgeyle ssm:StartSession işlemine izin vermesi gerekir. VPC ile ilgili başka hiçbir şeyin değişmesi gerekmez.
Tünel Ne Yapar, Neyi Yapmayı Reddeder
Bunu bir dizüstünde yapılandırılmış halde bırakmanın güvenli olup olmadığına karar veren özellikler.
Yalnızca loopback
Yönlendirilen port 127.0.0.1'e bağlanır, başka hiçbir şeye değil. Bu yolla ulaşılan bir veritabanı yerel ağda asla yeniden yayımlanmaz, dolayısıyla bir kafenin Wi-Fi'si dizüstünüzü üretime açılan bir proxy'ye çevirmez.
İşletim sisteminin seçtiği bir port
AgentsRoom işletim sisteminden boş bir port ister ve onu oturuma verir. Tahmin edilecek sabit bir port, önceden ayrılacak bir şey ve çalıştırdığınız diğer şeylerle bir çakışma yoktur.
Hazır demek gerçekten hazır demek
Tünel yalnızca yerel port gerçekten bir TCP bağlantısı kabul ettiğinde hazır sayılır; hiç kabul etmezse CLI'nin yazdırdığı hatayla vazgeçer. Rastgele bir bekleme yok, henüz dinlemeyen bir porta bağlanan istemci yok.
Atlama için ne anahtar ne parola
SSM oturumunu AWS profiliniz ya da SSO oturumunuz yetkilendirir. AgentsRoom örnek kimliğini, profil adını ve bölgeyi saklar; bu yapılandırmayı okuyan birinin yeniden kullanabileceği hiçbir şeyi değil.
Veritabanı salt okunur kalır
Bir veritabanı bağlantısı oluşturulduğunda salt okunurdur. Bir yazma işlemi, o belirli bağlantının yazılabilir yapılmasını ve açık bir onayı gerektirir; üretim olarak işaretlenmiş bir bağlantı da bunu o onayda yüksek sesle söyler.
Çağrı başına tek ifade
Her çağrı tam olarak bir ifade taşır, böylece bir noktalı virgülün arkasına hiçbir şey saklanamaz; sonuç kümeleri de sınırlandırılır, böylece geniş bir sorgu bir pencereyi ya da bir ajanın bağlamını boğamaz.
Bu Neden Daha Fazla Değil, Daha Az Erişim Demek
Bir tünel kulağa bir delik gibi gelir ve bu refleks haklıdır : özel bir veritabanına ulaşmanın çoğu yolu saldırı yüzeyini gerçekten genişletir. Bu yol ise onu daraltır. Veritabanı tarafında hiçbir şey açılmaz, VPC'nin hiçbir yerinde gelen bir port oluşturulmaz ve yönetilen düğümün kendine ait bir SSH dinleyicisine ihtiyacı olmaz. Trafik düğümden Systems Manager servisine doğru çıkar, makineniz de onunla orada buluşur.
Yetkilendirme, kuruluşunuzun onu zaten yönettiği yerde kalır. Oturumu, makinede zaten yapılandırılmış profil ya da SSO oturumu üzerinden AWS kimliğiniz verir; bu da oturumun diğer her Session Manager oturumu gibi kayıt altına alındığı, o kimlik iptal edildiği gün iptal edildiği ve elinde anahtar bulunan kişiye göre değil bir IAM politikasına göre sınırlandığı anlamına gelir. AgentsRoom örnek kimliğini, profil adını ve bölgeyi saklar : bunların hiçbiri bir kimlik bilgisi değildir.
Veritabanı tarafında koruma önlemleri her AgentsRoom bağlantısının aldıklarının aynısıdır. Varsayılan olarak salt okunur, çağrı başına tek ifade, sınırlandırılmış sonuç kümeleri ve yazma onayını sertleştiren bir üretim işareti. MCP üzerinden sorgu çalıştıran bir yapay zeka ajanı bir sonuç kümesi alır, parolayı asla almaz; sorgu çalıştırdığı araç da bağlantı bir insana ne yapma izni verirse versin okuma dışında her şeyi reddeder.
Yalnızca MySQL ve MariaDB, PostgreSQL bunlardan biri değil
Veritabanı istemcisi MySQL wire protokolünü konuşur, dolayısıyla çalışan motorlar MySQL ve MariaDB'dir. RDS tarafında bu, RDS for MySQL, RDS for MariaDB ve Aurora MySQL uyumlu sürümler demektir. RDS for PostgreSQL ve Aurora PostgreSQL desteklenmiyor, SQL Server, Oracle, MongoDB ve SQLite de öyle. Bunu indirmeden sonra değil, önce bilmeyi hak ediyorsunuz.
SSM taşıması bir TCP portunu yönlendirdiği için kendisi motordan bağımsızdır. PostgreSQL için eksik olan, altındaki tünel değil, üstündeki istemcidir. Sıradaki motoru insanların ne istediği belirler, dolayısıyla sizinki eksikse hangisi olduğunu halka açık backlog'ta söyleyin, sayılsın.
Veritabanı motorunuzu talep edinBir ajan da onu salt okunur sorgulayabilir
Bağlantı bir kez var olduğunda, bir yapay zeka kodlama ajanı onu adıyla anarak AgentsRoom MCP üzerinden kullanabilir. db_list kayıtlı bağlantıları ve üst verilerini döndürür, db_schema tek satır SQL olmadan şemaları, tabloları ve sütunları dolaşır, db_query tek bir ifade çalıştırıp sınırlandırılmış satırlar döndürür ve db_connection_new, gözden geçirip kaydedeceğiniz formu önceden doldurarak henüz kaydedilmemiş bir veritabanını önerir.
Ajan istediğinde SSM oturumunu AgentsRoom'un kendisi açar, dolayısıyla ajan ne bir AWS kimlik bilgisine, ne bir veritabanı parolasına, ne de bir port numarasına dokunur. Geri dönen şey bir sonuç kümesidir. db_query, bağlantı neye izin verirse versin salt okunurdur ve bu kural MCP sürecinde değil masaüstü uygulamasında yaşar, dolayısıyla ajan başka bir şey istemeye ikna edilse bile geçerli kalır.
Bunu düzgün yapmanın bütün amacı budur. Özel bir alt ağdaki bir üretim replikasına karşı hata ayıklayan bir ajan, hatayı açıklayan satırları okur; onları değiştirmek için bir yolu, bağlamına sızdıracak bir kimlik bilgisi ve uygulama kapandıktan sonra o veritabanına ulaşmanın bir yolu yoktur.
Sıkça Sorulan Sorular
Herkese açık uç noktası olmayan bir RDS örneğine nasıl bağlanırım?
Bir AWS SSM port yönlendirme oturumu üzerinden. Veritabanına ulaşabilen yönetilen bir EC2 düğümünü gösteren bir AWS SSM bağlantısı kaydedin, ardından host olarak RDS uç noktasıyla MySQL veya MariaDB bağlantısını oluşturun ve Üzerinden ulaş alanında o SSM bağlantısını seçin. AgentsRoom oturumu aws ssm start-session ile açar ve SQL istemcisini yönlendirilen loopback portuna bağlar. Veritabanı herkese açık uç noktası olmadan kalır ve güvenlik grubu değişmez.
AgentsRoom hangi SSM belgesini kullanıyor?
AWS-StartPortForwardingSessionToRemoteHost; host veritabanı uç noktasına, portNumber veritabanı portuna ve localPortNumber makinenizde ayrılan loopback portuna ayarlanır. Bu belge, yönetilen düğüm üzerinden üçüncü bir sunucuya yönlendirir ki özel bir alt ağdaki bir RDS örneği tam olarak bu durumdur. Düğümün kendisine yönlendirmek ise host=localhost ile aynı belgedir.
Yine de bir bastion sunucusuna ihtiyacım var mı?
Hayır. Session Manager bu senaryoda atlama makinesinin yerini alır : yönetilen düğümün ne gelen bir SSH portuna ne de herkese açık bir IP'ye ihtiyacı vardır, trafik düğümden Systems Manager servisine doğru çıkar ve makineniz oturuma dışarıdan katılır. Bakılacak bir anahtar listesi ve göz kulak olunacak herkese açık bir alt ağ yoktur.
Makineme neyin kurulu olması gerekiyor?
AWS CLI ve session-manager-plugin, bir de çalışan bir AWS profili ya da SSO oturumu. AgentsRoom doğrudan aws ikili dosyasını çağırır, dolayısıyla aws ssm start-session terminalinizde çalışıyorsa burada da çalışır. Eklenti eksikse oturum hemen sonlanır ve AgentsRoom görünmez bir istemde askıda kalmak yerine CLI'nin yazdırdığı hatayı size gösterir.
AgentsRoom bunun için bir AWS anahtarı saklıyor mu?
Hayır. Oturumu, makinenizde zaten yapılandırılmış ve CLI'ye --profile ile --region olarak geçirilen AWS kimlik bilgileri yetkilendirir. AgentsRoom örnek kimliğini, profil adını ve bölgeyi saklar; bunlar kimlik bilgisi değildir. Veritabanı parolası ayrı bir konudur : işletim sistemi anahtar zincirinizle şifrelenmiş kasada tutulur ve bir yapay zeka ajanına asla döndürülmez.
Tünel hangi yerel portu kullanıyor ve ona kim ulaşabilir?
İşletim sistemi açılış anında boş bir port seçer ve tünel onu yalnızca 127.0.0.1'e bağlar. Yerel ağdaki hiçbir şey ona ulaşamaz ve tahmin edilecek sabit bir port yoktur. Tünel yalnızca o port gerçekten bir TCP bağlantısı kabul ettiğinde hazır sayılır ve bağlantıyla birlikte kapatılır.
Bu, RDS for PostgreSQL ile çalışıyor mu?
Hayır. Veritabanı istemcisi yalnızca MySQL ve MariaDB destekler, dolayısıyla RDS tarafında bu RDS for MySQL, RDS for MariaDB ve Aurora MySQL uyumlu sürümler demektir. RDS for PostgreSQL ve Aurora PostgreSQL bugün desteklenmiyor, SQL Server, Oracle, MongoDB ve SQLite de öyle. SSM tünelinin kendisi bir TCP portu yönlendirir ve motorla ilgilenmez : eksik olan onun üstündeki istemcidir. Halka açık backlog'ta bir motor talep edin, sayılsın.
Bir veritabanı yerine EC2 örneğinin kendisine yönlendirebilir miyim?
Evet. Bu, host=localhost ile aynı belgedir, dolayısıyla yönetilen düğümde dinleyen bir servise de aynı şekilde ulaşılır. Aynı AWS SSM bağlantısı o örnekte düz bir terminal oturumu da açar; hiç gelen SSH portu olmayan bir makinede bir ajan CLI'sini işte böyle çalıştırırsınız.
Bir yapay zeka ajanı veritabanını tünel üzerinden sorgulayabilir mi?
Evet, salt okunur olarak. Ajan AgentsRoom MCP üzerinden kayıtlı bir bağlantıyı adlandırır, uygulama SSM oturumunu açıp ifadeyi kendisi çalıştırır ve geri yalnızca sonuç kümesi döner. Ajan ne AWS profilini, ne uç nokta kimlik bilgilerini, ne de veritabanı parolasını alır; db_query de o bağlantı bir insana ne yapma izni verirse versin okuma dışında her şeyi reddeder.
Bunları da beğenebilirsiniz
Veritabanı Bağlantıları
MySQL ve MariaDB bağlantılarınızı kaydedin, özel bir alt ağdaki veritabanına bir SSH tüneli ya da bir AWS SSM oturumu üzerinden ulaşın ve yapay zeka ajanlarınız onu MCP üzerinden sorgulasın. Varsayılan olarak salt okunur, çağrı başına tek ifade, sınırlandırılmış sonuç kümeleri ve parola ajana asla ulaşmaz.
SSH Bağlantıları
SSH bağlantılarınızı kaydedin, SSH üzerinden yerleşik bir terminal açın ve Claude Code, Codex veya Antigravity CLI'yi doğrudan uzak sunucunuzda ya da VPS'inizde çalıştırın. SSH anahtarı veya parola ile kimlik doğrulama, proje bazlı bağlantı profilleri, ayrı bir SSH istemcisine gerek yok.
Gizli Bilgi Yöneticisi
API anahtarlarınızı, token'larınızı ve parolalarınızı işletim sistemi anahtar zincirinizde saklayın, dev komutlarında ve ajan ortamlarında onlara {{secret:NAME}} ile referans verin, AgentsRoom da başlatma anında değeri çözümlesin. Ajanlar adları görür, değerleri asla, ve hiçbir şey bir sunucuya senkronize edilmez.
Uzaktan Filoya
Sahip olduğunuz her Mac'te Claude, Codex ve Antigravity kodlama ajanlarını çalıştırın ve takım arkadaşlarınızı aynı ajanlar üzerinde gerçek zamanlı olarak işbirliği yapmaya davet edin. Ofis makinesi, ev makinesi, inşa sunucusu, paylaşılan takım projeleri : hepsi tek bir birleşik, uçtan uca şifreli görünümde.
Kimsenin Ulaşamadığı Veritabanını Sorgulayın
AgentsRoom'u indirin, bir AWS SSM bağlantısı kaydedin, ona bir MySQL ya da MariaDB veritabanı yönlendirin ve özel RDS örneğinizi bastion, VPN ya da paylaşılan bir parola olmadan sorgulayın.
Yardımcı uygulama: hareket halindeyken ajanlarinizi izleyin
Claude, Codex, Antigravity CLI veya başka bir AI sağlayıcı kullan.
Hataları ve istekleri doğrudan genel backlogunuza gönderin.
AgentsRoom'a kısa bir bakış.