Я пытаюсь проверить восстановление экземпляров Neptune из снимка с помощью python (boto3).Короче говоря, мы хотим ежедневно раскручивать и удалять экземпляр Dev с помощью автоматизации.
При восстановлении мое восстановление, похоже, создает кластер только без создания подключенного экземпляра.Я также попытался создать экземпляр, когда кластер запущен и добавлен в кластер, но это тоже не работает.(ref: 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».