s u m m i t - aws · •awsへの移行を機に auroraやredshiftに乗り換えたい...

26
SUMMIT TOKYO

Upload: others

Post on 20-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

S U M M I TTOKYO

Page 2: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

Amazon RDS for Oracle / SQL Server への移行ベストプラクティス

アマゾン ウェブ サービス ジャパン株式会社

ソリューションアーキテクト

柴田竜典

B 3 - 0 1

Page 3: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

自己紹介

柴田竜典[シバタツ]

データベース関連の相談ごと何でも担当

• AWSへの移行を機にAuroraやRedshiftに乗り換えたい

• オンプレミス商用DB製品をAWSにそのまま移行したい

Page 4: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

Agenda

• 既存DBをクラウドに移行するときの悩み

• 考えられる移行パス

• どのような手段で移行するか

• オンプレミスOracleから Amazon RDS for Oracle へのニアゼロダウンタイム移行 Demo

• オンプレミス SQL Server から Amazon RDS for SQL Server へのニアゼロダウンタイム移行 Demo

Page 5: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

Amazon Relational Database Service (RDS)6つのデータベースエンジンから選択できるマネージドRDBMS

容易な管理 高可用性と永続性 高スケール 高セキュア

ハードウェア、OS、DBソフトウェアを

容易にデプロイ、保守可能監視ツール内蔵

マルチAZ自動フェイルオーバー自動バックアップスナップショット

数クリックでコンピュートとストレージをスケール可能

保存時と通信時の暗号化業界コンプライアンスと保証プログラム準拠

Page 6: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

既存DBをクラウドに移行するときの悩み

• たくさんのシステムが1つのDBを共有しており、DBで密結合している

• DBのダウンタイムを可能な限り短くしたい

• 移行時のデータの漏れ / 重複は許されない

DBが移行できないので、それを使うシステムがクラウドに移行できない

Page 7: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

Replatformエンジンは変更せず

プラットフォームのみ変更

考えられる移行パス

Refactorエンジンもプラットフォームも変更

Refactor after Replatform

Page 8: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

ReplatformとRefactorの比較

Replatformプラットフォームのみ変更

Refactorエンジンも変更

ライセンスコストが掛からない

長期的メリット

移行コストがかかる

短期的デメリット

ライセンスコストが掛かる

長期的デメリット

移行しやすい

短期的メリット

Page 9: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

商用RDBMSのサポート期間

データベースバージョンExtended Support終了日

Oracle Database 11.2 2020/12

Oracle Database 12.1 2021/07

Oracle Database 12.2 2026/03

SQL Server 2008 2019/07

SQL Server 2012 2022/07

SQL Server 2014 2024/07

http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf

https://support.microsoft.com/ja-jp/lifecycle/search

Page 10: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 11: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

AWS Database Migration Service (DMS)

M I G R A T I N G D A T A B A S E S T O A W S

オンプレミスからAWSへの移行

データベース間の移行

スキーマの自動変換

最小限のダウンタイムでのレプリケーション移行

Page 12: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

移行手段の選択フローチャート

十分な停止時間を取れる

ダンプツールシンプル

CSVアンロードシンプル

レプリケーション高速

AWS DMS柔軟

ソースとターゲットが同一DBエンジン

ソースとターゲットが同一DBエンジン

DB純正のレプリケーションが

組める

はい はい

いいえいいえ

はい はい

いいえいいえ

Page 13: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

オンプレミス

オンプレミスOracleからの移行方式

十分なダウンタイムが取れる場合

Oracle Data Pump

十分なダウンタイムが取れない場合

データベースリンク + マテリアライズドビュー

AWS Cloud

S3 RDSOracle Dumpファイル

AWS Cloud

Oracle DBリンク マテビュー リフレッシュ 表に変換

RDS

Page 14: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

Oracle Data Pump を使用する方法

1. expdpコマンドでオンプレミスの適切な場所にDumpファイルを出力

2. DumpファイルをAmazon S3 にコピー

3. RDS for Oracle にログイン後、rdsadmin.rdsadmin_s3_tasks.download_from_s3プロシージャを実行して、S3内のファイルをRDSストレージにコピー

4. DBMS_DATAPUMP PL/SQLパッケージを実行してインポート

① ② ③

オンプレミス AWS Cloud

S3 RDSOracle Dumpファイル

Page 15: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

AWS Cloud

Oracle DBリンク マテビュー リフレッシュ 表に変換

RDS

マテリアライズドビューを使用した方法このあとDemo!

1. RDS for Oracle からオンプレミスOracleに向けてデータベースリンクを作成

