オープンソース データベースを Azure に移行するMigrate open-source databases to Azure

この記事では、架空の会社である Contoso が、さまざまなオンプレミス オープンソース データベースの Azure への移行をどのように評価、計画し、実行したかについて説明します。This article demonstrates how the fictional company Contoso assessed, planned, and migrated its various on-premises open-source databases to Azure.

Azure への移行を検討する際、Contoso では技術的および財務的な評価を実行して、オンプレミスのワークロードがクラウドへの移行に適しているかどうかを確認する必要があります。As Contoso considers migrating to Azure, the company needs a technical and financial assessment to determine whether its on-premises workloads are good candidates for cloud migration. Contoso 社のチームは特に、移行対象のマシンおよびデータベースの互換性を評価する必要があります。In particular, the Contoso team wants to assess machine and database compatibility for migration. また、Azure で Contoso のリソースを実行するための容量とコストを見積もる必要があります。Additionally, it wants to estimate capacity and costs for running Contoso's resources in Azure.

ビジネス ドライバーBusiness drivers

Contoso では、自社のネットワーク上に存在する多種多様なバージョンのオープン ソース データベース ワークロードを維持するために、さまざまな問題が発生しています。Contoso is having various issues with maintaining the wide array of versions of open-source database workloads that exist on its network. 最近の投資家との会合の後、CFO と CTO は、これらすべてのワークロードを Azure に移行することを決定しました。After the latest investor's meeting, the CFO and CTO decided to move all these workloads to Azure. これにより、構造化された資本費用モデルから流動的な運用費用モデルに移行します。This move will shift them from a structured capital expense model to a fluid operating expense model.

IT リーダーシップ チームは、ビジネス パートナーと密接に連絡を取り合い、ビジネス面および技術面での要件を次のように理解しました。The IT leadership team has worked closely with business partners to understand the business and technical requirements. 目的は次のとおりです。They want to:

  • セキュリティを強化する。Increase security. Contoso では、すべてのデータ リソースを、よりタイムリーかつ効率的な方法で監視および保護できる必要があります。Contoso needs to be able to monitor and protect all data resources in a more timely and efficient manner. また、この会社は、データベース アクセス パターンに対して、より集中管理されたレポート システムをセットアップしたいとも考えています。The company also wants to get a more centralized reporting system set up on database access patterns.
  • コンピューティング リソースを最適化する。Optimize compute resources. Contoso では、大規模なオンプレミスのサーバー インフラストラクチャをデプロイしてきました。Contoso has deployed a large on-premises server infrastructure. 会社の SQL Server インスタンスの中には、割り当てられた基になる CPU、メモリ、ディスクを消費してはいるものの、実際には効率的に使用していないものがいくつかあります。The company has several SQL Server instances that consume but don't really use the underlying CPU, memory, and disk allocated in efficient ways.
  • 効率化。Increase efficiency. Contoso では、不要な手順を取り除き、開発者とユーザーのプロセスを効率化する必要があります。Contoso needs to remove unnecessary procedures and streamline processes for developers and users. ビジネス部門は、顧客の要求により迅速に対応するために、IT 部門に対して、時間やコストを無駄にせず、迅速に作業を行うことを求めています。The business needs IT to be fast and not waste time or money to deliver faster on customer requirements. 移行後のデータベース管理は、削減するか、最小限に抑える必要があります。Database administration should be reduced or minimized after the migration.
  • 機敏性の向上。Increase agility. Contoso IT は、ビジネス部門の要求に対して、対応力を向上させる必要があります。Contoso IT needs to be more responsive to the needs of the business. また、グローバル経済で成功を収めるために、市場の変化よりも迅速に対応する必要があります。It must react faster than the changes in the marketplace to enable success in a global economy. ビジネスの妨げや、障害にならないようにする必要があります。It mustn't get in the way or become a business blocker.
  • スケール。Scale. ビジネスが順調に成長している中で、Contoso IT 部門は、同じペースで拡張するシステムを提供する必要があります。As the business grows successfully, Contoso IT must provide systems that grow at the same pace.
  • コストを把握する。Understand costs. ビジネスおよびアプリケーションの所有者は、オンプレミスでアプリケーションを実行する場合と比較して、クラウドのコストが高くなって行き詰まることを避けたいと考えています。Business and application owners want to know they won't be stuck with high cloud costs when running the applications on-premises.

