PD AWS MySQL for Blesta

PD AWS MySQL — Resell Fully-Managed MySQL Databases on AWS in Blesta

Resell fully-managed MySQL databases on AWS — provisioned, billed and managed in Blesta

Made and supported by Projektif Digital Ltd. Runs inside PD Modules, the panel every module installs into.

Databases

PD AWS MySQL lets a hosting company sell managed MySQL databases as its own package. Your customer orders in your Blesta order form, a dedicated MySQL database is built in your AWS account, and your customer manages it from their Blesta service page: connection details, usage graphs, snapshots and a firewall, with no AWS console and no AWS login. You set the price, AWS bills you its cost, and the difference is your margin.

It is built for hosts who want a database line beside their hosting packages, without building a control panel, without handing out AWS access, and without a ticket every time a customer needs a snapshot or a new allowed IP address.

Why hosts choose PD AWS MySQL

A real MySQL server for every customer. Each order gets its own database instance, its own master credentials and its own firewall group. Nothing is shared between customers, not even with another installation that uses the same AWS account. The module refuses to take over a database it did not create, so one made by hand in your account is never adopted, managed or deleted.

Two ways to sell it, in one package line. Back a package with Amazon RDS for resizable, firewalled plans with optional high availability, or with a flat-priced Lightsail database for an entry-level offer, and mix both. The customer's service page adapts: Lightsail databases show no firewall section, because they have none.

Your customers choose, and you price every choice. One click creates a package option group from your live AWS catalogue: region, plan, storage, high availability, public access and MySQL version, using the versions AWS currently offers in your region. Every choice starts at no extra charge and you set the prices.

A database the customer can really use. Host, port 3306, database name, username and password open in a connection details window, each with a copy button, plus a ready-to-paste mysql command that connects over TLS and verifies the server with the Amazon certificate bundle. The password stays masked until the customer reveals it.

Failures are visible, not silent. If AWS refuses an order, or your AWS key lacks a permission, the real reason is recorded for you and the customer is never left looking at "still provisioning" for a database that is not coming. Running setup twice never creates a second database.

Nothing left billing. Terminating a service deletes the database together with its automated backups, its snapshots and its firewall group.

How it works

  1. Connect your AWS account. In Blesta, open Settings, Company, Modules, and add an account with your access key. The secret is stored encrypted. Test Connection, in the PD Modules panel, makes one read-only call and creates nothing.
  2. Create your package. Add a Blesta package, choose PD AWS MySQL as its module, and set the backing service, region, plan, storage and MySQL version. Press Generate plans to create the option group customers pick from.
  3. Your customer orders. Once the order is paid, the database is built in the region and size they chose. Their service page says so while AWS works, then fills in with the connection details by itself.
  4. You get paid, they manage it. Blesta keeps billing as usual, and suspend, unsuspend and cancel follow your normal billing.
The package form: AWS account, region, backing service, plan, storage and MySQL version, with switches for what the customer can use
The package form: AWS account, region, backing service, plan, storage and MySQL version, with switches for what the customer can use

What you get in Blesta

Selling and pricing

  • A package option group generated from the live AWS catalogue, attached to the package for you, with prices set under Packages, Package Options
  • RDS plans from the burstable db.t3 and db.t4g sizes up to the Graviton db.m6g sizes, plus flat-priced Lightsail bundles
  • Storage as a billable choice, from 20 GB on RDS
  • A "High availability (Multi-AZ)" choice that gives the customer a standby in a second zone
  • A "Publicly accessible" choice: left off, the database is reachable only inside the AWS network; switched on, only from the IP addresses the customer allows
  • A choice you do not offer is fixed to the package's own setting
  • Sync with AWS hides choices AWS has retired and adds new ones, without touching prices or existing customers
  • A name prefix for new databases, applied to new orders only

Provisioning you can trust

  • Upgrading the plan resizes an RDS database in place and keeps its data; Multi-AZ is switched on or off in place
  • A change that cannot be applied in place is reported to you as not applied, never accepted silently while the bill changes
  • Suspend stops the database, and it stays stopped even though AWS restarts stopped databases after seven days. The customer cannot start it while suspended. Unsuspend starts it again with its data

Running it day to day

  • Clients & Databases, in the PD Modules panel, lists every database with its service, backing, plan, region, endpoint and live state
  • An activity log of provisioning, resizes, snapshots and password resets across every service
  • A report that checks your licence, the AWS SDK, and how many credential sets and databases you have
  • Read-only assistant tools that report a service's database state and recent provisioning activity, with no way to create, resize, delete or restore anything

What your customers get

  • Start, stop and reboot from their service page; a stopped database keeps its data
  • Password reset with the engine's real rules stated on the form (8 to 41 characters), and a bad password refused before anything is queued
  • Usage graphs for CPU, connections, freeable memory and free storage over the last 24 hours, drawn from AWS's own metrics
  • Snapshots taken in one click and deleted by the customer; the daily automated backups, kept seven days, are listed beside them
  • A firewall of allowed IPv4 addresses and ranges, applied on the next scheduled run, with only the database port ever opened
  • Activity in plain words: the last 40 operations with time and outcome
The connection details window: host, port, database, username, masked password, a copy-ready mysql command and the steps to verify the connection with the Amazon certificate bundle
The connection details window: host, port, database, username, masked password, a copy-ready mysql command and the steps to verify the connection with the Amazon certificate bundle
Snapshots the customer takes and deletes themselves, with name, status, size and date
Snapshots the customer takes and deletes themselves, with name, status, size and date
Activity: what happened to the database and when, with the outcome of each step
Activity: what happened to the database and when, with the outcome of each step

