🚀 Free cloud DB, Postgres-compatible
You have an e-mail? You have a database. No credit card needed.
Just head up to https://cloud.yugabyte.com/sign-up and you can create one YugabyteDB on the free tier.
Choose the provider (currently AWS and GCP), the region, and be ready to connect your application and verify the level of compatibility with PostgreSQL.
You will have an always free 2 vCPU VM provisioned with the latest version of YugabyteDB
Feedback welcome on our slack channel: https://yugabyte-db.slack.com/
Contributions welcome on https://github.com/yugabyte
Questions welcome on https://stackoverflow.com/questions/tagged/yugabyte-db
There’s also a forum: https://www.yugabyte.com/community/forum.yugabyte.com
The setup is straightforward, here are a few screenshots:
You will receive a confirmation e-mail immediately
The free tier is immediately available. No credit card or phone verification.
AWS or GCP
The choice of regions is large. You probably want to select the closest to where you connect, or where you have already your applications. Set a password or remember the generated one, and wait for the creation in the chosen cloud provider
During this time you can add you IP address, or CIDR, in the cloud setup (the first step below) so that you can open access to it when the database is created. I highly recommend to go though the two steps below and the first one can be done while waiting for the cluster creation: create an ‘allow’ list that you will enable on the database once created.
Two steps: one on “Network Access” in your account, to list your networks. Add a new list with you IP address(es). And the other on Clusters / “Settings” to assign one or many list to this database:
What is your IP address if you are a home, or office, behind NAT? You need to setup the address that is visible from outside. I like to browse (or curl) to https://ifconfig.me/ for that. But here in the GUI you can also “Detect and add my IP to this list”. Behind a NAT you probably have only one address from all device in your home, or enterprise.
What if you are not behind a NAT but on a public network? The IP address detected is yours but may change if assigned by DHCP. Or maybe you want to allow access to your colleagues? Then the allowed address can be a CIDR which defines a range of IP by specifying which bits are constant in the range. For example 126.96.36.199/32 is one IP address (all 32 bits significant) but 188.8.131.52/30 allows from 184.108.40.206 to 220.127.116.11 because the range is 2 bits large. Put it in binary if you have a doubt: 01100101.01100110.01100111.01100100 or use https://www.ipaddressguide.com/cidr.
For production, you will probably use VPC peering to connect from your application to the database. But the free tier is only with public IP address. Even if the access to your data is protected by a password, it is a good practice to open the network access to only the IP that you need.
There are multiple options but there’s actually an infinity of them as any PostgreSQL application can connect with the postgres connection setting. Nothing special: YugabyteDB is PostgreSQL on the upper layer, adapted to the distributed storage, but with same protocol, SQL and PL/PgSQL, open source license.
The admin credentials are the ones you defined during creation. You can then create other users. There’s a cloud shell to see the command-line without installing anything (you just have to allow popups in the browser). This is for quick things like creating a new user from the browser, or when your firewall allows only that. You can easily install the same client (ysqlsh) or simply use psql. I like to connect with DBeaver (there’s a YugabyteDB connection type even if the PostgreSQL works as well)
$ PGUSER=admin PGPASSWORD=3o3JlAVTDxnqgfE83g32 PGHOST=dc558d01-4d25-486f-9da8-3e105ed1237e.aws.ybdb.io PGPORT=5433 PGDATABASE=yugabyte psqlpsql (12.7, server 11.2-YB-18.104.22.168-b0)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.yugabyte=# select version();
PostgreSQL 11.2-YB-22.214.171.124-b0 on x86_64-pc-linux-gnu, compiled by gcc (Homebrew gcc 5.5.0_4) 5.5.0, 64-bit
(1 row)yugabyte=# select port,cloud,region,zone from yb_servers(); port | cloud | region | zone
5433 | aws | eu-central-1 | eu-central-1a(1 row)
In the “⚛ Connect to your Application” info, you can download the “CA certificate” for a secure SSL/TLS connection. This is important especially when you connect though the internet, so that the network traffic is encrypted. YugabyteDB listens to SSL on the same port (5433) and you just have to download this “CA certificate” which will be the “root certificate” on the client side. Here is an example with PopSQL, very handy to query SQL databases:
I’m using the “PostgreSQL” connection type here and you just have to take care that the port is 5433 (I’ll write more on PopSQL when there will be a dedicated connection type, which may be soon ;)
The 2.9 release is the latest one, ahead of the stable one. And in the free tier we have only one node. Obviously for production you have at least 3, for a replication factor of 3, to get load balancing and high availability.
I mentioned only the YSQL client connection, which is the PostgreSQL-compatible one. You have also access to the YCQL client and API which is Cassandra-compatible.