移行の目標Migration goals

Contoso のクラウド チームは、さまざまな移行の目標を設定しました。The Contoso cloud team has pinned down goals for the various migrations. これらの目標は最良の移行方法を決定するために使用されました。These goals were used to determine the best migration methods.

必要条件Requirements 詳細Details
パフォーマンスPerformance 移行後も、Azure 内のアプリケーションには、Contoso のオンプレミス環境で現在提供されているのと同じパフォーマンス能力が必要です。After migration, applications in Azure should have the same performance capabilities that applications have today in Contoso's on-premises environment. クラウドに移行するのは、そのアプリケーションのパフォーマンスがそれほど重要でないからではありません。Moving to the cloud doesn't mean that application performance is less critical.
互換性Compatibility Contoso では、自社のアプリケーションおよびデータベースと Azure との互換性を理解する必要があります。Contoso needs to understand the compatibility of its applications and databases with Azure. また、Contoso では Azure ホスティングのオプションについても理解する必要があります。Contoso also needs to understand its Azure hosting options.
[データ ソース]Data sources すべてのデータベースは例外なく、Azure に移動されます。All databases will be moved to Azure with no exceptions. 使用中の SQL 機能のデータベースおよびアプリケーション分析に基づいて、サービスとしてのプラットフォーム (PaaS) またはサービスとしてのインフラストラクチャ (IaaS) に移動します。Based on the database and application analysis of the SQL features being used, they'll move to platform as a service (PaaS) or infrastructure as a service (IaaS). すべてのデータベースを移動する必要があります。All databases must move.
ApplicationApplication アプリケーションは、可能な限りクラウドに移動する必要があります。Applications must be moved to the cloud wherever possible. 移動できない場合、移行されたデータベースには Azure ネットワーク経由でプライベート接続を使用してのみ接続します。If they can't move, they'll connect to the migrated database over the Azure network through private connections only.
コストCosts Contoso は移行オプションだけでなく、インフラストラクチャをクラウドに移動した後のインフラストラクチャに関連するコストも理解する必要があります。Contoso wants to understand not only its migration options but also the costs associated with the infrastructure after it moves to the cloud.
管理Management 移行されるすべてのデータベースを管理するためにリソース グループと共に、さまざまな部門に対してリソース管理グループを作成する必要があります。Resource management groups need to be created for the various departments along with resource groups to manage all databases that are migrated. すべてのリソースには、チャージバック要件のために部門の情報をタグ付けする必要があります。All resources need to be tagged with department information for chargeback requirements.
制限事項Limitations 最初は、アプリケーションを実行するすべての支店に Azure への直接 ExpressRoute リンクがあるわけではありません。Initially, not all branch offices that run applications will have a direct Azure ExpressRoute link to Azure. これらの支店からは、仮想ネットワーク ゲートウェイ経由で接続する必要があります。These offices will need to connect through virtual network gateways.

ソリューション設計Solution design

Contoso では、Azure Migrate を使用して、自社のデジタル資産の移行評価を既に実行しました。Contoso has already performed a migration assessment of its digital estate by using Azure Migrate.

移行プロセスを示す図。 図 1: 移行プロセス。Diagram shows the migration process. Figure 1: The migration process.

ソリューションのレビューSolution review

Contoso は、長所と短所の一覧をまとめて、提案されたデザインを評価します。Contoso evaluates the proposed design by putting together a pros and cons list.

考慮事項Consideration 詳細Details
長所Pros Azure では、データベース ワークロードを一元的に確認できます。Azure will provide a single pane of glass into the database workloads.

コストは Azure Cost Management + Billing によって監視されます。Costs will be monitored via Azure Cost Management + Billing.

