この記事では、Azure Database for PostgreSQL の概要について説明し、その主な機能と主要な概念を理解するのに役立ちます。
Azure Database for PostgreSQL は、データベース管理機能と構成設定に対するきめ細かな制御と柔軟性を提供するように設計されたフル マネージド データベース サービスです。 このサービスは、要件に基づいて柔軟性とサーバー構成のカスタマイズを提供します。 このアーキテクチャを使用すると、待機時間を短縮するためにデータベース エンジンをクライアント層と併置し、単一の可用性ゾーン内および複数の可用性ゾーン間で高可用性を選択できます。 Azure Database for PostgreSQL フレキシブル サーバー インスタンスでは、サーバーを停止して起動する機能と、完全なコンピューティング容量を継続的に必要としないワークロードに最適なバースト可能なコンピューティング レベルを備えたコスト最適化制御も提供されます。 このサービスでは、PostgreSQL のさまざまなメジャー コミュニティ バージョンがサポートされています。 サポートされている特定のバージョンの詳細については、「 Azure Database for PostgreSQL でサポートされている PostgreSQL のバージョン」を参照してください。 このサービスは、さまざまな Azure リージョンで利用できます。
Azure Database for PostgreSQL フレキシブル サーバー インスタンスは、次の場合に最適です。
- 制御とカスタマイズを必要とするアプリケーション開発。
- ゾーン冗長の高可用性。
- 管理されたメンテナンス期間。
アーキテクチャと高可用性
Azure Database for PostgreSQL デプロイ モデルは、単一の可用性ゾーン内および複数の可用性ゾーンにまたがる高可用性をサポートするように設計されています。 このアーキテクチャでは、コンピューティングとストレージが分離されています。 データベース エンジンは Linux 仮想マシン内のコンテナー上で実行され、データ ファイルは Azure ストレージ上に配置されます。 ストレージは、データベース ファイルの 3 つのローカル冗長同期コピーを保持し、データの持続性を確保します。
ゾーン冗長高可用性を構成した場合、サービスは、同じ Azure リージョン内の可用性ゾーン全体でウォーム スタンバイ サーバーをプロビジョニングし、維持します。 データ損失をゼロにするために、ソース サーバー上でのデータの変更は、スタンバイ サーバーに同期的にレプリケートされます。 ゾーン冗長の高可用性により、計画済みまたは計画外のフェールオーバー イベントがトリガーされると、スタンバイ サーバーが直ちにオンラインになり、受信トランザクションを処理できるようになります。 この機能により、次の図に示すように、複数の可用性ゾーンをサポートする Azure リージョン内の可用性ゾーンの障害からのサービスの回復性が可能になります。
詳細については 、高可用性 を参照してください。
マネージド メンテナンス期間によるパッチの自動適用
このサービスでは、基になるハードウェア、OS、およびデータベース エンジンの自動修正が実行されます。 パッチには、セキュリティとソフトウェアの更新プログラムが含まれています。 計画メンテナンス リリースには、PostgreSQL エンジンのマイナー バージョンのアップグレードが含まれています。 修正プログラムの適用スケジュールをシステム管理に構成したり、カスタム スケジュールを定義したりできます。 メンテナンス スケジュール中にパッチが適用され、更新プログラムを完了するために修正プログラムの適用プロセスの一環としてサーバーを再起動する必要がある場合があります。 カスタム スケジュールを使用すると、修正プログラムの適用サイクルを予測可能にし、ビジネスに最小限の影響を与えるメンテナンス期間を選択できます。 一般に、サービスは継続的インテグレーションとリリースの一環として、毎月のリリース スケジュールに従います。
自動バックアップ
Azure Database for PostgreSQL では、サーバー バックアップが自動的に作成され、リージョンのゾーン冗長ストレージ (ZRS) に格納されます。 バックアップ保有期間内の任意の時点にサーバーを復元できます。 バックアップの既定のリテンション期間は 7 日です。 必要に応じて、最大 35 日間のリテンション期間を構成できます。 すべてのバックアップは、AES 256 ビット暗号化を使用して暗号化されます。 詳細については、「 バックアップ」を参照してください。
数秒以内でのパフォーマンスの調整とスケール
Azure Database for PostgreSQL は、バースト可能、汎用、メモリ最適化の 3 つのコンピューティング レベルで利用できます。 バースト可能レベルは、低コストの開発と、継続的なコンピューティング容量のない低コンカレンシー ワークロードに最適です。 高いコンカレンシー、スケール、予測可能なパフォーマンスを必要とする運用環境のワークロードでは、General Purpose レベルと Memory Optimized レベルの方が適しています。 1 か月に数ドルの小規模なデータベースで最初のアプリケーションを構築し、ソリューションのニーズに合わせてスケールをシームレスに調整できます。
サーバーを停止して起動して TCO を下げる
Azure Database for PostgreSQL を使用すると、必要に応じてサーバーを停止して起動し、TCO を削減できます。 コンピューティング レベルの課金は、サーバーを停止するとすぐに停止します。 この機能を使用すると、開発、テスト、および予測可能な時間制限付きの運用ワークロードの間に、大幅なコスト削減を実現できます。 サーバーは、早く再起動しない限り、7 日間停止したままです。
エンタープライズ レベルのセキュリティ
Azure Database for PostgreSQL は、保存データのストレージ暗号化に FIPS 140-2 検証済み暗号化モジュールを使用します。 このサービスでは、クエリの実行中に作成されたバックアップや一時ファイルなど、データが暗号化されます。 Azure Storage 暗号化に含まれる AES 256 ビット暗号が使用され、キーはシステム管理 (既定) にすることができます。 Azure Database for PostgreSQL は、既定で適用される既定のトランスポート層セキュリティ (SSL/TLS) を使用して、移動中のデータを暗号化します。 このサービスでは、TLS バージョン 1.2 以降が適用され、サポートされます。
Azure Database for PostgreSQL フレキシブル サーバー インスタンスでは、Azure 仮想ネットワークを使用してサーバーへの完全なプライベート アクセスを許可します。 Azure 仮想ネットワーク内のサーバーには、プライベート IP アドレスを介してのみ到達および接続できます。 仮想ネットワーク統合では、パブリック アクセスが拒否され、パブリック エンドポイントを使用してサーバーにアクセスすることはできません。
監視とアラート
Azure Database for PostgreSQL には、パフォーマンスの監視とアラート機能が組み込まれています。 すべての Azure メトリックは 1 分間隔で、それぞれ 30 日間の履歴が提供されます。 メトリックにアラートを構成できます。 このサービスでは、リソースの使用率を監視するためのホスト サーバー メトリックが公開され、低速のクエリ ログを構成できます。 これらのツールを使うと、ワークロードをすばやく最適化し、パフォーマンスが最適になるようにサーバーを構成できます。
組み込みの PgBouncer
Azure Database for PostgreSQL フレキシブル サーバー インスタンスには、 組み込みの PgBouncer と接続プーラーがあります。 これを有効にし、同じホスト名とポート 6432 を使用して、PgBouncer 経由でアプリケーションを Azure Database for PostgreSQL フレキシブル サーバー インスタンスに接続できます。 有効にすると、PgBouncer はポート 8432 のエラスティック クラスターでも使用できます。
Azureリージョン
Azure でワークロードを実行する利点の 1 つは、グローバルに展開できることです。 Azure Database for PostgreSQL は現在、次の Azure リージョンで利用できます。
| Region | Intel V3/V4/V5/AMD Compute | ゾーン冗長 HA | 同じゾーンのHA | 地理的冗長化バックアップ |
|---|---|---|---|---|
| オーストラリア中部 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| オーストラリア中部 2 * | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ❌ |
| オーストラリア東部 | ✅ (すべての SKU) | ✅ | ✅ | ✅ |
| オーストラリア南東部 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| オーストリア東部 | ✅ (すべての SKU) | ✅ | ✅ | ❌ |
| ブラジル南部 | ✅ (v3/v4/v5 のみ) | ✅ $ | ✅ | ❌ |
| ブラジル南東部 * | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ❌ |
| カナダ中部 | ✅ (すべての SKU) | ✅ | ✅ | ✅ |
| カナダ東部 | ✅ (すべての SKU) | ❌ | ✅ | ✅ |
| インド中部 | ✅ (v3/v4/v5 のみ) | ✅ $ | ✅ | ✅ |
| 米国中部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| チリ中部 | ✅ (すべての SKU) | ✅ | ✅ | ❌ |
| 中国東部 2 | ✅ (v3/v4 のみ) | ❌ | ✅ | ❌ |
| 中国東部 3 | ✅ (v3/v4 のみ) | ❌ | ✅ | ✅ |
| 中国北部 2 | ✅ (v3/v4 のみ) | ❌ | ✅ | ❌ |
| 中国北部 3 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| 東アジア | ✅ (v3/v4/v5 のみ) | ✅ $ ** | ✅ | ✅ |
| 米国東部 | ✅ (すべての SKU) | ✅ $ | ✅ | ✅ |
| 米国東部 2 | ✅ (v3/v4 のみ) | ✅ $ | ✅ | ✅ |
| フランス中部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| フランス南部 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| ドイツ北部 * | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| ドイツ中西部 | ✅ (v3/v4/v5 のみ) | ✅ $ | ✅ | ✅ |
| インドネシア中部 | ✅ (v3/v4 のみ) | ✅ | ✅ | ❌ |
| イスラエル中部 | ✅ (v3/v4 のみ) | ✅ | ✅ | ❌ |
| イタリア北部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ❌ |
| 東日本 | ✅ (v3/v4 のみ) | ✅ | ✅ | ✅ |
| 西日本 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| JIO インド中部 | ✅ (v3 のみ) | ❌ | ✅ | ✅ |
| JIO インド西部 | ✅ (v3 のみ) | ❌ | ✅ | ✅ |
| 韓国中部 | ✅ (v3/v4/v5 のみ) | ✅ ** | ✅ | ✅ |
| 韓国南部 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| マレーシア西部 | ✅ (v3/v4 のみ) | ✅ | ✅ | ❌ |
| メキシコ中部 | ✅ (v3/v4 のみ) | ✅ $ | ✅ | ❌ |
| ニュージーランド北部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ❌ |
| 米国中北部 | ✅ (すべての SKU) | ❌ | ✅ | ✅ |
| 北ヨーロッパ | ✅ (v3/v4/v5 のみ) | ✅ $ | ✅ | ✅ |
| ノルウェー東部 * | ✅ (すべての SKU) | ✅ | ✅ | ✅ |
| ノルウェー西部 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| ポーランド中部 | ✅ (v3/v4 のみ) | ✅ | ✅ | ❌ |
| カタール中部 | ✅ (v3/v4 のみ) | ✅ $ | ✅ | ❌ |
| 南アフリカ北部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| 南アフリカ西部 * | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| 米国中南部 | ✅ (v3/v4 のみ) | ✅ $ | ✅ | ✅ |
| インド南部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| 東南アジア | ✅ (v3/v4 のみ) | ✅ $ | ✅ | ✅ |
| スペイン中部 | ✅ (v3/v4 のみ) | ✅ | ✅ | ❌ |
| スウェーデン中部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| スイス北部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| スイス西部 * | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| アラブ首長国連邦中部 * | ✅ (v3/v5 のみ) | ❌ | ✅ | ✅ |
| アラブ首長国連邦北部 | ✅ (v3/v4/v5 のみ) | ✅ | ✅ | ✅ |
| 英国南部 | ✅ (すべての SKU) | ✅ | ✅ | ✅ |
| 英国西部 | ✅ (すべての SKU) | ❌ | ✅ | ✅ |
| US Gov アリゾナ | ✅ (v3/v4 のみ) | ❌ | ✅ | ❌ |
| US Gov テキサス | ✅ (v3/v4 のみ) | ❌ | ✅ | ❌ |
| US Gov バージニア | ✅ (v3/v4 のみ) | ✅ | ✅ | ✅ |
| 米国中西部 | ✅ (v3/v4/v5 のみ) | ❌ | ✅ | ✅ |
| 西ヨーロッパ | ✅ (v3/v4/v5 のみ) | ✅ $ | ✅ | ✅ |
| 米国西部 | ✅ (すべての SKU) | ❌ | ✅ | ✅ |
| 米国西部 2 | ✅ (v3/v4 のみ) | ✅ $ | ✅ | ✅ |
| 米国西部 3 | ✅ (すべての SKU) | ✅ ** | ✅ | ❌ |
Note
アプリケーションでゾーン冗長高可用性A が必要で、お好みの Azure リージョンで使用できない場合は、ゾーン冗長 HA を使用できる同じ地域内の他のリージョン (米国東部 2 の米国東部、米国中北部の米国中部など) の使用を検討してください。
Migration
Azure Database for PostgreSQL では、PostgreSQL のコミュニティ バージョンが実行されます。 このバージョンでは、アプリケーションの完全な互換性が提供され、PostgreSQL エンジンで開発された既存のアプリケーションを Azure Database for PostgreSQL に移行するために最小限のリファクタリングが必要です。
- Azure Database Migration Service – 最小限のダウンタイムで Azure Database for PostgreSQL へのシームレスかつ簡素化された移行を行うには、Azure Database Migration Service を使用します。 Azure Database for PostgreSQL の移行サービスについて
- ダンプと復元 – pg_dumpやpg_restoreなどのコミュニティ ツールを使用して、ダウンタイム、ダンプ、復元を行うことができるオフライン移行の場合、移行の最速の方法が提供されます。 詳細については、 ダンプと復元を使用した移行 を参照してください。
フィードバックとサポート
Azure Database for PostgreSQL に関する質問や提案がある場合は、次のチャネルを通じてヘルプとサポートを受けることができます。
- Azure サポートに連絡するには、 Azure portal からチケットを提出します。
- アカウントの問題を解決するには、Azure portal で サポート リクエスト を提出します。
- フィードバックを提供したり、新しい機能を要求したりするには、UserVoice でエントリを作成します。