AWS RDS实例引擎名与pricing get-products映射及版本匹配咨询
RDS引擎名与定价接口筛选值的映射问题
问题背景
通过AWS SDK调用rds describe-db-instances返回的引擎名称格式如下:
aurora-mysqlaurora-postgresqlcustom-oracle-eedb2-aedb2-semariadbmysqloracle-eeoracle-ee-cdboracle-se2oracle-se2-cdbpostgressqlserver-eesqlserver-sesqlserver-exsqlserver-web
但调用aws pricing get-products时,databaseEngine筛选参数仅支持以下值:
Aurora MySQLAurora PostgreSQLDb2MariaDBMySQLOraclePostgreSQLSQL Server
同时部分数据库存在版本/edition差异(如Oracle的oracle-ee/oracle-se2),需通过databaseEdition筛选,且存在信息缺失(如Oracle的“Standard One”版本与原始引擎值的关联)。
解决方案
AWS没有公开的官方映射表,但行业实践中已形成通用的对应关系,可结合实例的额外字段补充筛选参数:
1. 引擎名称基础映射
| RDS返回引擎名 | 定价接口databaseEngine值 |
|---|---|
aurora-mysql | Aurora MySQL |
aurora-postgresql | Aurora PostgreSQL |
custom-oracle-ee/oracle-ee/oracle-ee-cdb/oracle-se2/oracle-se2-cdb | Oracle |
db2-ae/db2-se | Db2 |
mariadb | MariaDB |
mysql | MySQL |
postgres | PostgreSQL |
sqlserver-ee/sqlserver-se/sqlserver-ex/sqlserver-web | SQL Server |
2. 版本/Edition对应关系
Oracle
oracle-ee/oracle-ee-cdb→databaseEdition设为Enterprise Editionoracle-se2/oracle-se2-cdb→databaseEdition设为Standard Edition 2custom-oracle-ee:通常对应Enterprise Edition;若涉及“Standard One”版本,需结合实例的EngineVersion字段(版本号会关联对应Edition标识)进一步匹配
SQL Server
sqlserver-ee→databaseEdition设为Enterprisesqlserver-se→databaseEdition设为Standardsqlserver-ex→databaseEdition设为Expresssqlserver-web→databaseEdition设为Web
Db2
db2-ae→databaseEdition设为Advanced Editiondb2-se→databaseEdition设为Standard Edition
3. 精准匹配补充
若需更精准的版本匹配,可调用rds describe-db-engine-versions接口获取引擎的详细版本信息,再结合pricing get-products返回结果中productAttributes字段的engineVersion值进行二次筛选。
内容的提问来源于stack exchange,提问作者BigFluffyCookie
相关产品推荐
相关产品推荐