ビジネスのチャージバック課金は、Azure Billing API シリーズを使用して簡単に実行できます。Business chargeback billing will be easy to perform with the Azure Billing APIs.

サーバーとソフトウェアのメンテナンスは、IaaS ベースの環境のみに限定されます。Server and software maintenance will be reduced to only the IaaS-based environments.
短所Cons IaaS ベースの VM の要件により、これらのコンピューター上では引き続きソフトウェアを管理する必要があります。Because of the requirement of IaaS-based VMs, there will still be a need to manage the software on those machines.

予算と管理Budget and management

移行を実行する前に、ソリューションの管理と課金の側面をサポートするために、必要な Azure 構造を整える必要があります。Before the migration can occur, the necessary Azure structure is required to be in place to support the administration and billing aspects of the solution.

管理要件については、組織の構造をサポートするために、いくつかの管理グループが作成されました。For the management requirements, several management groups were created to support the organizational structure.

課金要件については、各 Azure リソースに、該当する課金タグがタグ付けされます。For the billing requirements, each of the Azure resources are then tagged with the appropriate billing tags.

移行プロセスMigration process

データの移行は、標準的で反復可能なパターンに従います。Data migrations follow a standard and repeatable pattern. このプロセスには、Microsoft のベスト プラクティスに基づく次の手順が含まれます。This process involves the following steps based on Microsoft best practices:

  • 移行前:Pre-migration:
    • 検出: インベントリ データベース資産とアプリケーション スタック。Discovery: Inventory database assets and application stack.
    • 評価: ワークロードを評価し、推奨事項を修正します。Assess: Assess workloads and fix recommendations.
    • 変換: ターゲットで動作するようにソース スキーマを変換します。Convert: Convert source schema to work in the target.
  • 移行:Migration:
    • 移行: ソース スキーマ、ソース データ、オブジェクトをターゲットに移行します。Migrate: Migrate the source schema, source data, and objects to target.
    • データの同期: データを同期します (ダウンタイムを最小限に抑えるため)。Sync data: Sync data (for minimal downtime).
    • カットオーバー: ソースからターゲットにカット オーバーします。Cutover: Cut over the source to target.
  • 移行後:Post-migration:
    • アプリケーションの修復: アプリケーションに対して、必要な変更を繰り返し実行します。Remediate applications: Iteratively make any necessary changes to applications.
    • テストの実行: 機能とパフォーマンスのテストを繰り返し実行します。Perform tests: Iteratively run functional and performance tests.
    • 最適化: テストに基づいて、パフォーマンスの問題に対処し、パフォーマンスの向上を確認するために再テストします。Optimize: Based on tests, address performance issues and then retest to confirm performance improvements.
    • 資産の廃止: 古い VM とホスティング環境がバックアップされ、廃止されます。Retire assets: Old VMs and hosting environments are backed up and retired.

手順 1:探索Step 1: Discovery

Contoso では、Azure Migrate を使用して、Contoso 環境全体の依存関係を明らかにしました。Contoso used Azure Migrate to surface the dependencies across the Contoso environment. Azure Migrate によって、Windows および Linux システム上のアプリケーション コンポーネントが自動的に検出され、サービス間の通信がマップされました。Azure Migrate automatically discovered application components on Windows and Linux systems and mapped the communication between services. Contoso サーバー間の接続、プロセス、インバウンド接続とアウトバウンド接続の待ち時間、TCP 接続アーキテクチャ全体のポートも Azure Migrate によって明らかになりました。Azure Migrate also surfaced the connections between Contoso servers, processes, inbound and outbound connection latency, and ports across the TCP-connected architecture. Contoso で必要な作業は、Microsoft Monitoring Agent および Microsoft Dependency Agent をインストールすることだけでした。Contoso was only required to install the Microsoft Monitoring Agent and the Microsoft Dependency Agent.

