RDS Örneğinin Herkese Açık Uç Noktası Yok.
Ona AWS SSM Üzerinden, Bastion Olmadan Ulaş.
AgentsRoom veritabanına bir AWS Session Manager port yönlendirme oturumu açar ve veritabanı istemcisini onun üzerinden bağlar. Oturum, makinende 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 sorgulayabilmendir; 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 sonrana 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 gerekiyor.
AWS Systems Manager Session Manager taşıma katmanını zaten çözüyor. VPC içindeki yönetilen bir EC2 düğümü, makinendeki 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 senin için çalıştırır ve diğer uca bir veritabanı istemcisi koyar. Örneği, bölgeyi ve profili bir kez seçersin, üzerine bir veritabanı bağlantısı iliştirirsin ve o andan sonra o veritabanını açmak tek tık olur. Oturumu kendi AWS profilin ya da SSO oturumun 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 sana çıkardığı fatura.
Bakımını üstlendiğin bir bastion sunucusu
Herkese açık bir alt ağdaki atlama makinesi; yamaladığın, izlediğin, parasını ödediğin ve sonunda unuttuğun 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 makineni ağın içine sokar. Kurulması, dağıtılması, yenilenmesi ve iptal edilmesi gerekir, geri kalan bağlantılarınla ç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ı kaydet
Bağlantı yöneticisinde bir bağlantı ekle ve taşıma türünü AWS SSM olarak ayarla. Ona, veritabanına ulaşabilen yönetilen bir EC2 düğümünün örnek kimliğini (i-0123456789abcdef0), AWS profilini ve bölgeyi verirsin. Parola alanı da anahtar alanı da yoktur, çünkü oturumu makinende zaten bulunan AWS kimlik bilgileri yetkilendirir.
Veritabanını ekle ve o bağlantı üzerinden ulaş
Host olarak RDS uç noktası, port, kullanıcı ve veritabanı ile bir veritabanı bağlantısı ekle ve motorunu seç. Üzerinden ulaş alanında, Doğrudan bağlantı yerine az önce kaydettiğin AWS SSM bağlantısını seç. 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ığında 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.
Sen sorgula ya da bir ajan sorgulasın
Konsol, 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, bu zaten bildiğin 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ğin 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 örnekte çalışan bir servisi kapsamasının sebebi budur.
Çalışması için önceden sağlanması gerekenler
AgentsRoom AWS kurulumunu 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.
Makinende AWS CLI
AgentsRoom doğrudan aws ikili dosyasını çağırır. aws ssm start-session terminalinde ç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ı sana gösterir.
Çalışan bir AWS profili ya da SSO oturumu
Yetkilendirme, --profile ve --region olarak geçirilen kendi kimlik bilgilerinden 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ı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ü ü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 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 profilin ya da SSO oturumun 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, makinen de onunla orada buluşur.
Yetkilendirme, kuruluşunun onu zaten yönettiği yerde kalır. Oturumu, makinede zaten yapılandırılmış profil ya da SSO oturumu üzerinden AWS kimliğin 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, o bağlantıyı yazılabilir yapıp onun için "Ajanların yazmasına izin ver" seçeneğini açmadıysan okuma dışında her şeyi reddeder.
Tünelden geçen dört motor, ve hâlâ eksik olanlar
Tünel bir TCP portu yönlendirir ve motorla ilgilenmez; önemli olan onun üstündeki istemcidir. AgentsRoom dört tane sunar: MySQL ve MariaDB, PostgreSQL, SQL Server ve MongoDB. RDS tarafında bu, RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, RDS for SQL Server, MySQL ya da PostgreSQL ile uyumlu Aurora sürümleri ve MongoDB tarafında Amazon DocumentDB demektir. Oracle desteklenmiyor. Bunu indirmeden sonra değil, önce bilmeyi hak ediyorsun.
SSM taşıması bir TCP portunu yönlendirdiği için kendisi motordan bağımsızdır. Belirleyici olan onun üstündeki istemcidir ve Oracle tam da orada hâlâ eksiktir. Sıradaki motoru insanların ne istediği belirler, dolayısıyla seninki eksikse hangisi olduğunu halka açık backlog'ta söyle, sayılsın.
Veritabanı motorunu talep etBir 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ğin 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. Yazma işlemleri yazılabilir bir bağlantı ve kullanıcının açıkça etkinleştirdiği "Ajanların yazmasına izin ver" ayarını gerektirir; seçenek varsayılan olarak kapalıdır ve açıldığında yazma işlemleri hemen çalışı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; o bağlantıyı ajan yazmalarına açmadıysan 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
Bize başka bir şey sorHerkese açık uç noktası olmayan bir RDS örneğine nasıl bağlanırım?
AgentsRoom hangi SSM belgesini kullanıyor?
Yine de bir bastion sunucusuna ihtiyacım var mı?
Makineme neyin kurulu olması gerekiyor?
AgentsRoom bunun için bir AWS anahtarı saklıyor mu?
Tünel hangi yerel portu kullanıyor ve ona kim ulaşabilir?
Bu, RDS for PostgreSQL ile çalışıyor mu?
Bir veritabanı yerine EC2 örneğinin kendisine yönlendirebilir miyim?
Bir yapay zeka ajanı veritabanını tünel üzerinden sorgulayabilir mi?
Bunları da beğenebilirsin
Veritabanı Bağlantıları
MySQL, PostgreSQL, SQL Server, MongoDB, SQLite ve Google BigQuery bağlantılarını kaydet, özel bir alt ağdaki veritabanına bir SSH tüneli ya da bir AWS SSM oturumu üzerinden ulaş ve yapay zeka ajanların 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. MySQL, PostgreSQL ve MongoDB için dışa aktarma, içe aktarma ve veritabanından veritabanına kopyalama.
SSH Bağlantıları
SSH bağlantılarını kaydet, SSH üzerinden yerleşik bir terminal aç ve Claude Code, Codex veya Antigravity CLI'yi doğrudan uzak sunucunda ya da VPS'inde çalıştır. 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ı, token'larını ve parolalarını işletim sistemi anahtar zincirinde sakla, dev komutlarında ve ajan ortamlarında onlara {{secret:NAME}} ile referans ver, 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ğun her bilgisayarda Claude, Codex ve Antigravity kodlama ajanlarını çalıştır ve takım arkadaşlarını aynı ajanlar üzerinde gerçek zamanlı olarak işbirliği yapmaya davet et. Ofis makinesi, ev makinesi, build sunucusu, paylaşılan takım projeleri : hepsi tek bir birleşik, uçtan uca şifreli görünümde.
Kimsenin Ulaşamadığı Veritabanını Sorgula
AgentsRoom'u indir, bir AWS SSM bağlantısı kaydet, ona bir MySQL, PostgreSQL, SQL Server ya da MongoDB veritabanı yönlendir ve özel RDS örneğini bastion, VPN ya da paylaşılan bir parola olmadan sorgula.
Yardımcı uygulama: hareket halindeyken ajanlarını izle
Claude, Codex, Antigravity CLI veya başka bir AI sağlayıcı kullan.
Hataları ve istekleri doğrudan genel backloguna gönder.
Bir sohbet gibi okuduğun ajanlar
Her ajanın bir rolü, bir yüzü ve mesajlaşma uygulaması gibi okuduğun bir konuşması var.
