Azure Managed Service Column <Azure運用コラム>

BCP対策の一環として、自社開発のデータベースをクラウドへ移行して、クライアントアプリからODBC経由でSSL/TLS接続して使用する方法

Category: 実践編

2022.01.12

万が一の事態に備えて遠隔地にデータ保管して安全に利用する方法をご紹介!

SDGs(持続可能な開発目標)の浸透に伴い、企業では事業継続のためのBCPが重視され始めていますが、BCPとはどのような対策が必要なのでしょうか。近年、多くの企業が取り入れているクラウドを利用してBCP対策を行うことが可能です。本記事では、BCP対策の一環として、社内のデータベースだけクラウドへ移行し、クライアントアプリからODBC経由でSSL/TLSにより安全に接続するユースケースについて紹介します。

1. BCP対策とは

近年、必要性が高まり、策定する企業が増えてきたBCPですが、BCPとはどのようなものでしょうか。まずBCPとは何なのか、そしてBCPを実現するためのDRの概要について解説します。

BCPとは

BCP(Business Continuity Planning)とは、事業継続計画という意味です。事業継続計画は、大地震などの災害やテロなど、企業が事業継続困難に陥った場合を想定してリスクの洗い出しと実現性のある対策、継続する事業の優先順位などを定め、リスク発現時の体制や事業再開までのプロセスを総合的に定めた計画を指します。BCPを適切に定めることで、事業が危機的状況下に置かれた場合でも、業務を継続することができるようになります。

DRとは

DR(Disaster Recovery)とはDisaster(災害)からのRecovery(復旧)を意味し、主にシステムの復旧に関わる作業や状態を定義します。企業が事業継続困難となった際に、システムの目標復旧ポイント(RPO:Recovery Point Objective)や、復旧するまでの目標時間(RTO:Recovery Time Objective)、復旧時の状態(RLO:Recovery Level Objective)を定義し、そのための方式、構成、作業手順の組立てと作業体制の構築を行います。DRはシステムに限定した復旧方法を定義する言葉であるため、DRはBCPのプロセスのひとつと言えます。

クラウドを利用したBCPとDR

企業のBCP及びDRにはさまざまなプロセスや構成・手順が考えられますが、クラウドを活用することで大きなメリットがあります。それはデータの遠隔地保管によるDRが容易に実現できることです。重要な業務データをクラウドに移行することで、災害やテロ、パンデミック等で自社拠点が使用不能となった場合でも、データは遠隔地に利用可能な状態で保管されているため、別拠点からインターネットへアクセスさえできれば業務を再開することが可能となります。オンプレミスの場合、遠隔地の拠点、デバイス、ネットワークなど全て調達・準備する必要があり、コストも手間もかかります。

2. オンプレミスSQL ServerをAzureへ移行する

BCPを目的として、自社のオンプレミスで稼働しているデータベース(SQL Server)をAzureのデータベースサービスである、Azure SQL Databaseへ移行するユースケースについて解説します。

Azure SQL Databaseの概要とメリット

Azure SQL Databaseとは、Azureが提供しているフルマネージドのデータベースサービスです。Azure SQL Databaseは、「Azure SQL」というSQL Serverデータベースを利用できるサービス群のひとつです。Azure SQLには下記のサービスがあります。

  • Azure SQL Database
  • Azure SQL Managed Instance
  • Azure VM 上の SQL Server

Azure SQL Database

フルマネージドのデータベースサービスです。サーバーレスで動作し、アップグレード、修正プログラムの適用、バックアップ、監視などの管理作業は不要です。データベース単位の貸し出しであるため、仮想マシンの準備や設定、データベース全体の構築・管理の手間が省けることがメリットです。

Azure SQL Managed Instance

Azure SQL Databaseと同様に、フルマネージドのデータベースサービスです。Azure SQL Databaseと比べると、こちらはインスタンス単位の貸し出しになる点が異なります。

Azure VM 上の SQL Server

Azure仮想サーバー(VM)上で動作するSQL Serverです。マネージドサービスではないため、データベースの設計・管理をユーザー側で制御することができる一方、その分の手間がかかります。

オンプレミスSQL ServerからAzureへの移行

