最近更新时间:2025-03-18 20:10:11
提供一个RDS实例资源。一个数据库实例是在云中的隔离的数据库环境。一个数据库实例可以包含多个用户创建的数据库。
»创建一个 RDS MySQL 实例
provider "ksyun"{
region = "cn-shanghai-3"
access_key = ""
secret_key = ""
}
variable "available_zone" {
default = "cn-shanghai-3a"
}
resource "ksyun_vpc" "default" {
vpc_name = "ksyun-vpc-tf"
cidr_block = "10.7.0.0/21"
}
resource "ksyun_subnet" "foo" {
subnet_name = "ksyun-subnet-tf"
cidr_block = "10.7.0.0/21"
subnet_type = "Reserve"
dhcp_ip_from = "10.7.0.2"
dhcp_ip_to = "10.7.0.253"
vpc_id = "${ksyun_vpc.default.id}"
gateway_ip = "10.7.0.1"
dns1 = "198.18.254.41"
dns2 = "198.18.254.40"
availability_zone = "${var.available_zone}"
}
resource "ksyun_krds_security_group" "krds_sec_group_14" {
output_file = "output_file"
security_group_name = "terraform_security_group_14"
security_group_description = "terraform-security-group-14"
security_group_rule{
security_group_rule_protocol = "182.133.0.0/16"
security_group_rule_name = "asdf"
}
security_group_rule{
security_group_rule_protocol = "182.134.0.0/16"
security_group_rule_name = "asdf2"
}
}
resource "ksyun_krds" "my_rds_xx"{
output_file = "output_file"
db_instance_class= "db.ram.2|db.disk.21"
db_instance_name = "houbin_terraform_1-n"
db_instance_type = "HRDS"
engine = "mysql"
engine_version = "5.7"
master_user_name = "admin"
master_user_password = "123qweASD123"
vpc_id = "${ksyun_vpc.default.id}"
subnet_id = "${ksyun_subnet.foo.id}"
bill_type = "DAY"
security_group_id = "${ksyun_krds_security_group.krds_sec_group_14.id}"
preferred_backup_time = "01:00-02:00"
availability_zone_1 = "cn-shanghai-3a"
availability_zone_2 = "cn-shanghai-3b"
}
»创建一个具有特定参数的RDS MySQL实例
provider "ksyun"{
region = "cn-shanghai-3"
access_key = ""
secret_key = ""
}
variable "available_zone" {
default = "cn-shanghai-3a"
}
resource "ksyun_vpc" "default" {
vpc_name = "ksyun-vpc-tf"
cidr_block = "10.7.0.0/21"
}
resource "ksyun_subnet" "foo" {
subnet_name = "ksyun-subnet-tf"
cidr_block = "10.7.0.0/21"
subnet_type = "Reserve"
dhcp_ip_from = "10.7.0.2"
dhcp_ip_to = "10.7.0.253"
vpc_id = "${ksyun_vpc.default.id}"
gateway_ip = "10.7.0.1"
dns1 = "198.18.254.41"
dns2 = "198.18.254.40"
availability_zone = "${var.available_zone}"
}
resource "ksyun_krds_security_group" "krds_sec_group_14" {
output_file = "output_file"
security_group_name = "terraform_security_group_14"
security_group_description = "terraform-security-group-14"
security_group_rule{
security_group_rule_protocol = "182.133.0.0/16"
security_group_rule_name = "asdf"
}
security_group_rule{
security_group_rule_protocol = "182.134.0.0/16"
security_group_rule_name = "asdf2"
}
}
resource "ksyun_krds" "my_rds_xx"{
output_file = "output_file"
db_instance_class= "db.ram.2|db.disk.21"
db_instance_name = "houbin_terraform_1-n"
db_instance_type = "HRDS"
engine = "mysql"
engine_version = "5.7"
master_user_name = "admin"
master_user_password = "123qweASD123"
vpc_id = "${ksyun_vpc.default.id}"
subnet_id = "${ksyun_subnet.foo.id}"
bill_type = "DAY"
security_group_id = "${ksyun_krds_security_group.krds_sec_group_14.id}"
preferred_backup_time = "01:00-02:00"
parameters {
name = "auto_increment_increment"
value = "8"
}
parameters {
name = "binlog_format"
value = "ROW"
}
parameters {
name = "delayed_insert_limit"
value = "108"
}
parameters {
name = "auto_increment_offset"
value= "2"
}
availability_zone_1 = "cn-shanghai-3a"
availability_zone_2 = "cn-shanghai-3b"
instance_has_eip = true
}
支持以下参数:
output_file
-(必选)将返回内容存储的文件名称。
db_instance_class
-(必选)-此值正则表达式 db.ram.d{1,3}|db.disk.d{1,5},db.ram 是 RDS 随机访问内存大小,db.disk 是磁盘大小。
db_instance_name
-(必选)实例名称。
db_instance_type
-(必选)实例类型,支持 hrds。
engine
-(必选)数据库类型,仅支持 mysql|percona。
engine_version
-(必选)数据库引擎版本。在修改时,仅支持升级版本;当修改数据库引擎版本时,仅支持 5.5|5.6|5.7|8.0。
master_user_name
-(必选)数据库主账户名称。
master_user_password
-(必选)主账户密码。
vpc_id
-(必选)虚拟私有网络的ID。
subnet_id
-(必选)子网的ID。
bill_type
-(必选)计费类型,YEAR_MONTH(月度套餐)、DAY(日计费),默认:YEAR_MONTH。
duration
-(可选)购买时长,以月为单位。
security_group_id
-(可选)安全组ID。
preferred_backup_time
-(可选)备份时间。
availability_zone_1
-(可选)可用区1。
availability_zone_2
-(可选)可用区2。
project_id
-(可选)子项目ID。
parameters
-(可选)数据库参数。
port
-(可选)端口号。
instance_has_eip
-(可选)为实例分配 EIP。
除了上述所有参数外,还导出以下属性:
DBInstanceClass
- 实例规格
Vcpus
- CPU数量
Disk
- 硬盘大小
Ram
- 内存大小
DBInstanceIdentifier
- 实例ID
DBInstanceName
- 实例名称
DBInstanceStatus
- 实例状态
DBInstanceType
- 实例类型
DBParameterGroupId
- 参数组ID
GroupId
- 组ID
SecurityGroupId
- 安全组ID
Vip
- 虚拟IP
Port
- 端口号
Engine
- 数据库引擎
EngineVersion
- 数据库引擎版本
InstanceCreateTime
- 实例创建时间
MasterUserName
- 主账户用户名
DatastoreVersionId
- 数据库版本
Region
- 区域
VpcId
- 虚拟私有网络ID
ReadReplicaDBInstanceIdentifiers
- 只读实例
BillType
- 计费类型
MultiAvailabilityZone
- 多可用区
ProductId
- 产品ID
DiskUsed
- 硬盘使用情况
ProjectId
- 项目ID
注意:由于数据备份和迁移,更改数据库实例类型和存储可能会花费15到30分钟,甚至更长。在更改它们之前,请做好充分准备。
»属性参考
导出的属性如下:
id - The RDS instance ID.
port - RDS database connection port.
»超时设置
注意:从1.52.1版本开始可用。
The timeouts block allows you to specify timeouts for certain actions:
create - (Defaults to 30 mins) Used when creating the db instance (until it reaches the initial Running status).
update - (Defaults to 30 mins) Used when updating the db instance (until it reaches the initial Running status).
delete - (Defaults to 10 mins) Used when terminating the db instance
纯净模式