以下のような流れbashファイルを実行し、あるRDSから最新の自動バックアップのスナップショットの復元を行い、処理を行った後に、Dumpを取得してから別のRDSにデータを移行させ、復元したRDSを削除する
という処理を実現させています。
実行環境
OS:Amazon Linux 2 AMI
AWSCLI:aws-cli/2.2.35 Python/3.8.8 Linux/4.14.243-185.433.amzn2.x86_64 exe/x86_64.amzn.2
ターミナル;iterm2
#自動バックアップしている最新のスナップショットを取得 SNAPSHOT_NAME=`aws rds describe-db-snapshots --query "reverse(sort_by(DBSnapshots[?DBInstanceIdentifier=='aws-metabase-db'],&SnapshotCreateTime))[0].DBSnapshotIdentifier"` # s/置換条件/置換文字/ 置換条件を置換文字に変換する。最後にgを付けた場合は置換条件に当てはまるすべての文字列が置換される SNAPSHOT_NAME=`echo $SNAPSHOT_NAME | sed "s/\"//g"` #スナップショットの復元 マスキング用RDSの作成 aws rds restore-db-instance-from-db-snapshot \ --db-snapshot-identifier $SNAPSHOT_NAME \ --db-instance-identifier "xxxxxxxxxxx" \ --availability-zone "ap-northeast-1a" \ --db-subnet-group-name "xxxxxxxxxxxxx" \ --vpc-security-group-ids "xxxxxxxxxxxx" \ --db-parameter-group-name "xxxxxxxxxxxxx" \ --db-instance-class db.t3.micro \ --no-multi-az \ --no-paginate # RDSが作成するまで待機 aws rds wait db-instance-available --db-instance-identifier "xxxxxxxxxxxxxxxxxxx" #[復元したRDSで処理実行] # DBの削除 aws rds delete-db-instance \ --db-instance-identifier "xxxxxxxxxxxxxxxxx" \ --skip-final-snapshot
処理については問題なく、行うことができるのですが、
aws rds restore-db-instance-from-db-snapshot (省略)
を行った際に、以下の画像のように、復元したRDSの情報がJSON形式で表示され、aws rds wait
より以降の処理が止まってしまいます。
復元により、RDSが復元し、ステータスが利用可能
に変更されても、処理が止まってしまいます。
コマンド画面上で[control]+c
などを押したりしないと次の処理に進みません。
この原因はなぜなのでしょうか?
どのようにしたら、処理を止めずに進めていくことができるでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/07 08:07