Contoso によって、移行する必要がある 300 個を超えるデータベース インスタンスが特定されました。Contoso has identified over 300 database instances that must be migrated. これらのインスタンスのうち約 40% は、PaaS ベースのサービスに移行できます。Of these instances, roughly 40 percent can be moved to PaaS-based services. 残りの 60% は、各データベース ソフトウェアを実行する VM を使用して、IaaS ベースのアプローチに移行する必要があります。Of the remaining 60 percent, they must be moved to an IaaS-based approach with a VM running the respective database software.

手順 2:アプリケーション評価Step 2: Application assessment

評価の結果は、主に Java、PHP、および Node.js アプリケーションを使用していることを Contoso に示しています。The results from the assessment showed Contoso that it uses primarily Java, PHP, and Node.js applications. 会社では次のアプリケーションが特定されました。The company has identified the following applications:

  • 100 個の Java アプリケーション100 Java applications
  • 約 50 個の Node.js アプリケーションAbout 50 Node.js applications
  • 約 25 個の PHP アプリケーションAbout 25 PHP applications

手順 3:データベースの評価Step 3: Database assessment

データベースがインベントリされたときに、Azure への移行方法を決定するために各種類のデータベースが確認されました。As the databases were inventoried, each type of database was reviewed to determine the method to migrate it to Azure. 次のガイドラインに従って、データベースを移行しました。The following guidelines were followed on the database migrations.

データベースの種類Database type 詳細Details 移行先Target 移行ガイドMigration guide
MySQLMySQL サポートされているすべてのバージョンは、移行前にサポートされるバージョンにアップグレードされますAll supported versions upgrade to a supported version before migration Azure Database for MySQL (PaaS)Azure Database for MySQL (PaaS) ガイドGuide
PostgreSQLPostgreSQL サポートされているすべてのバージョンは、移行前にサポートされるバージョンにアップグレードされますAll supported versions upgrade to a supported version before migration Azure Database for PostgreSQL (PaaS)Azure Database for PostgreSQL (PaaS) ガイドGuide
MariaDBMariaDB サポートされているすべてのバージョンは、移行前にサポートされるバージョンにアップグレードされますAll supported versions upgrade to a supported version before migration Azure Database for MariaDB (PaaS)Azure Database for MariaDB (PaaS) ガイドGuide

手順 4:移行の計画Step 4: Migration planning

データベースの数が多いため、Contoso では、すべてのデータベース移行インスタンスを追跡するようにプロジェクト管理オフィスを設定しました。Because of the large number of databases, Contoso set up a project management office to keep track of every database migration instance. 各ビジネスおよびアプリケーション チームには、説明責任と責任が割り当てられました。Accountability and responsibilities were assigned to each business and application team.

Contoso では、ワークロードの準備状況のレビューも実行しました。Contoso also performed a workload readiness review. このレビューでは、インフラストラクチャ、データベース、ネットワークのコンポーネントについて調査しました。This review examined the infrastructure, database, and network components.

手順 5:テスト移行Step 5: Test migrations

移行準備の最初の部分には、設定前の環境への各データベースのテスト移行が含まれていました。The first part of the migration preparation involved a test migration of each of the databases to the pre-setup environments. 時間を節約するために、Contoso では移行のすべての操作をスクリプト化し、それぞれの時間を記録しました。To save time, Contoso scripted all of the operations for the migrations and recorded the timings for each. 移行を高速化するために、会社は同時に実行できる移行操作を特定しました。To speed up the migration, the company identified the migration operations that could run concurrently.

予期しないエラーが発生した場合のために、データベースの各ワークロードについてロールバック手順を特定しました。Any rollback procedures were identified for each of the database workloads in case of some unexpected failures.

IaaS ベースのワークロードについては、必要なすべてのサードパーティ製ソフトウェアを事前に設定しました。For the IaaS-based workloads, the company set up all the required third-party software beforehand.

テスト移行の後、Contoso ではさまざまな Azure コスト見積もりツールを使用して、移行の将来の運用コストをより正確に把握しました。After the test migration, Contoso used the various Azure cost-estimation tools to get a more accurate picture of the future operational costs of the migration.