オンプレミスのSQL ServerからAzure SQL Databaseへ移行するために、Data Migration Assistantを利用する方法について解説します。

Data Migration Assistant の概要

Data Migration Assistantとは、SQL Server 系データベースのマイグレーションとデータ移行を支援するツールです。比較的小規模~中規模のデータベースに使用することが推奨されています。評価と移行機能を備えており、データや機能の互換性など、移行に影響する可能性のある問題を検出し、実際にデータベース間のデータ移行を行うことが可能です。なお、サポートしているSQL Serverのバージョン及び、Azure SQLのサービスが制限(※1)されているため、事前に、Data Migration Assistantが利用できるかどうか確認することが必要です。

※1 参考:Data Migration Assistant の概要

Data Migration Assistantの評価機能

評価機能は、移行元と移行先のデータベースの環境を分析し、移行が可能かどうかを評価する機能です。互換性レベルの問題や、サポートされていない機能を使用している場合はそれを検出し、解決する方法に関する詳細なガイダンスを提供します。

Data Migration Assistantの移行機能

評価で問題がない場合、移行元データベースから移行先データベースへの移行を行います。移行が完了したらアプリケーションから移行先のSQL Serverへの接続が可能となります。

Data Migration Assistantによる評価と移行

Data Migration Assistantを利用してデータベースを移行するには、まずData Migration Assistantのダウンロードを行い、移行元のデータベース環境があるシステムへインストールします。この時、移行元データベースと同じサーバーにはインストールしないことが推奨されています。
その後、移行元データベースへの接続と評価を行い、互換性や機能の問題が検出された場合はその解決を行います。問題が解決できたら、Data Migration Assistantから移行先のデータベースに接続し、移行を開始します。データベースのスキーマ情報とテーブル情報が同期され、最後にデータ移行が行われます。

なお、評価・移行ともにデータベースが最も利用されるピーク時間帯の実施は避けることが推奨されています。また、移行元のエンジンや移行先のAzure サービスによってオンライン移行かオフライン移行かが変わるので注意が必要です。

3. Azure SQL DatabaseへODBC経由のSSL/TLS接続

移行が完了したAzure SQL Databaseに対して、社内からODBC経由でSSL/TLS接続を行うユースケースを解説します。

ODBCとは

ODBC(Open Database Connectivity)とは、マイクロソフトが定めた、アプリケーションがデータベースに接続して参照・操作することを目的としたAPI(アプリケーション・プログラミング・インターフェース)で、主にWindowsからデータベースへ接続するために使用されるプログラムの部品です。ODBCをアプリケーションに組み込むことで簡単にデータベースに接続してデータの参照や書き込みが可能となります。

Azure SQL DatabaseへODBC経由のSSL/TLS接続方法

社内のアプリケーションから、Azure SQL DatabaseへODBC接続するには、Microsoft ODBC Driver for SQL Serverと呼ばれるライブラリ(DLL)が必要です。公式サイト(※2)からダウンロードを行い、データベース接続を行うアプリケーションが稼働するWindowsサーバーにインストールする必要があります。インストールが終わったら、ODBC管理ツールより、接続先データベースの「データソース」の設定を行うことで接続できるようになります。

ODBCで接続する際、SSL/TLSにより通信を暗号化し、セキュリティを高めることが可能です。SSL/TLSを利用するには、移行先のデータベースサーバーのWindows OSにサーバー証明書をインポートし、接続するクライアント側では、証明書のルート証明機関を信頼するように設定します。Azure SQL DatabaseではTLSが適用され、アプリケーション側でデータベースに接続するために接続文字列を指定する際に暗号化接続を指定することができます。

※2 参考:ODBC Driver for SQL Server のダウンロード

4. まとめ

本記事では、BCPの一貫として、自社開発のデータベースのみクラウドへ移行し、ODBC経由でSSL/TLS接続するユースケースを紹介しました。近年、どのような状況下でも事業継続するためのBCPの重要性が叫ばれています。クラウドの持つ高い可用性とセキュリティにより、従来と比べて容易にBCPが実現できるようになってきました。ぜひ専門家の支援を受けながら、導入を検討してみてください。

Azure設計・構築を任せたい

Azure構築サービス

Azure構築サービス

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Azure導入個別相談会(無料)

Tag: BCP

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php