ワイ「過去のデータ掘り出さなきゃアカンから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. そんなものはなかった