在AWS RDS中,'managed”是指AWS RDS服务提供一个数据库实例,但用户需要自行进行数据库的备份和升级等管理工作。而'fully managed”则是指AWS RDS服务提供一个完全托管的数据库实例,包括自动备份、自动扩容、自动升级等功能,用户无需进行额外的管理工作。
以下是一个创建完全托管的postgres实例(即'fully managed”服务)的示例代码:
import boto3
client = boto3.client('rds')
response = client.create_db_instance(
DBInstanceIdentifier='mydbinstance',
Engine='postgres',
DBInstanceClass='db.t2.micro',
MasterUsername='myusername',
MasterUserPassword='mypassword',
AllocatedStorage=20,
Tags=[
{
'Key': 'Name',
'Value': 'mydbinstance'
},
],
MultiAZ=False,
PubliclyAccessible=False,
StorageType='gp2',
BackupRetentionPeriod=7,
MonitoringInterval=60,
DBName='mydbname',
VpcSecurityGroupIds=[
'sg-12345678',
],
AvailabilityZone='us-east-1b',
PreferredMaintenanceWindow='sun:05:00-sun:06:00',
AutoMinorVersionUpgrade=True,
LicenseModel='postgresql-license',
OptionGroupName='my-option-group',
CharacterSetName='UTF8'
)
print(response)
在上述代码中,将参数PubliclyAccessible和MultiAZ设置为False,表示完全托管的数据库实例是私有的且非多AZ(即不在多个可用区内复制备份实例),符合'fully managed”服务的定义。 同时,参数BackupRetentionPeriod、MonitoringInterval、PreferredMaintenanceWindow和AutoMinorVersionUpgrade等也可以用来控制数据库实例的自动备份、监控、维护以及自动升级等功能。