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  
Get 7777 🚀 👇️
Josh Kamdjou
@jkamdjou
this is fucking magic
Youenn
@Youllec
thanks for making aws dev so simple

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, Aurora and Elasticache for Redis.

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…

Want to learn more? Check out the documentation.

Get 7777

Licenses are available as one-time purchases. No recurring subscription.

19 Solo

The solo edition, limited to one user and one computer.

  • Unlimited tunnels
  • Unlimited databases
Get 7777

99 Team

The team edition, one license for everyone in your team.

  • Unlimited tunnels
  • Unlimited databases
  • Unlimited users
  • CI/CD support
Get 7777 for teams

Need to comply with advanced security requirements and accreditations? for the self-built and self-contained version with source code access.

Enterprise

Sales are processed securely by Paddle and Stripe. Paddle may add local taxes (VAT) based on your location during the checkout.

Refund policy: contact us within 7 days and we'll refund you in full, no questions asked.

Brought to you by

Matthieu Napoli

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 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.

Can 7777 be used in CI/CD?

Yes! If your CI/CD needs to connect to the database when deploying (for example to run database migrations, or prepare some caches), you can run 7777: check out the documentation.

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!

Can I get an invoice?

Yes! Sales are made through Paddle, which provides invoices.

Can I change computers with the "Solo" version?

Yes! Don't worry about "un-registering" anything: just install 7777 on your new computer and run it. You will receive an email to approve your new computer. Any previously used computer will be automatically unregistered.