Skip to content
GitHubXDiscordRSS

Database

Learn how to create, update, and manage AWS Lightsail Databases using Alchemy Cloud Control.

The Database resource lets you manage AWS Lightsail Databases including their configurations and settings.

Create a basic Lightsail database with required properties and some common optional settings.

import AWS from "alchemy/aws/control";
const basicDatabase = await AWS.Lightsail.Database("basicDatabase", {
RelationalDatabaseName: "myDatabase",
RelationalDatabaseBlueprintId: "mysql_5_7",
MasterDatabaseName: "primaryDB",
MasterUsername: "adminUser",
MasterUserPassword: "SecurePassword123",
RelationalDatabaseBundleId: "medium_2_0",
PubliclyAccessible: true
});

Configure a database with advanced settings including maintenance windows and backup options.

const advancedDatabase = await AWS.Lightsail.Database("advancedDatabase", {
RelationalDatabaseName: "advancedDB",
RelationalDatabaseBlueprintId: "mysql_5_7",
MasterDatabaseName: "primaryDB",
MasterUsername: "adminUser",
MasterUserPassword: "AnotherSecurePassword456",
RelationalDatabaseBundleId: "large_2_0",
PreferredMaintenanceWindow: "Mon:04:00-Mon:05:00",
PreferredBackupWindow: "Mon:02:00-Mon:03:00",
BackupRetention: true
});

Create a database with specific relational database parameters.

const parameterDatabase = await AWS.Lightsail.Database("parameterDatabase", {
RelationalDatabaseName: "paramDB",
RelationalDatabaseBlueprintId: "mysql_5_7",
MasterDatabaseName: "primaryDB",
MasterUsername: "adminUser",
MasterUserPassword: "PasswordWithSpecialChar!789",
RelationalDatabaseBundleId: "medium_2_0",
RelationalDatabaseParameters: [
{ parameterName: "max_connections", parameterValue: "200" },
{ parameterName: "query_cache_size", parameterValue: "1048576" }
]
});

If you want to adopt an existing database resource instead of creating a new one, you can specify the adopt option.

const adoptDatabase = await AWS.Lightsail.Database("adoptDatabase", {
RelationalDatabaseName: "existingDB",
RelationalDatabaseBlueprintId: "mysql_5_7",
MasterDatabaseName: "primaryDB",
MasterUsername: "adminUser",
MasterUserPassword: "SecurePassword789",
RelationalDatabaseBundleId: "medium_2_0",
adopt: true
});