Azureを使用すると、サービスとしてのホスト型仮想マシン インフラストラクチャ (IaaS) またはサービスとしてのホスト型プラットフォーム (PaaS) で PostgreSQL ワークロードを実行できます。 PaaS には複数のデプロイ オプションが用意されています。それぞれに複数のサービス レベルがあります。 IaaS と PaaS のどちらを選択するか、データベースの管理、修正プログラムの適用、バックアップの作成を行うか、またはこれらの操作をAzureに委任するかを決定します。
決定するときは、PaaS で次のオプションを検討するか、Azure VM (IaaS) で実行することを検討してください。
Azure VM 上の PostgreSQL オプションは、IaaS の業界カテゴリに分類されます。 このサービスを使用すると、Azure クラウド プラットフォーム上のフル マネージド仮想マシン内で PostgreSQL サーバーを実行できます。 PostgreSQL のすべての最新バージョンとエディションを IaaS 仮想マシンにインストールできます。 Azure Database for PostgreSQLフレキシブル サーバーとの最も大きな違いとして、Azure VM 上の PostgreSQL はデータベース エンジンを制御します。 ただし、この制御には、VM と多くのデータベース管理 (DBA) タスクを管理する責任を伴います。 これらのタスクには、データベース サーバーの保守および修正プログラムの適用、データベースの復旧、高可用性の設計が含まれます。
これらのオプションの主な違いを次の表に示します。
| 属性 | Azure VM 上の Postgres | PaaS としての Azure Database for PostgreSQL |
|---|---|---|
| 可用性 SLA | - 仮想マシンの SLA | - Azure Database for PostgreSQL |
| OS と PostgreSQL の修正プログラム | - カスタマー マネージド | 自動 (オプションのカスタマー マネージド ウィンドウを使用) |
| 高可用性 | - お客様が高可用性の設計、実装、テスト、保守を行います。 機能には、クラスタリング、レプリケーションなどが含まれる場合があります。 | 組み込み |
| ゾーン冗長性 | - Azure VM は、さまざまな可用性ゾーンで実行するように設定できます。 オンプレミス ソリューションの場合、お客様は独自のセカンダリ データ センターを作成、管理、および保守する必要があります。 | イエス |
| ハイブリッド シナリオ | - カスタマー マネージド | サポートされています |
| バックアップと復元 | - カスタマー マネージド | 組み込み (ZRS でのユーザー構成を使用) |
| データベース操作の監視 | - カスタマー マネージド | すべてのオファーのお客様は、データベース操作に関するアラートを設定し、しきい値に達した場合に対処できます |
| 高度な脅威に対する保護 | - お客様は自身でこの保護を構築する必要があります。 | プレビュー期間中は使用できません |
| ディザスター リカバリー | - カスタマー マネージド | サポートされています |
| インテリジェントなパフォーマンス | - カスタマー マネージド | サポートされています |
総保有コスト (TCO)
TCO は多くの場合、データベースをホストするための最適なソリューションを決定する主な考慮事項です。 この考慮事項は、現金がほとんどないスタートアップ企業か、予算の厳しい制約の下で事業を行う確立された会社のチームであるかに関係なく当てはまります。 このセクションでは、Azure VM 上の Azure Database for PostgreSQL と PostgreSQL に適用される Azure の課金とライセンスの基本について説明します。
Billing
Azure Database for PostgreSQLは、リソースの価格が異なる複数のレベルで利用できます。 すべてのリソースは、固定レートで時間単位で課金されます。 現在サポートされているサービス レベル、コンピューティング サイズ、ストレージ量の最新情報については、 価格ページを参照してください。 サービス レベルとコンピューティング サイズを動的に調整して、アプリケーションのさまざまなスループット ニーズを満たすことができます。 送信インターネット トラフィックの料金は、通常の データ転送レートで支払います。
Azure Database for PostgreSQL を使用すると、Microsoft はデータベース ソフトウェアを自動的に構成、修正、およびアップグレードします。 これらの自動化されたアクションにより、管理コストが削減されます。 また、Azure Database for PostgreSQLには自動バックアップ機能があります。 こうした機能は、特に多数のデータベースがある場合の大幅なコスト削減に役立ちます。 対照的に、Azure VM 上の PostgreSQL では、任意の PostgreSQL バージョンを選択して実行できます。 ただし、プロビジョニングされた VM、データ、バックアップ、監視データ、およびログ ストレージに関連するストレージ コスト、また、使用される特定の PostgreSQL ライセンスの種類 (存在する場合) に対応するコストを支払う必要があります。
Azure Database for PostgreSQL は、サービスの SLA 保証 を維持しながら、あらゆる種類のノード レベルの中断に対してゾーン レベル (AZ 内) で組み込みの高可用性を提供します。 Azure Database for PostgreSQL では、ゾーン冗長構成の有無にかかわらず 、アップタイム SLA が 提供されます。 ただし、VM 内のデータベース高可用性を実現するには、PostgreSQL データベースで利用可能なストリーミング レプリケーションなどの高可用性オプションを使用します。 サポートされている高可用性オプションを使用しても、別の SLA は提供されません。 しかし、より多くのコストと管理オーバーヘッドで 99.99% を超えるデータベース可用性を実現できます。
価格の詳細については、次の記事を参照してください。
Administration
多くの企業にとって、クラウド サービスへの移行の決定には、コストだけでなく、管理の複雑さの軽減も重要な要素です。
IaaS の場合、Microsoft では次のことを行います。
- 基になるインフラストラクチャを管理します。
- 基になるハードウェアと OS の自動修正プログラムを提供します。
PaaS の場合、Microsoft では次のことを行います。
- 基になるインフラストラクチャを管理します。
- 基になるハードウェア、OS、およびデータベース エンジンの自動修正プログラムを提供します。
- データベースの高可用性を管理します。
- 自動的にバックアップを実行してすべてのデータをレプリケートし、ディザスター リカバリーを提供します。
- 既定では、保存データと移動中のデータを暗号化します。
- サーバーを監視して、クエリ パフォーマンスの分析情報とパフォーマンスに関する推奨事項に対する機能を提供します。
Azure Database for PostgreSQL を使用すると、引き続きデータベースを管理できます。 しかしながら、データベース エンジン、オペレーティング システム、ハードウェアを管理する必要はなくなります。 引き続き管理できる項目の例を次に示します。
- Databases
- サインイン
- インデックスのチューニング
- クエリの最適化
- Auditing
- セキュリティ
また、別のデータ センターに高可用性を構成するために必要な構成や管理は、最小限で済むか、まったく行わないで済みます。
- Azure VM 上の PostgreSQL を使用する場合は、オペレーティング システムと PostgreSQL サーバー インスタンスの構成を全面的に制御できます。 VM を使用する場合は、オペレーティング システムとデータベース ソフトウェアの更新またはアップグレードをいつ行うかと、どのパッチを適用するかを決定します。 また、ウイルス対策アプリケーションなどの他のソフトウェアをインストールするタイミングも決定します。 修正プログラムの適用、バックアップ、高可用性の実現を大幅に簡素化するために、自動化された機能がいくつか用意されています。 VM のサイズ、ディスクの数、ストレージの構成を制御できます。 詳細については、Azure の仮想マシンおよびクラウド サービスのサイズに関する記事を参照してください。
Azure Database for PostgreSQL (PaaS) に移行する時間
Azure Database for PostgreSQL は、開発者の生産性と新しいソリューションの市場投入までの時間が重要な場合に、クラウドで設計されたアプリケーションに適したソリューションです。 DBA のようなプログラム機能を使用すると、基になるオペレーティング システムとデータベースを管理する必要が減るため、このサービスはクラウド アーキテクトや開発者に適しています。
新しいオンプレミス ハードウェアの取得にかかる時間とコストを回避する必要がある場合、Azure VM 上の PostgreSQL は、サービスがサポートしていない PostgreSQL エンジンの詳細な制御とカスタマイズを必要とするアプリケーション、または基になる OS へのアクセスを必要とするアプリケーションに適したソリューションです。