我正在尝试使用python(boto3)测试从快照还原Neptune实例。简而言之,我们希望每天使用自动化启动和删除Dev实例。
还原时,我的还原似乎仅创建群集而没有创建附加实例。集群启动并添加到集群后,我还尝试创建一个实例,但这也不起作用。 (参考:client.create_db_instance)
我的代码执行以下操作,获取最新快照。使用该变量创建群集,以便在那里可以获取最新数据。
import boto3
client = boto3.client('neptune')
response = client.describe_db_cluster_snapshots(
DBClusterIdentifier='neptune',
MaxRecords=100,
IncludeShared=False,
IncludePublic=False
)
snaps = response['DBClusterSnapshots']
snaps.sort(key=lambda c: c['SnapshotCreateTime'], reverse=True)
latest_snapshot = snaps[0]
snapshot_ID = latest_snapshot['DBClusterSnapshotIdentifier']
print("Latest snapshot: " + snapshot_ID)
db_response = client.restore_db_cluster_from_snapshot(
AvailabilityZones=['us-east-1c'],
DBClusterIdentifier='neptune-test',
SnapshotIdentifier=snapshot_ID,
Engine='neptune',
Port=8182,
VpcSecurityGroupIds=['sg-randomString'],
DBSubnetGroupName='default-vpc-groupID'
)
time.sleep(60)
db_instance_response = client.create_db_instance(
DBName='neptune',
DBInstanceIdentifier='brillium-neptune',
DBInstanceClass='db.r4.large',
Engine='neptune',
DBSecurityGroups=[
'sg-string',
],
AvailabilityZone='us-east-1c',
DBSubnetGroupName='default-vpc-string',
BackupRetentionPeriod=7,
Port=8182,
MultiAZ=False,
AutoMinorVersionUpgrade=True,
PubliclyAccessible=False,
DBClusterIdentifier='neptune-test',
StorageEncrypted=True
)
文档完全没有帮助。它非常擅长提供基本创建所需的变量,而不是实际实例。如果我尝试使用相同的集群名称创建实例,则它会出错或创建一个新的具有相同名称的集群并附加“ -1”。
答案 0 :(得分:0)
如果要以编程方式从快照还原,则需要:
create-db-cluster-snapshot
restore-db-cluster-from-snapshot
从快照中恢复群集create-db-instance
在新集群中创建实例您提到您确实在最后进行了create-db-instance
调用,但是示例片段中没有。如果该调用确实成功,那么您应该看到在该群集内配置的实例。
使用Neptune控制台从快照还原时,它将为您执行第2步和第3步。
似乎您已执行以下操作:
今天,我们建议完全通过控制台或完全使用CLI还原快照。