手順 6:移行Step 6: Migration

運用環境への移行について、Contoso では、すべてのデータベースの移行の時間枠と、週末の時間枠 (金曜日の午前 0 時から日曜日の午前 0 時まで) 内で十分に実行できる作業内容を特定し、ビジネスのダウンタイムを最小限に抑えました。For the production migration, Contoso identified the time frames for all database migrations and what could be sufficiently executed in a weekend window (midnight Friday through midnight Sunday) with minimal downtime to the business.

移行後にクリーンアップするClean up after migration

Contoso では、すべてのデータベース ワークロードのアーカイブ時間枠を特定しました。Contoso identified the archival window for all database workloads. 時間枠の期限が切れると、オンプレミスのインフラストラクチャからリソースの割り当てが解除されます。As the window expires, the resources will be deallocated from the on-premises infrastructure. このプロセスには、オンプレミス サーバーからの運用データの削除と、最後のワークロード時間枠の期限が切れた時点でのホスティング サーバーの廃止が含まれます。This process includes removing the production data from on-premises servers and retiring the hosting server when the last workload window expires.

デプロイを再調査するReview the deployment

リソースを Azure に移行したら、新しいインフラストラクチャを完全に操作可能にして、セキュリティで保護する必要があります。With the migrated resources in Azure, Contoso needs to fully operationalize and secure its new infrastructure.

セキュリティSecurity

Contoso は次のことを行う必要があります。Contoso needs to:

  • 新しい Azure データベース ワークロードがセキュリティで保護されていることを確認します。Ensure that its new Azure database workloads are secure. 詳細については、Azure SQL Database と SQL Managed Instance のセキュリティ機能に関するページを参照してください。For more information, see Azure SQL Database and SQL Managed Instance security capabilities.
  • ファイアウォールと仮想ネットワークの構成を確認します。Review the firewall and virtual network configurations.
  • Azure Private Link を設定して、すべてのデータベース トラフィックが Azure とオンプレミス ネットワーク内に保持されるようにします。Set up Azure Private Link so that all database traffic is kept inside Azure and the on-premises network.
  • Azure Advanced Threat Protection を有効にします。Enable Azure Advanced Threat Protection.

バックアップBackups

Azure データベースが geo リストアを使用してバックアップされていることを確認します。Ensure that the Azure databases are backed up by using geo-restore. これにより、リージョン規模の障害が発生した場合は、ペアのリージョンにあるバックアップを使用できます。In this way, backups can be used in a paired region if a regional outage occurs.

重要

Azure リソースが削除されないようにするため、リソース ロックが保持されていることを確認します。Make sure that the Azure resource has a resource lock to prevent it from being deleted. 削除されたサーバーを復元することはできません。Deleted servers can't be restored.

ライセンスとコストの最適化Licensing and cost optimization

  • 多くの Azure データベース ワークロードは、スケールアップまたはスケールダウンすることができます。Many Azure database workloads can be scaled up or down. サーバーとデータベースのパフォーマンスを監視することは、ニーズを確実に満たし、コストを最小限に抑えるために重要なことです。Monitoring server and database performance is important to ensure that you're meeting your needs and keeping costs at a minimum.
  • CPU とストレージの両方がコストに関連します。Both CPU and storage have costs associated. 選択できる価格レベルはいくつかあります。There are several pricing tiers to select from. データ ワークロードに適した価格プランが選択されていることを確認してください。Make sure that the appropriate pricing plan is selected for the data workloads.
  • 各読み取りレプリカは、選択されたコンピューティングとストレージに基づいて課金されます。Each read replica is billed based on the compute and storage selected.
  • 予約容量を使用してコストを削減します。Use reserved capacity to reduce costs.

まとめConclusion

この記事では、Contoso によって、オープンソース データベースの Azure PaaS および IaaS ソリューションへの移行が評価、計画、実行されました。In this article, Contoso assessed, planned, and migrated its open-source databases to Azure PaaS and IaaS solutions.