OpenMCF logoOpenMCF

Loading...

AliCloud RDS Instance

Deploys an Alibaba Cloud RDS (Relational Database Service) instance with bundled databases, accounts, and account privileges. Supports MySQL, PostgreSQL, SQL Server, MariaDB, and PPAS engines through a single component type.

What Gets Created

When you deploy an AliCloudRdsInstance resource, OpenMCF provisions:

  • RDS Instance -- an alicloud_db_instance with the selected engine, instance class, and storage
  • Databases -- one alicloud_db_database per entry in the databases list
  • Accounts -- one alicloud_rds_account per entry in the accounts list
  • Account Privileges -- one alicloud_db_account_privilege per privilege entry, granting specific access levels on databases

Prerequisites

  • Alibaba Cloud credentials configured via environment variables or OpenMCF provider config
  • A VSwitch -- the RDS instance is placed in a VSwitch (create one with AliCloudVswitch)
  • The VSwitch's VPC and availability zone determine the instance's network placement

Quick Start

Create a file rds-instance.yaml:

apiVersion: ali-cloud.openmcf.org/v1
kind: AliCloudRdsInstance
metadata:
  name: my-mysql
spec:
  region: cn-hangzhou
  engine: MySQL
  engineVersion: "8.0"
  instanceType: rds.mysql.s2.large
  instanceStorage: 50
  vswitchId:
    valueFrom:
      name: my-db-vswitch
  databases:
    - name: myapp
  accounts:
    - accountName: app_user
      accountPassword: "${DB_PASSWORD}"
      privileges:
        - databaseNames: [myapp]
          privilege: ReadWrite

Deploy:

openmcf apply -f rds-instance.yaml

This creates a MySQL 8.0 HA instance with one database, one account, and ReadWrite access.

Configuration Reference

Required Fields

FieldTypeDescriptionValidation
regionstringAlibaba Cloud region (e.g., cn-hangzhou)Required; non-empty
enginestringDatabase engineRequired; one of: MySQL, PostgreSQL, SQLServer, MariaDB, PPAS
engineVersionstringEngine version (e.g., 8.0, 16.0)Required; non-empty
instanceTypestringInstance class (e.g., rds.mysql.s2.large)Required; non-empty
instanceStorageint32Storage size in GBRequired; > 0
vswitchIdStringValueOrRefVSwitch ID. Can reference AliCloudVswitch via valueFrom.Required

Optional Fields

FieldTypeDefaultDescription
instanceNamestringmetadata.nameInstance display name (2-256 chars)
instanceChargeTypestringPostpaidBilling: Postpaid or Prepaid
categorystringHighAvailabilityArchitecture: Basic, HighAvailability, AlwaysOn, Finance, cluster
dbInstanceStorageTypestringStorage type: local_ssd, cloud_ssd, cloud_essd, cloud_essd2, cloud_essd3
zoneIdstringPrimary availability zone
zoneIdSlaveAstringStandby availability zone (for HA)
securityIpslistIP whitelist for access control
securityGroupIdslistVPC security group IDs
monitoringPeriodint32Monitoring interval: 5, 10, 60, 300 seconds
maintainTimestringMaintenance window (e.g., 02:00Z-06:00Z)
deletionProtectionboolfalsePrevent accidental deletion
sslActionstringSSL: Open or Close
tdeStatusstringTDE: Enabled or Disabled
encryptionKeystringKMS key ID for disk encryption
autoRenewboolfalseAuto-renewal for Prepaid
autoRenewPeriodint32Auto-renewal period in months (1-12)
periodint32Subscription period in months
resourceGroupIdstringResource group for organizational grouping
tagsmapKey-value tags
parameterslistDatabase engine parameter overrides
databaseslistDatabases to create (see below)
accountslistAccounts to create (see below)

Database Fields

FieldTypeDefaultDescription
namestringDatabase name (required)
characterSetstringengine defaultCharacter set (e.g., utf8mb4, UTF8)
descriptionstringDatabase description

Account Fields

FieldTypeDefaultDescription
accountNamestringLogin name (required)
accountPasswordstringPassword (required; 8+ chars)
accountTypestringNormalNormal or Super
accountDescriptionstringAccount description
privilegeslistDatabase privileges (see below)

Privilege Fields

FieldTypeDefaultDescription
databaseNameslistDatabases to grant access to (required; min 1)
privilegestringReadOnlyReadOnly, ReadWrite, DDLOnly, DMLOnly, DBOwner

Stack Outputs

After deployment, the following outputs are available in status.outputs:

OutputTypeDescription
instance_idstringRDS instance ID (e.g., rm-xxxxx)
connection_stringstringIntranet (VPC-internal) connection endpoint
portstringDatabase service port
database_idsmapMap of database names to their IDs

Related Components

  • AliCloudVswitch -- VSwitch where the RDS instance is placed
  • AliCloudVpc -- VPC that provides network isolation
  • AliCloudSecurityGroup -- Network security rules for instance access
  • AliCloudKmsKey -- Customer-managed key for disk/TDE encryption
  • AliCloudPrivateDnsZone -- Private DNS resolution for the instance endpoint

Next article

AliCloud Redis Instance

AliCloud Redis Instance Deploys an Alibaba Cloud Redis (KVStore) instance for managed in-memory caching, session management, and real-time data processing. Supports both Redis and Memcache engines, with Redis as the default. What Gets Created When you deploy an AliCloudRedisInstance resource, OpenMCF provisions: KVStore Instance -- an alicloudkvstoreinstance with the selected engine version, instance class, and network placement Prerequisites Alibaba Cloud credentials configured via environment...
Read next article
Presets
3 ready-to-deploy configurationsView presets →