サイトを #AWSへサーバー切り替え

お客さんのサイトをAWSに切り替えました。しかしながら、今回が手間取りました。予行演習をして30分でできると見積もったのに、1時間半もかかりました。

手間取ったのはデータベースサーバーの移行です。SQL Serverで動いているデータベースを、AWSのRDSのSQL Serverに移行します。これがよい方法かどうかわからないけど、メモしておきます。

直接インポートができないので、一旦ローカルのSQL Serverにバックアップ/復元をします。まずはこれではまりました。復元で最初に

既存のデータベース****以外のデータベースのバックアップを保持しています。

になります。これはよくあるエラーです。こちらはオプションに上書きをチェックすると復元できるはずです。しかし復元できません。今度は

****はこのセッションで使用中なので、RESTORE では処理できません。

となります。これは初めてです。予行演習ではうまくいったのに。

さて、こちらの解決方法は、復元先のファイルを違う名前のファイルを指定してしまいます。本当にこの対応でいいのか?? 今度は上手くいきました。

次は、ローカルのSQL ServerからRDSのSQL Serverにデータベースを移行します。データのインポートウィザードで一件うまく行ったと思いましたが、実際にサイトを動かしてみると、nullが格納できなかったりと、テーブル構造がキチンと移行されていません。

これは仕方ないので、AWSのRDSのSQL Server移行の基本通りに、SQLでbcpコマンドのバッチファイルを生成してしまいます。エクスポートとインポートのバッチファイルを実行して完了です。今度は上手くできました。

本番で上手くいかず、久しぶりに吐き気がするような感覚を実感しました。

今回のサービスは、3TBほどのファイルをダウンロードするサービスで、ファイルはS3に格納しています。ファイルをアップロードするだけで、とても時間がかかりました。asp.netのC#からAWSのSDKを使ってアクセス制限をしています。