1. Azure Database for MySQL/PostgreSQLとは?
MySQLとPostgreSQLが追加されたラインナップ拡充の背景として、以前からAzureではClearDBというサードパーティー製のMySQLを提供していましたが、利用者からはMicrosoftが提供するマネージドなMySQLやPostgreSQLを利用したいという要望が数多くあり、それが実現したという結果になります。
Azureの要望は見える化がされていて、Feedback Forumsでは、執筆時点で2328 vote(投票)もありました。タイトルは「ClearDBを消してネイティブなAzure MySQL互換データベースを作って欲しい」という少し過激な内容が含まれていますが、ClearDBは現在も使用できます。
投票は誰でもできますし、自分で新たに作成することもできます。気になるものがありましたら、皆さんも投票することでAzureの新機能が実装されるかもしれません。
サービスの特徴
大きな特徴は、フルマネージドなPaaS型のサービスであることです。Virtual MachineなどのIaaSと異なり、皆さん自身でOSのアップデートやデータベースのセキュリティパッチを適用する必要はありません。
標準で冗長化されており、もしお使いのデータベースインスタンスで不具合があった場合は自動でフェールオーバーされます。冗長化の恩恵として、ダウンタイムなしのスケールアップ、スケールダウンが可能です。
データは自動バックアップされており、ポイントインタイムリカバリ(PITR)が最大35日間可能です。
Azure Database for MySQL/PostgreSQLを使い始めるのに特別なドライバやツールは必要なく、オンプレのMySQLやPostgreSQLと同じように使えます。新たに覚えなければいけないこともありませんし、マイクロソフト製のツールやドライバも不要です。
Virtual Machineとは一味違う、サービスの仕組み
Azure Database for MySQL/PostgreSQLは単純にVirtual Machine上で動いているのではなく、Service Fabric上で動いています。
Service Fabricは長年Azureの基幹サービスとして使われており、Azure SQL Databaseも同様にService Fabric上で運用されています。長年蓄積されたAzure SQL Databaseの運用ノウハウをもとにMySQLとPostgreSQLサービスを展開しているので、皆さんはセキュリティやファイル破損などを気にすることなく、安心してサービスを利用できます。
サービスの概念と接続イメージ
冒頭でAzure Database for MySQL/PostgreSQLは「標準で冗長化されている」と記載しました。皆さんのクライアントから接続するデータベースは「論理データベース」であり、実際のデータベースインスタンスはService Fabricのクラスタ上で動作しています。下図のようなイメージです。
このように冗長化されているため、SLAは99.99%で提供されています。2018年3月に一般提供が開始され、SLAが設定されました。
セキュリティの仕組み
データベースで最も気になるポイントの一つはセキュリティです。Azure Database for MySQL/PostgreSQLは次の3つの層でセキュリティを管理しています。
-
ID管理
- MySQL/PostgreSQLネイティブ認証
-
アクセス管理
- SSL接続
- ファイアウォール(IPホワイトリスト方式)
-
データ保護
- データベースバックアップ
- 暗号化(AES 256)
1点だけ、IPアドレスはパブリックIPとなり、VNET統合はまだサポートされていませんのでご注意ください。パブリックIPというと、通信が不特定多数のインターネット上に流れてしまい、情報漏えいを心配される方がいるかもしれませんが、ほとんどのケースでは安全です。
例えば、プライベートIPを持つVirtual Machineから、パブリックIPのAzure Database for MySQLに接続した場合の通信は、Microsoftのネットワーク内でルーティングされるので極めて安全であり、高速に動作します。つまり、Azureのサービス同士で使用するならば、皆さんは安心してお使いいただけます。
その他運用面でのメリット
フルマネージドならではのメリットが多数あります。
- 自動的にパッチを適用
- メトリック監視とアラート機能
- サーバーログの保存(最大7日分)
- 最大35日分のポイントインタイムリカバリ可能なバックアップ
- MySQL/PostgreSQLのコンフィグを編集可能(一部のみ)
注意点として、パッチ適用時は自動フェールオーバーにより、接続が切断される可能性があります。プログラムでは再接続可能なように設定しておくと良いでしょう。