7777

Your remote AWS database on your local port 7777.
$ 7777
Tunnel created 🎉
Connect to MySQL on port 7777 on your machine:
mysql -h localhost -P 7777 -u admin -p
Hit Ctrl+C to stop the tunnel  

    Why 7777?

    Got an RDS database in an AWS VPC?
    Want to connect to it from your machine to debug a few things?

    7777 is a CLI program that lets you connect to that database via a local port in seconds.

    In other words, it creates an SSH tunnel for you. But forget about bastions and jump servers:

    Without 7777

    • Launch an EC2 instance
    • Set it up in the VPC
    • Configure Security groups
    • Upload your SSH keys
    • Create an SSH tunnel
    • Connect to your database

    Recurring costs: $50/year

    With 7777

    • Run 7777
    • Connect to your database

    Recurring costs: $0/year

    How 7777 works

    7777 automates the work of creating and using a jump server to reach private databases in AWS VPC.

    By internally using AWS Fargate containers instead of EC2 instances, the setup time and costs are drastically reduced. 7777 creates jump servers using containers on the fly, and deletes them after you are finished.

    Finally, everything runs in your AWS account, including the Fargate containers. Nothing is sent to 3rd party servers.

    7777 is compatible with MySQL, PostgreSQL, MariaDB, and Aurora.

    It runs on Linux, Mac, and Windows and can be installed by simply downloading a binary.

    Since 7777 opens a classic tunnel, you can use your favorite database client: MySQL Workbench, TablePlus, Sequel Pro…

    Get 7777

    7777 is currently in private beta while we make it perfect 🎨

    Pricing will be announced soon! It will be a one-time purchase, and we aim to be as affordable as possible because connecting to a database shouldn't be that hard!

    If you want to get access as soon as possible, get in there:

      * we don't spam

      Brought to you by

      Matthieu Napoli

      Matthieu is an open-source addict and AWS Serverless Hero.

      He works on Bref to help all PHP developers go serverless. And for those who don't know about serverless, he wrote the Serverless Visually Explained course.

      While this may sound like a bad joke, he is obsessed with making the perfect Neapolitan pizza…

      Marco Aurélio Deleu

      Marco is Principal Software Engineer by day, Head of DevOps by night, and AWS nerd by nature.

      Unlike most human beings, he is not scared by AWS VPC, which can be handy when building a tool like 7777. He even explains it all on his blog.

      Also, sometimes Marco deploys on Friday.

      Questions

      What kind of bear is best?

      Black bear.

      Can I use a port number different than 7777?

      Yes, but we will silently disapprove.

      How do I install 7777?

      7777 is a CLI program: it's a binary that you download and run in your terminal.

      Is the CLI command really "7777"?

      Yes, we were surprised to see that it works fine! For our next product name, we are now considering an emoji or a non-breakable space.

      How is my AWS database available through my own computer's port 7777?

      7777 creates what is called an "SSH tunnel". The tunnel forwards everything from your port 7777 to the database transparently. And it does so via an intermediary server: a "jump server", aka bastion.

      All of this is pretty standard, but quite complex to setup. 7777 sets all of that up in one command, and destroys it when you stop the command.

      Is this secure?

      The connection between your computer and your database is fully encrypted by the standard SSH protocol, via a randomly generated key.

      Nothing goes to (or through) 3rd party servers, everything stays between your laptop and your AWS account. Yes, the Fargate container runs in your account, and we cannot access it.

      Does it work with MySQL Workbench|TablePlus|Sequel Pro|…?

      Yes, just point it at localhost:7777 and use your database login and password. You don't need to create a SSH connection or do anything more.

      What about "publicly accessible RDS databases"?

      If you make your AWS database "publicly accessible" (there's an option for that), then you don't need 7777 because you can connect to your database directly.

      AWS recommends to not make database public and instead put them in a VPC: that's where 7777 becomes useful, because connecting to the database becomes much harder.

      I already have a jump server/bastion set up, is 7777 for me?

      If everything is working fine for you, then you probably don't need 7777. That being said, 7777 avoids having a server run 24/7, which saves money.

      Is it written in [Go|PHP|JavaScript|Haskell]?

      We've written the program in TypeScript, but the binary is completely self-contained. You do not need NodeJS.

      If you've ever wondered what happens when PHP developers write a TypeScript program, then download 7777 to find out!