2. オンプレミスを元表としてマテリアライズドビューを作成

3. DB切り替えタイミングまで定期的にリフレッシュ

4. オンプレミスOracleへの書き込み停止(ダウンタイム開始)

5. 最後のリフレッシュを実行して、マテリアライズドビューを表に変換

6. RDS for Oracle のサービス開始(ダウンタイム終了)

① ② ③ ⑤

Page 16: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 17: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

PDF Only

• PDFでご覧の方向けに、Demoの録画を以下に用意しています

• 口頭説明を含んだものは、セッション当日の録画をご参照ください

https://youtu.be/vSx8njtCCQw

Page 18: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

オンプレミス AWS Cloud

オンプレミス SQL Server からの移行方式

十分なダウンタイムが取れる場合

.bakファイルによる完全バックアップ

十分なダウンタイムが取れない場合

レプリケーション

S3 RDSSQLServer

ファイル RDSSQLServer

オンプレミス AWS Cloud

Page 19: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

オンプレミス AWS Cloud

S3 RDSSQLServer

ファイル

.bakファイルを使用する方法

1. SQL Server Management Studio などを使って、オンプレミスの適切な場所に.bakファイルを出力

2. .bakファイルをAmazon S3 にコピー

3. RDS for SQL Server にログイン後、msdb.dbo. rds_restore_databaseプロシージャを実行して、S3内の.bakファイルから復元

① ② ③

Page 20: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

RDSSQLServer

オンプレミス AWS Cloud

レプリケーションを使用した方法このあとDemo!

1. オンプレミス SQL Server をパブリッシャーとして構成

2. RDS for SQL Server をサブスクライバとして構成

3. レプリケーションを開始

4. ほとんどのデータがRDSに読み込まれたタイミングでオンプレミス SQL Server への書き込み停止(ダウンタイム開始)

5. すべてのデータがRDSに読み込まれたことを確認

6. RDS for SQL Server のサービス開始(ダウンタイム終了)

① ②

⑤④ ⑥

Page 21: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 22: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

PDF Only

• PDFでご覧の方向けに、Demoの録画を以下に用意しています

• 口頭説明を含んだものは、セッション当日の録画をご参照ください

https://youtu.be/al6e0SsKmso

Page 23: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

まとめ

• Refactor(DBエンジンを変更)するためのスケジュールが確保できない場合、Replatform(プラットフォームのみ変更)も検討

• 同一エンジン移行の場合、エンジン付属のツールや機能だけで移行できる

• Oracle: Data Pump、データベースリンク + マテリアライズドビュー

• SQL Server: .bakファイル、レプリケーション

• データベースリンク + マテリアライズドビュー やレプリケーションを使用すれば、アップグレードを伴いながら、ニアゼロダウンタイムで漏れ / 重複なく、段階的に移行できる

Page 24: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

付録: SQL Server のDemoで省いた注意事項

• SQL Server のディストリビューター名にはDNS名を使用できない

DNS名の例) sqlserver.abcdefghijkl.ap-northeast-1.rds.amazonaws.com

• 以下の方法によって、Amazon RDS for SQL Server インスタンスにコンピューター名で接続できるようにする

1. PowerShellを起動し、nslookupでDNS名からIPアドレスを取得

nslookup sqlserver.abcdefghijkl.ap-northeast-1.rds.amazonaws.com

2. Amazon RDS for SQL Server で以下のSELECT文を実行し、コンピューター名を取得

select @@SERVERNAME

3. ソースの SQL Server の C:¥Windows¥System32¥drivers¥etc¥hosts に、取得したIPアドレスとコンピューター名を追加

例)10.0.0.100 EC2AMAZ-HCVSQ0M

Page 25: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T

参考資料

• Oracle

• オンプレミスOracleからの移行方式https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html

• Oracle Data Pump を使用した移行手順https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/oracle-s3-integration.html

• マテリアライズドビューを使用した移行手順https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html

• SQL Server

• オンプレミス SQL Server からの移行方式https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

• .bakファイルを使用した移行手順https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

• レプリケーションを使用した移行手順https://aws.amazon.com/jp/blogs/news/how-to-migrate-to-amazon-rds-for-sql-server-using-transactional-replication/

Page 26: S U M M I T - AWS · •AWSへの移行を機に AuroraやRedshiftに乗り換えたい •オンプレミス商用DB製品を AWSにそのまま移行 したい ... 商用RDBMS のサポート

Thank you!

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

アマゾン ウェブ サービス ジャパン株式会社

柴田竜典