Instance RDS Anda Tidak Punya Endpoint Publik.
Jangkau Lewat AWS SSM, Tanpa Bastion.
AgentsRoom membuka sesi penerusan port AWS Session Manager ke database Anda dan menyambungkan klien databasenya lewat jalur itu. Sesinya menjalankan aws ssm start-session dengan dokumen AWS-StartPortForwardingSessionToRemoteHost, diotorisasi oleh profil AWS yang sudah dikonfigurasi di mesin Anda.
Database tetap berada di subnet privatnya, security group tetap tertutup, dan tidak ada satu pun hal baru yang terekspos ke internet. Yang berubah adalah Anda akhirnya bisa menjalankan kueri terhadapnya, begitu juga agen coding AI, secara baca-saja.
Bagaimana AgentsRoom menjangkau instance RDS di subnet privat lewat AWS Systems Manager, tanpa membuka apa pun ke internet.
Konfigurasinya cukup umum sampai terasa membosankan, dan cukup menyakitkan sampai menghabiskan satu sore penuh. Sebuah instance Amazon RDS duduk di subnet privat. Ia tidak punya endpoint publik. Security group-nya menerima trafik dari aplikasi, dan tidak dari yang lain. Tidak ada port SSH masuk di mana pun dalam VPC itu, karena seseorang melakukan hal yang benar dan menutupnya. Dan sekarang Anda perlu melihat tiga baris data untuk memahami sebuah bug.
AWS Systems Manager Session Manager sudah menyelesaikan urusan transportnya. Sebuah node EC2 terkelola di dalam VPC bisa meneruskan port lokal di mesin Anda ke host ketiga yang bisa ia jangkau, dan itulah persis posisi sebuah instance RDS di subnet privat. Dokumen yang melakukannya adalah AWS-StartPortForwardingSessionToRemoteHost, dan perintahnya adalah aws ssm start-session. Tidak ada yang eksotis, tidak ada yang perlu dipasang di databasenya.
AgentsRoom menjalankan perintah itu untuk Anda dan menempatkan klien database di ujung satunya. Anda memilih instance, region, dan profilnya sekali, mengaitkan sebuah koneksi database ke sana, dan sejak itu membuka database tersebut cukup satu klik. Sesinya diotorisasi oleh profil AWS atau login SSO Anda sendiri, jadi tidak ada kunci dan tidak ada kata sandi yang disimpan untuk lompatan itu sendiri.
Semua Jalan Memutar yang Biasa Dipakai Ada Harganya
Tiga jawaban untuk masalah yang sama, dan apa yang ditagihkan masing-masing kepada Anda.
Host bastion yang harus dirawat
Sebuah jump box di subnet publik adalah server yang Anda patch, pantau, bayari, dan pada akhirnya lupakan. Ia membawa satu port SSH masuk, daftar kunci terotorisasi yang terus melenceng seiring orang datang dan pergi, dan security group yang hanya berjarak satu suntingan ceroboh dari terbuka ke seluruh dunia. Ia ada semata-mata agar sesekali ada orang yang bisa menjangkau sebuah database.
VPN demi pertanyaan sepanjang tiga baris
VPN klien menaruh seluruh mesin Anda di dalam jaringan hanya untuk menjawab pertanyaan tentang tiga baris data. Ia harus disiapkan, dibagikan, diperbarui, dan dicabut, ia berebut dengan sisa konektivitas Anda, dan di laptop yang berpindah-pindah jaringan ia bagian yang paling dulu rusak. Kebanyakan tim yang memakainya tetap menyimpan sebuah bastion di sebelahnya.
Kredensial yang disalin ke mana-mana
Alternatif yang selalu jadi pelarian justru lebih buruk : endpoint dan kata sandinya berakhir di pesan chat, catatan bersama, skrip yang tidak sengaja dicommit, atau prompt yang dikirim ke sebuah agen AI. Aksesnya menyebar ke tempat-tempat yang tidak dilacak siapa pun, dan mencabutnya kemudian berarti merotasi sebuah kredensial sambil berharap semua salinannya sudah lenyap.
Dari Instance RDS Privat Menjadi Sebuah Set Hasil
Empat langkah, dikerjakan sekali, setelah itu cukup satu klik.
Simpan sebuah koneksi AWS SSM
Di pengelola koneksi, tambahkan sebuah koneksi dan setel transportnya ke AWS SSM. Anda memberinya ID instance dari node EC2 terkelola yang bisa menjangkau databasenya (i-0123456789abcdef0), profil AWS Anda, dan region-nya. Tidak ada kolom kata sandi dan tidak ada kolom kunci, karena sesinya diotorisasi oleh kredensial AWS yang sudah ada di mesin Anda.
Tambahkan databasenya dan jangkau lewat koneksi itu
Tambahkan koneksi database dengan endpoint RDS sebagai host-nya, lalu port, pengguna, dan databasenya, dan pilih mesin databasenya. Di kolom Jangkau lewat, pilih koneksi AWS SSM yang baru Anda simpan alih-alih Koneksi langsung. Itu seluruh konfigurasinya: endpoint-nya tetap privat, security group-nya tetap tertutup.
AgentsRoom membuka sesinya
Saat Anda membuka koneksinya, AgentsRoom meminta port loopback yang bebas kepada sistem operasi, lalu menjalankan aws ssm start-session dengan dokumen AWS-StartPortForwardingSessionToRemoteHost, mengirimkan endpoint RDS sebagai host, port database sebagai portNumber, dan port yang dipesan sebagai localPortNumber. Ia menunggu sampai port itu benar-benar menerima koneksi TCP sebelum menyatakan terowongannya siap, jadi kliennya tidak pernah menyambung terlalu dini.
Jalankan kuerinya, atau biarkan agen yang menjalankan
Konsolnya menyambung ke 127.0.0.1 pada port yang diteruskan dan berperilaku seperti koneksi lainnya: penjelajah skema, satu pernyataan dalam satu waktu, set hasil yang dibatasi. Sebuah agen coding AI bisa menjalankan kueri ke koneksi yang sama lewat MCP, secara baca-saja, tanpa pernah menerima kata sandinya. Menutup koneksinya sekaligus mematikan proses sesinya.
Perintah yang dijalankan AgentsRoom
Tidak ada protokol milik sendiri di sini dan tidak ada yang diimplementasikan ulang dalam JavaScript. AgentsRoom menjalankan AWS CLI sebagai proses anak, dengan argumen yang diteruskan langsung alih-alih lewat shell, lalu membaca keluarannya. Kalau Anda pernah membuka sesi penerusan port secara manual, inilah baris perintah yang sudah Anda kenal.
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-1ID instance, endpoint, region, dan profilnya datang dari koneksi yang Anda simpan. Port lokalnya dipilih oleh sistem operasi saat koneksi dibuka.
Meneruskan ke node terkelola itu sendiri, alih-alih ke database di belakangnya, memakai dokumen yang sama dengan host=localhost. Itu sebabnya satu jenis koneksi yang sama mencakup database di subnet privat sekaligus layanan yang berjalan di instance tempat Anda terhubung.
Apa yang harus terpenuhi agar ini bekerja
AgentsRoom mengemudikan setup AWS Anda, bukan menggantikannya. Ada lima hal yang harus sudah siap, dan kelimanya sama persis dengan yang dibutuhkan Session Manager sendiri.
AWS CLI di mesin Anda
AgentsRoom memanggil biner aws secara langsung. Kalau aws ssm start-session berjalan di terminal Anda, ia juga berjalan di sini.
session-manager-plugin
Session Manager butuh plugin-nya terpasang berdampingan dengan CLI. Tanpa itu, sesinya langsung berhenti dan AgentsRoom menampilkan galat yang dicetak CLI alih-alih menggantung.
Profil AWS atau login SSO yang berfungsi
Otorisasinya datang dari kredensial Anda sendiri, yang diteruskan sebagai --profile dan --region. AgentsRoom menyimpan nama profil dan region-nya, tidak pernah sebuah kunci, tidak pernah sebuah rahasia.
Sebuah node terkelola di dalam VPC
Sebuah instance EC2 yang terdaftar di Systems Manager, menjalankan SSM Agent, dengan instance profile yang mengizinkan sesinya. Node inilah yang dilewati trafik, dan ia tidak butuh port masuk miliknya sendiri.
Jalur dari node menuju database
Security group database harus menerima trafik dari node itu pada port database, dan kebijakan IAM Anda harus mengizinkan ssm:StartSession dengan dokumen tersebut. Tidak ada hal lain di VPC yang perlu diubah.
Apa yang Dilakukan Terowongan Ini, dan Apa yang Ditolaknya
Sifat-sifat yang menentukan apakah ini aman dibiarkan terkonfigurasi di sebuah laptop.
Hanya loopback
Port yang diteruskan terikat ke 127.0.0.1 dan tidak ke apa pun selain itu. Database yang dijangkau dengan cara ini tidak pernah diterbitkan ulang ke jaringan lokal, jadi Wi-Fi kedai kopi tidak mengubah laptop Anda menjadi proksi terbuka menuju produksi.
Port yang dipilih sistem operasi
AgentsRoom meminta port yang bebas kepada sistem operasi dan menyerahkannya ke sesi. Tidak ada port tetap yang bisa ditebak, tidak ada yang perlu dipesan lebih dulu, dan tidak ada tabrakan dengan apa pun yang sedang Anda jalankan.
Siap berarti benar-benar siap
Terowongannya baru dinyatakan beres setelah port lokal benar-benar menerima koneksi TCP, dan ia menyerah dengan galat yang dicetak CLI kalau itu tidak pernah terjadi. Tidak ada jeda tunggu asal-asalan, tidak ada klien yang menyambung ke port yang belum mendengarkan.
Tanpa kunci, tanpa kata sandi untuk lompatan itu
Sesi SSM diotorisasi oleh profil AWS atau sesi SSO Anda. AgentsRoom menyimpan ID instance, nama profil, dan region-nya, dan tidak ada satu pun yang bisa diputar ulang oleh siapa saja yang membaca konfigurasi itu.
Databasenya tetap baca-saja
Sebuah koneksi database bersifat baca-saja sejak dibuat. Penulisan menuntut koneksi itu dibuat bisa ditulis sekaligus sebuah konfirmasi eksplisit, dan koneksi yang ditandai sebagai produksi menyatakannya dengan lantang di konfirmasi tersebut.
Satu pernyataan per panggilan
Setiap panggilan membawa tepat satu pernyataan, jadi tidak ada yang bersembunyi di balik titik koma, dan set hasilnya dibatasi supaya kueri yang lebar tidak bisa membanjiri jendela atau konteks agen.
Mengapa Ini Justru Mengurangi Akses, Bukan Menambahnya
Terowongan terdengar seperti lubang, dan refleks itu tidak salah : sebagian besar cara menjangkau database privat memang memperlebar permukaan serangan. Yang ini justru mempersempitnya. Tidak ada yang dibuka di sisi database, tidak ada port masuk yang dibuat di mana pun dalam VPC, dan node terkelola tidak butuh listener SSH miliknya sendiri. Trafiknya keluar dari node menuju layanan Systems Manager, dan mesin Anda menemuinya di sana.
Otorisasi tetap berada di tempat organisasi Anda sudah mengelolanya. Sesinya diberikan oleh identitas AWS Anda, lewat profil atau login SSO yang sudah dikonfigurasi di mesin, artinya sesi itu tercatat seperti sesi Session Manager mana pun, dicabut pada hari identitas itu dicabut, dan dibatasi oleh kebijakan IAM alih-alih oleh siapa yang kebetulan memegang sebuah kunci. AgentsRoom menyimpan ID instance, nama profil, dan region : tidak satu pun dari itu adalah kredensial.
Di sisi database, pengamannya sama persis dengan yang didapat setiap koneksi AgentsRoom. Baca-saja secara bawaan, satu pernyataan per panggilan, set hasil yang dibatasi, dan penanda produksi yang memperketat konfirmasi penulisan. Agen AI yang menjalankan kueri lewat MCP mendapat set hasil dan tidak pernah kata sandinya, dan alat yang ia pakai untuk berkueri menolak apa pun selain pembacaan, kecuali Anda menjadikan koneksi itu bisa ditulis dan mengaktifkan "Izinkan agen menulis" untuknya.
Empat mesin database lewat terowongan, dan yang masih belum ada
Terowongannya meneruskan sebuah port TCP dan tidak peduli mesinnya apa; yang menentukan adalah klien di atasnya. AgentsRoom membawa empat: MySQL dan MariaDB, PostgreSQL, SQL Server, dan MongoDB. Di RDS itu mencakup RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, RDS for SQL Server, edisi Aurora yang kompatibel dengan MySQL atau PostgreSQL, dan Amazon DocumentDB di sisi MongoDB. Oracle tidak didukung. Anda berhak tahu itu sebelum mengunduh, bukan sesudahnya.
Transport SSM-nya sendiri tidak peduli mesin apa yang dipakai, karena ia hanya meneruskan sebuah port TCP. Yang menentukan adalah klien di atasnya, dan di situlah Oracle masih belum ada. Mesin database mana yang menyusul ditentukan oleh apa yang diminta orang, jadi kalau milik Anda belum ada, sebutkan yang mana di backlog publik dan permintaan itu akan dihitung.
Minta mesin database AndaAgen pun bisa menjalankan kueri, secara baca-saja
Begitu koneksinya ada, sebuah agen coding AI bisa memakainya lewat AgentsRoom MCP dengan menyebut namanya. db_list mengembalikan koneksi tersimpan beserta metadatanya, db_schema menelusuri skema, tabel, dan kolomnya tanpa satu baris SQL pun, db_query menjalankan satu pernyataan dan mengembalikan baris yang dibatasi, dan db_connection_new mengusulkan database yang belum tersimpan dengan mengisi awal formulir yang Anda tinjau lalu simpan.
AgentsRoom sendiri yang membuka sesi SSM ketika agen memintanya, jadi agen tidak pernah memegang kredensial AWS, kata sandi database, atau nomor port. Yang kembali hanyalah set hasil. Penulisan membutuhkan koneksi yang bisa ditulis dan pengaturan "Izinkan agen menulis" yang diaktifkan pengguna secara eksplisit; opsi ini nonaktif secara bawaan dan penulisan dijalankan seketika setelah diaktifkan.
Justru di situlah gunanya melakukan ini dengan benar. Agen yang men-debug terhadap replika produksi di subnet privat membaca baris-baris yang menjelaskan bug-nya, dan tidak punya jalan untuk mengubahnya kecuali Anda membuka koneksi itu untuk penulisan oleh agen, tidak punya kredensial yang bisa bocor ke konteksnya, dan tidak punya cara menjangkau database itu begitu aplikasinya ditutup.
Bagaimana cara terhubung ke instance RDS yang tidak punya endpoint publik?
Dokumen SSM mana yang dipakai AgentsRoom?
Apakah saya masih butuh host bastion?
Apa saja yang harus terpasang di mesin saya?
Apakah AgentsRoom menyimpan kunci AWS untuk ini?
Port lokal mana yang dipakai terowongannya, dan siapa yang bisa menjangkaunya?
Apakah ini bekerja dengan RDS for PostgreSQL?
Bisakah saya meneruskan ke instance EC2 itu sendiri alih-alih ke sebuah database?
Bisakah agen AI menjalankan kueri ke database lewat terowongan itu?
Anda mungkin juga suka
Koneksi Database
Simpan koneksi MySQL, PostgreSQL, SQL Server, MongoDB, SQLite, dan Google BigQuery Anda, jangkau database di subnet privat lewat terowongan SSH atau sesi AWS SSM, dan biarkan agen AI Anda menjalankan kueri lewat MCP. Baca-saja secara bawaan, satu pernyataan per panggilan, set hasil dibatasi, dan kata sandi tidak pernah sampai ke agen. Ekspor, impor, dan penyalinan dari satu database ke database lain untuk MySQL, PostgreSQL, dan MongoDB.
Koneksi SSH
Simpan koneksi SSH-mu, buka terminal SSH bawaan, dan jalankan Claude Code, Codex, atau Antigravity CLI langsung di server jarak jauh atau VPS-mu. Autentikasi dengan kunci SSH atau kata sandi, profil koneksi per proyek, tanpa perlu klien SSH terpisah.
Pengelola Rahasia
Simpan kunci API, token, dan kata sandi di keychain sistem operasi Anda, rujuk sebagai {{secret:NAME}} di perintah dev dan lingkungan agen, lalu biarkan AgentsRoom menggantinya dengan nilai asli saat peluncuran. Agen melihat namanya, tidak pernah nilainya, dan tidak ada yang disinkronkan ke server.
Remote Fleet
Jalankan agen pengkodean Claude, Codex, dan Antigravity di setiap komputer yang Anda miliki, dan undang rekan tim untuk berkolaborasi pada agen yang sama secara real time. Mesin kantor, mesin rumah, server build, proyek tim bersama : semua dalam satu tampilan yang terintegrasi dan terenkripsi end-to-end.
Jalankan Kueri ke Database yang Tak Terjangkau Siapa Pun
Unduh AgentsRoom, simpan sebuah koneksi AWS SSM, arahkan database MySQL, PostgreSQL, SQL Server, atau MongoDB ke sana, lalu jalankan kueri ke instance RDS privat Anda tanpa bastion, tanpa VPN, dan tanpa kata sandi bersama.
Aplikasi pendamping: pantau agen Anda saat bepergian
Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.
Kirim bug dan permintaan langsung ke backlog publik Anda.
Agen yang dibaca seperti percakapan
Setiap agen punya peran, wajah, dan utas yang Anda baca seperti aplikasi pesan.
