EC2またはRDSインスタンスをバッチまたはPowerShellで作成する場合は、組み込みのaws rds wait db-instance-available --db-instance-identifier 'myDbInstance'
を実行して、それに対してさらなるコマンドを実行する前に利用可能になるまで待つことができます。AWS RDSネイティブSQLバックアップの完了を待ちます
RDSスナップショットを新しいインスタンス($ devInstanceDnsName)に復元し、そのインスタンス(MS SQLのインスタンス)からS3に単一のデータベースをバックアップするスクリプトがあります。 powershellでは、ネイティブバックアップを実行するために、sqlcmd -X -b -S "tcp:$devInstanceDnsName,1433" -d dbName -U dbUser -P dbPwd -Q "exec msdb.dbo.rds_backup_database @source_db_name='dbName', @s3_arn_to_backup_to='arn:aws:s3:::backupsbucket/$backupFileName', @overwrite_S3_backup_file=1"
を実行します。
これは非同期タスクで、バックアップをスケジュールしてすぐに戻ります。しかし、ネイティブバックアップが完了したときにスクリプトはどのようにして、実行を同期して続けることができますか?このよう
Wait-RdsNativeBackupSuccess -server "$devInstanceDnsName,1433" -database dbName -user dbUser -pwd dbPwd
と定義される: