LoginSignup
4
4

More than 5 years have passed since last update.

なんかAWS RDSのSnapshotからのrestoreしようとしたときにくるくるから先に進まない時にAPIから叩いてなんとかする

Last updated at Posted at 2015-02-26

ワイ「過去のデータ掘り出さなきゃアカンからsnapshotからrestoreするやで(マウスポチー」
AWS「……(ローディングから先進まない)」
ワイ「ファッ!?」
※ブラウザのキャッシュ削除、他ブラウザからの操作でもダメだったので、恐らくはAWS側のなんらかのトラブルかと思われる。

「RDSスナップショットから"Restore from DB Snapshot"を行っても、読み込み中のアイコンが回転した状態から先に進みません。4〜5時間にわたり10数回試しています。」
「API経由であれば復元できました。」
https://forums.aws.amazon.com/thread.jspa?messageID=414135񥆷
……どうやらAPI経由で叩くとなんとかなるっぽい!

「でもなんかなんとなくAPIから叩くのってすげえめんどくさそう……」
と思ってたら意外と簡単だったので共有。

※ もちろん事前にもらっているはずのアクセスキーIDとシークレットアクセスキーが必須
※ 最初にAWSのAPIを叩くためのライブラリが必要なので

gem install aws-sdk

ってやって、AWSSDKをインストール。

require 'aws-sdk'
AWS.config(:rds_endpoint => 'rds.ap-northeast-1.amazonaws.com') # 東京リージョンの場合
rds = AWS::RDS::Client.new({"access_key_id"=>"省略", "secret_access_key"=>"省略"})
responce = rds.restore_db_instance_from_db_snapshot(
  :db_snapshot_identifier => "リストアしたいsnapshotの名前",
  :db_instance_identifier => "リストアした後のDBインスタンス名",
  :db_instance_class => "クラス",
  :multi_az => false,
  :auto_minor_version_upgrade => false,
  :license_model => "general-public-license"
)

色々オプションを付けたい場合はこれ参照
http://docs.aws.amazon.com/sdkforruby/api/Aws/RDS/Client.html#restore_db_instance_from_db_snapshot-instance_method

Q. Ruby以外は?
A. そんなものはなかった

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4