s12 windows server 2003 sql server 2000 sql server 2005 を azure 仮想マシンへ移行
Post on 01-Jul-2015
1.279 Views
Preview:
TRANSCRIPT
1
更新履歴
• 以下の日付でドキュメントを更新、確認しています。
2
バージョン
1.00 2014/6/30 ・初版リリース
1.10 2014/9/30 ・2014年9月現在の情報に更新。
1.20 2015/1/31 ・2015年1月現在の情報に更新。
目次
• Windows Server 2003 のサポート終了と移行
• Classic ASPを Azure 仮想マシン へ移行
• ASP.NET を Azure 仮想マシン へ移行
• SQL Server 2000/2005 をAzure 仮想マシンへ移行
3
4
Windows Server 2003 のサポート終了と移行
• Windows Server 2003 の延長サポートが 2015年7月に終了するため、OSのバージョンアップを含む移行が必須
• 移行先のサーバーOSは、Windows Server 2008 R2 以降を検討
• 移行に際しては、運用や今後の情報戦略も検討した上での環境選択が必要
• 仮想環境での運用コスト削減は検討必須
5
移行先の選択肢としての Azure
• 移行先として、柔軟にサーバーやストレージの調達が可能で、社内とセキュアなVPN接続も出来る Azure 仮想マシン は検討対象といえる
• 旧資産を Azure 仮想マシン 上に移行することで、ハードウェア購入費・ハードウェア障害対応が不要になり、運用コストの削減が期待できる
• ハードウェアのリース切れもなく、調達のスピードも速い
• ハードウェアやソフトウェアライセンスを固定資産から変動費化することが可能であり、経費削減が期待できる
6
Classic ASP, ASP.NET, SQL Server の移行
• Classic ASP
• ASP.NET
• SQL Server のシステム データベース
7
1 : .NET Framework 2.0 のメインストリームサポートは既に終了している参考:マイクロソフト プロダクト サポート ライフサイクル http://support.microsoft.com/lifecycle/?c1=501&ln=ja
8
Classic ASP を Azure 仮想マシンに移行
• Classic ASP は IIS 全てのバージョンでサポートされており、Windows OS の一部としてリリースされているために OS のサポートサイクルに準拠する1
• イントラネットで利用している資産を移行する場合、認証方式の変更が必要な場合がある。例えば、Windows 認証を利用する場合、VPN接続が必要になる2
9
1 : Active Server Pages (ASP) support in Windows http://support.microsoft.com/kb/26690202:Windows 認証を設定する (IIS 7) http://technet.microsoft.com/ja-jp/library/cc754628.aspx
1. Windows Server の設定
2. Windows Server に IIS の機能を追加
3. IIS のセットアップ
4. Classic ASP 実行モジュールの移行
Azure 仮想マシン上に Classic ASP を移行
10
移行元(オンプレミス)旧資産から Azure 仮想マシン へ移行
Microsoft Azure
Windows Server 2003 等
IIS 6 等
Classic ASP (*.asp, *.asa)
1. Windows Server の設定
• 管理ポータルから仮想マシンを作成
• 日本語パックをインストール
• 時刻を GMT から JST に変更
11
コントロールパネルから[日本語]パックを追加し、[日本語]を第一言語に設定し、OS を再起動する
日本のタイムゾーンに変更する
2. Windows Server に IIS の機能を追加
• [役割と機能の追加] から IIS 機能と Classic ASP 機能を追加し、Classic ASP が実行できる環境をセットアップ
12
IIS で Classic ASP Web サイトを構築する http://technet.microsoft.com/ja-jp/library/hh831387.aspx
IIS の役割を追加
Classic ASP の実行ランタイムを追加
3. IIS のセットアップ
• IISマネージャーでClassic ASP アプリケーションが稼働する環境を設定
13
1 :セキュリティを弱める設定となるため、システムのセキュリティポリシーを確認すること2 :32bit 版のサードパーティライブラリや COM ライブラリを利用している場合、本手順を利用して別途稼働は検証する必要がある参考:IIS 7.0 および IIS 7.5 上で Classic ASP アプリケーションを実行する http://technet.microsoft.com/ja-jp/library/ee155445.aspx
② 親パスを設定可能にする1
④ 32bit アプリケーションを有効化する2
③ マネージ パイプラインモードを[クラシック]に変更する
①エラーをブラウザ側に返す1
※本番環境で必要かは要検討
4. Classic ASP 実行モジュールの移行
• Classic ASP の実行モジュール( *.asp, *.asa 等)をコピーで移行可能だが、アプリケーションの実行形式、実行権限が異なるため以下の設定が必要
14
1:IIS 7.0 でのサイト、アプリケーション、および仮想ディレクトリについて http://technet.microsoft.com/ja-jp/library/dd939093.aspx2:セキュリティを弱める設定となるため、システムのセキュリティポリシーを確認すること
アクセス許可設定を追加アプリケーションの変換
15
ASP.NET Web フォームと ASP.NET MVC の概要
• .NET Framework 3.5 SP1 より、従来型の ASP.NET Web フォームに加え、HTML5 対応が容易な ASP.NET MVC が利用可能
16
.NET Framework の各バージョンへのサポート
• .NET Framework は各バージョンでインストール可能な OS が異なるため、古い資産はバージョンアップ対応が必要
• .NET Framework のバージョンアップによって
Windows Serverのバージョン
.NET Framework のバージョン1
1.0 1.1 2.0 3.0 3.5 4 4.5
Windows Server 2003(R2)
Windows Server 2008(R2)
Windows Server 2012(R2)
Windows Server 2012, Windows Server 2012 R2 は .NET Framework 1.x は利用できない
詳細は .NET Framework のバージョンおよび依存関係 http://msdn.microsoft.com/ja-jp/library/bb822049%28v=vs.110%29.aspx を参照
15
ASP.NET 資産のバージョンアップ方針
大きく二つに分かれる方針
• 既存資産移行の改修コストを抑えたい場合は、ASP.NET のランタイムを .NET Framework 3.5 SP1 に指定して最低限の改修を実施1
• 今後の機能拡張を見据え、運用コストを抑えたい場合は、最新のランタイム(.NET Framework 4.5.1)を指定し、ASP.NET MVC を利用して刷新する2
18
.NET Framework
4.0
または
.NET Framework
4.5
.NET Framework
2.0
.NET Framework
3.0
.NET Framework
3.5
16
■機能拡張が少ない
=改修コストを抑えたい
.NET Framework のサポート期限と改修量を考慮し、.NET Framework 3.5 SP1 へ最低限の改修
■機能拡張がある
=運用コストを考慮した適切な改修
サポート期間が最も長い.NET Framework 4.0 or 4.5 の選択およびASP.NET MVC へのアーキテクチャ変更を検討
.NET Framework 3.5 SP1 に指定、最低限の改修
• .NET Framework 1.x からのアーキテクチャ変更に伴う注意点1,2
• IIS 7 以降のアーキテクチャ変更に伴う注意点1
• サードパーティ DLL 利用時のバージョン互換に関する注意点1
19
1: .NET Framework 1.0/3.5 移行ホワイトペーパー http://www.microsoft.com/ja-jp/net/migration/document35.aspx2: .NET Framework 2.0 での重大な変更点 http://msdn.microsoft.com/ja-jp/library/Cc825631
17
最新の.NET Framework, ASP.NET MVC への移行
• HTML5 対応、マルチデバイス対応
• 開発効率が向上
• オープンソース化されており内部ロジックの理解が可能
1: ASP.NET ディベロッパー センター ASP.NET MVC とは? http://msdn.microsoft.com/ja-jp/asp.net/aa336581.aspx2: CodePlex http://aspnetwebstack.codeplex.com/3: GitHub https://github.com/ASP-NET-MVC/aspnetwebstack
18
21
SQL Serverのバージョンと互換性レベル
• SQL Server 2000の互換性レベルはSQL Server 2008 R2までしかサポートされていない
• 移行がサポートされている互換性レベルであれば、下位バージョンのSQL Serverのデータベースを以下の方法で移行可能
22
SQL Serverのバージョン移行をサポートする互換性レベル
2000 (80) 2005 (90) 2008 (100) 2012 (110) 2014 (120)
SQL Server 2000 ○ - - - -
SQL Server 2005 ○ ○ - - -
SQL Server 2008 R21 ○ ○ ○ - -
SQL Server 20121 - ○ ○ ○ -
SQL Server 20141 - ○2 ○ ○ ○
1 : 仮想マシンのギャラリーでSQL Serverインストール済みのイメージとして提供されているバージョン2 : 互換性レベル90からの移行をサポートしているが、90での動作はサポートされていないため、移行時に自動的に互換性レベルが100に更新される
20
バックパップ/リストアでの移行
• 移行元でバックアップを取得し移行先でリストア1
• バックアップはオンラインで取得できるため移行元の停止は不要
• 移行先がSQL Server 2012 SP1 CU2以降であれば、BLOBストレージにバックアップをコピーしてリストアも可能2
23
1 : バックアップと復元によるデータベースのコピー http://technet.microsoft.com/ja-jp/library/ms190436.aspx2 : Windows Azure BLOB ストレージ サービスを使用した SQL Server のバックアップと復元
http://technet.microsoft.com/ja-jp/library/jj919148.aspx
移行先仮想マシン
移行元SQL Server
データベース
バックアップ
(.bak)
BLOB
仮想ディスク
取得したバックアップを仮想マシンに接続された仮想ディスクまたは
BLOBストレージにコピー
リストア
Microsoft Azure
デタッチ/アタッチでの移行
• 移行元でデータベースをデタッチし移行先でアタッチ1
• デタッチをした際にデータベースのエントリが削除されるためオフラインになる
• 移行先がSQL Server 2014以降であれば、BLOBストレージにデータベースのファイルをコピーしてアタッチすることも可能2
24
1 : デタッチとアタッチを使用したデータベースのアップグレード (Transact-SQL) http://technet.microsoft.com/ja-jp/library/ms189625.aspx2 : レッスン 6: 内部設置型のソース コンピューターから Windows Azure のターゲット コンピューターにデータベースを移行する
http://technet.microsoft.com/ja-jp/library/dn466433(v=sql.120).aspx
移行先仮想マシン
移行元SQL Server
BLOB
仮想ディスク
Microsoft Azure
データベースをデタッチし仮想ディスクまたは
BLOBにコピー
アタッチ
データファイル(mdf)
ログファイル(ldf)
SQL Server 2000からの移行
• 移行先のバージョンを決定
• SQL Server 2008 R2に移行する場合
• SQL Server 2012/2014に移行する場合
25
SQL Server 2008 R2を経由して最新バージョンへ移行
• SQL Server 2008 R2には、バックアップ/リストアまたはデタッチ/アタッチでデータベースを移行
• その後、互換性レベルを2008 R2 へ変更• 最新バージョンへ、バックアップ/リストアまたはデタッチ/アタッチでデータベースを移行
26
SQL Server 2008 R2へ移行後互換性レベルを変更 互換性レベル変更後に
バックアップ/リストアまたは
デタッチ/アタッチで最新バージョンへ移行
スクリプト+BCPを使用しての移行 (1)
• テーブルやストアドプロシージャの定義情報をスクリプトの生成機能で作成し、移行先のSQL Serverでスクリプトを実行して移行
27
移行用のSQL スクリプトを生成
移行先で生成したスクリプトを実行し
データベースの定義を移行
スクリプト+BCPを使用しての移行 (2)
• データをBCPコマンドでエクスポートして移行
28
移行元で out オプションを使用してデータをエクスポート
移行元で in オプションを使用してデータをインポート
システムデータベースの情報の移行
• システムデータベースについてはバックアップ/リストア、デタッチ/アタッチで異なるバージョンへ移行することはできないため、システムデータベースに含まれる以下の情報は個別に移行する
• これらの情報は以下の方法で移行することが可能
29
移行元SQL Server
Microsoft Azure
移行先SQL Server
Integration Services タスク実行環境
移行元SQL Server
移行用スクリプト
ログイン移行用スクリプト
SQL Server Agentジョブ
移行用スクリプトスクリプトをエクスポート
エクスポートしたスクリプトを移行先で実行
Microsoft Azure
移行先SQL Server
タスク実行環境を間に挟むことでインスタンス間が直接通信できなくても移行可能
Integration Servicesタスクで移行
• ログイン転送タスク1/ジョブ転送タスク2による移行• ログイン移行タスクでは、ログインにランダムなパスワードが設定され移行されるため、移行後にパスワードの再設定が必要
301 : ログイン転送タスク http://technet.microsoft.com/ja-jp/library/ms137870.aspx2 : ジョブ転送タスク http://technet.microsoft.com/ja-jp/library/ms137568.aspx
ログイン転送タスク ジョブ転送タスク
スクリプトで移行
• SQL Server Enterprise Manager(2000)/SQL Server Management Studio (2005)のスクリプト作成機能で移行用スクリプトを作成1
• ログインの移行用スクリプトでは。パスワードは移行されないため移行後に再設定が必要
311 : スクリプトの生成 (SQL Server Management Studio) http://technet.microsoft.com/ja-jp/library/hh245282.aspx
SQL Server Enterprise Managerからスクリプトを作成 SQL Server Management Studioからスクリプトを作成
ログイン移行時の注意点
• ログインのSIDを移行しないと孤立ユーザーとして認識されてしまう1
• ログイン転送タスクで移行する場合は、ログイン転送タスクのプロパティからCopySidsをTrueにして同一のSIDで移行2
• スクリプトで移行する場合は、CREATE LOGINで移行元のSIDを指定する3
32
1 : 孤立ユーザーのトラブルシューティング (SQL Server) http://technet.microsoft.com/ja-jp/library/ms175475.aspx2 :[ログイン転送タスク エディター] ([ログイン] ページ) http://technet.microsoft.com/ja-jp/library/ms188955.aspx3 : CREATE LOGIN (Transact-SQL) http://technet.microsoft.com/ja-jp/library/ms189751.aspx
ログイン転送タスクのCopySidsの設定
CREATE LOGIN [azurestudy] WITH PASSWORD=N'studyP@ss',SID=0xAE4064BB422DC7469583EB9125548654
CREATE LOGIN でSIDを指定したログインの作成
33
top related