Each of Snapshots, Firewall, Connection details and Usage graphs is a setting on the package. Turn one off and it disappears from the customer's page, and the request is refused however it is made. The pages render in Blesta's client portal and follow its theme, and every word can be translated or reworded with override files that survive updates. Customers see only your brand.

Security built in

  • Your AWS keys are stored encrypted in Blesta and never appear on a customer page, in a message or in a log.
  • Database passwords are stored encrypted on the service, including one the customer sets with Reset password.
  • Only the database's own port is ever opened, and only to the addresses the customer lists.
  • Your install is untouched: the module adds its own tables and templates, never modifies Blesta's files, and uninstalls without leaving orphans.

One product, every feature

PD AWS MySQL is one paid module with everything included. There are no tiers, no add-ons and no per-database fee from us: you pay AWS at cost and keep the margin. A managed database is a real, billable AWS resource from the first minute, so there is no free trial.

If your subscription ever lapses, your customers' databases are not touched. They keep running on your AWS account with their data. You get a 14-day grace period with everything working and a renewal reminder, then admin management locks while customers keep being served, and only after that do customer features pause behind a neutral "temporarily unavailable, please contact support" message that never mentions licensing. Renewing restores everything at once.

Requirements

  • Blesta 6 or later on PHP 8.2 or later, with the ionCube Loader
  • An AWS account and an access key with the Amazon RDS permissions we list (plus the security group permissions every order needs, and Lightsail permissions if you sell Lightsail plans)
  • PD Modules, the free control panel every PD module installs into

Questions

Do I need my own AWS account?

Yes. You connect your AWS credentials once, and every client database is provisioned into your own account — AWS bills you, you bill your client through Blesta, and the difference is your margin.

How does billing and margin work?

Databases run entirely on your AWS account at AWS cost, and you set the sell price on each Blesta package. You keep the difference — the module never touches your billing or takes a cut.

Which database engines and families can I sell?

Managed MySQL on AWS, two ways: Amazon RDS for power plans (flexible sizing, IP firewall, snapshot export to S3, point-in-time restore) and Lightsail Databases for simple flat-priced entry plans. You can offer both under one product line.

How do clients get their connection details?

Automatically. As soon as AWS reports the database available, the client area populates with the host, port, database name, username and password — no support ticket and no AWS console needed.

What happens to a client's database if they're suspended or cancelled?

You stay in control: suspension and termination follow Blesta's normal service lifecycle, and one-click snapshots let you preserve a client's data before any teardown.

Is this one price or lots of tiers?

One paid product with every feature included — provisioning, connection details, snapshots, backups, firewall, power controls and metrics. No confusing add-ons.

What happens if my subscription lapses?

Nothing of yours is touched, and nothing is deleted. The module steps down in stages instead: a 14-day grace period where everything still works and you get a renewal reminder, then admin management locks while your customers carry on being served, and only after that do the customer-facing features stop — behind a neutral "temporarily unavailable, please contact support" message that never mentions licensing to your customer. Anything the module provisioned keeps running in your own account throughout, and your data and settings stay exactly where they are. Renewing restores everything immediately.

Which Blesta and PHP versions does it need?

Blesta 6.0 or later, on PHP 8.1 or later. It installs alongside whatever else you run — it adds its own tables and templates rather than modifying Blesta files, so it does not collide with other vendors' modules or with a customised template. Uninstalling removes its own tables and settings and leaves no orphans behind.

What’s new in 0.4.84

  • Suspending or unsuspending a database that is busy with another operation (a backup, a password change) no longer fails: the request is queued and applied automatically as soon as the database allows it, so a suspended service is always stopped and a paid-up one always restarted.
  • The package form now offers the provider's default engine version.
  • A cancelled service can be re-activated with Uncancel.
  • Multi-line package settings are now text areas, so pasted text keeps its line breaks.
  • Creating a service again while its previous database is still being removed now says so, instead of reporting it created.
  • Suspend and Terminate always work, whatever the state of your PD Modules licence.
  • Product setup messages show screen names in bold rather than wrapped in asterisks.
  • A reset password now appears in the customer's connection details. Features you switch off, and suspended services, are refused rather than hidden. Upgrades apply in one step after the safety snapshot, high availability included. An order never takes over a database it did not create. Terminating also removes the database's snapshots. Lightsail databases show every usage graph.
  • The Rebuild warning now says prices go back to their generated starting price (zero where none is suggested).
  • The database password is now saved to the service, so your customers can see it in their connection details.
  • Setup guidance and connection checks name the right screens for your billing platform.
  • Removing generated options now explains why when it can't, and generating them says how prices start.
  • Your Blesta packages for this module appear on the Products screen, ready to generate options.
  • Generate this module's order options for a Blesta package in one click, as on WHMCS; rebuilding them keeps the choices your existing customers made.
  • Customers see only the service pages their plan includes, on Blesta as well as WHMCS.
  • Links on this module's screens open the right client, service and product pages on every platform.

Get your website online with PD Hosting

UK hosting, domains and support from a real team. From a first site to a full server.

Terms and Conditions  ·  Privacy Policy

PD Hosting is the trading name of Projektif Digital Ltd, registered in England and Wales, company number 12482555.

PD Hosting
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.