次の方法で共有


Azure Database for PostgreSQL - フレキシブル サーバーでコストを最適化する方法

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Azure Database for PostgreSQL フレキシブル サーバーは、PostgreSQL Community Edition をベースとした Microsoft クラウドのリレーショナル データベース サービスです。 フルフル マネージドのサービスとしてのデータベースであり、予測可能なパフォーマンスと動的なスケーラビリティを実現しながら、ミッションクリティカルなワークロードを処理できます。

この記事では、Azure Database for PostgreSQL フレキシブル サーバーのコストを最適化するための推奨事項の一覧を示します。 この一覧で、ワークロードの最適化に役立つ設計上の考慮事項、構成チェックリスト、推奨されるデータベース設定について説明します。

  • 予約容量の価格を利用する
  • コンピューティングをスケールアップ/スケールダウンする
  • Azure Advisor の推奨事項を使用する
  • HA (高可用性) と DR (ディザスター リカバリー) の要件を評価する
  • データベースとサーバーを統合する
  • コスト効率の高い geo リージョンにテスト サーバーを配置する
  • サーバーを起動または停止する
  • 使用していないデータをコールド ストレージにアーカイブする

1. 予約容量の価格を利用する

Azure Postgres の予約容量の価格では、特定の容量に 1 から 3年間コミットできるため、Azure Database for PostgreSQL フレキシブル サーバーを使用するお客様のコストを節約できます。 予約容量の量と期間の長さ次第で、従量課金制の価格と比較して大幅なコスト削減ができる可能性があります。 お客様は、仮想コアとストレージの増分で予約容量を購入できます。 予約容量は、お客様の Azure サブスクリプションに適用される同じリージョン内の Azure Database for PostgreSQL フレキシブル サーバー インスタンスのコストをカバーできます。 Azure Database for PostgreSQL フレキシブル サーバーの予約価格では、容量を予約するお客様に対して、1 年間で最大 40%、3 年間のコミットメントで最大 60% のコスト削減が提供されます。 詳しくは、Microsoft Azure の「料金計算ツール」を参照してください。 詳細については、「Azure の予約とは」を参照してください。

2. コンピューティングをスケールアップ/スケールダウンする

Azure Database for PostgreSQL フレキシブル サーバー インスタンスのリソースのスケールアップまたはスケールダウンすることで、コストを最適化できます。 必要に応じて仮想コアとストレージを調整して、必要なリソースに対してのみ支払います。 スケーリングは、Azure portal、Azure CLI、Azure REST API で実行できます。 コンピューティング リソースのスケールアップまたはスケールダウンは、いつでも実行でき、サーバーの再起動が必要です。 コストを最適化しパフォーマンスを確保するために、データベースの使用パターンを監視し、それに応じてリソースを調整することをお勧めします。 詳細については、「Azure Database for PostgreSQL フレキシブル サーバーのコンピューティングとストレージのオプション」を参照してください。

非運用環境を保守的に構成する - コスト効率の高い SKU を使用するようにアイドル状態の開発/テスト/ステージ環境を構成します。 バースト可能な SKU の選択は、継続的かつ完全な容量を必要としないワークロードに最適です。

詳細については、「Azure Database for PostgreSQL フレキシブル サーバーでのスケール操作」を参照してください。

3. Azure Advisor の推奨事項を使用する

Azure Advisor は、Azure リソースの最適化に役立つ推奨事項を提供する無料サービスです。 リソースの構成と使用パターンを分析し、Azure リソースのパフォーマンス、セキュリティ、高可用性、コスト効率を向上させる方法についての推奨事項が提供されます。 推奨事項では、コンピューティング、ストレージ、ネットワーク、データベースなど、さまざまな Azure サービスが対象になります。

Azure Database for PostgreSQL に対して Azure Advisor では、データベースのパフォーマンス、可用性、コスト効率を向上させる方法についての推奨事項が提供されます。 たとえば、データベースのスケールアップまたはスケールダウン、読み取りレプリカを使用した読み取り集中型ワークロードのオフロード、予約容量の価格への切り替えによるコスト削減などが提案されます。 また、Azure Advisor では、保存時の暗号化を有効にしたり、ネットワーク セキュリティ規則を有効にして受信トラフィックをデータベースに制限したりするなど、セキュリティのベスト プラクティスを推奨することもできます。

Azure Advisor で提供される推奨事項にアクセスするには Azure portal を使用します。数回クリックするだけで推奨事項を表示して実装できます。 Azure Advisor の推奨事項を実装すると、Azure リソースを最適化し、コストを削減するのに役立ちます。 詳細については、「Azure Database for PostgreSQL - フレキシブル サーバー用の Azure Advisor」を参照してください。

4. HA (高可用性) と DR (ディザスター リカバリー) の要件を評価する

Azure Database for PostgreSQL フレキシブル サーバーには、組み込みのノードとストレージの回復性が追加料金なしで用意されています。 ノードの回復性により、Azure Database for PostgreSQL フレキシブル サーバー インスタンスは正常な VM に自動的にフェールオーバーされます。データが失われることはなく (つまり、RPO ゼロ)、接続文字列も変更されませんが、アプリケーションは再接続する必要があります。 同様に、データとトランザクション ログは 3 つの同期コピーに保存され、ストレージの破損が自動的に検出されて是正措置が実行されます。 ほとんどの Dev/Test 用ワークロードと多くの運用ワークロードでは、この構成で十分です。

ワークロードに AZ の回復性と短い RTO が必要な場合は、ゾーン内または AZ 間のスタンバイで高可用性 (HA) を有効にすることができます。 これにより、デプロイにかかるコストが 2 倍になりますが、より高度な SLA が提供されます。 アプリケーションの geo 回復性を実現するには、GeoBackup を設定してコストを削減できますが、RTO が長くなります。 または、GeoReadReplica を 2 倍のコストで設定することもできます。これにより、geo ディザスターが発生した場合には数分の RTO が提供されます。

重要なのは、アプリケーション スタック全体の要件を評価してから、Azure Database for PostgreSQL フレキシブル サーバー インスタンスに適した構成を選択することです。 たとえば、アプリケーションに AZ の回復性がない場合は、AZ の回復性がある構成で Azure Database for PostgreSQL フレキシブル サーバーを構成しても得るものはありません。

詳細については、フレキシブル サーバーの高可用性アーキテクチャに関するページを参照してください。

5. データベースとサーバーを統合する

データベースの統合は、Azure Database for PostgreSQL フレキシブル サーバーのコスト削減策になる場合があります。 複数のデータベースを 1 つの Azure Database for PostgreSQL フレキシブル サーバー インスタンスに統合すると、インスタンスの数と Azure Database for PostgreSQL フレキシブル サーバーの実行にかかる全体的なコストを削減できます。 データベースを統合してコストを節約するには、次の手順に従います。

  1. サーバーへアクセスする: データベースのサイズ、geo リージョン、構成 (CPU、メモリ、IOPS)、パフォーマンス要件、ワークロードの種類、データ整合性のニーズを考慮して、統合できるサーバーを特定します。
  2. 新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成する: 統合したデータベースをサポートするのに十分な vCPU、メモリ、ストレージを備えた新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成します。
  3. 既存の Azure Database for PostgreSQL フレキシブル サーバー インスタンスを再利用する: 既存のサーバーが既にある場合は、統合したデータベースのサポートに十分な vCPU、メモリ、ストレージを備えていることを確認します。
  4. データベースを移行する: データベースを新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスに移行します。 データベースのエクスポートおよびインポートには、pg_dump や pg_restore などのツールが使用できます。
  5. パフォーマンスを監視する: 統合した Azure Database for PostgreSQL フレキシブル サーバー インスタンスのパフォーマンスを監視し、必要に応じてリソースを調整して最適なパフォーマンスを確保します。

データベースの統合は、実行する必要がある Azure Database for PostgreSQL フレキシブル サーバー インスタンスの数を減らし、小さいインスタンスよりもコスト効率の高い大規模なインスタンスを使用できるようにすることで、コスト削減に役立ちます。 統合がデータベースのパフォーマンスに与える影響を評価し、統合した Azure Database for PostgreSQL フレキシブル サーバー インスタンスがすべてのデータベースのニーズを満たすように適切なサイズになるようにすることが重要です。

詳細については、「Azure Advisor を使用して Azure アプリケーションのパフォーマンスを向上させる」を参照してください。

6. コスト効率の高い geo リージョンにテスト サーバーを配置する

コスト効率の高い Azure リージョンにテスト サーバーを作成することで、Azure Database for PostgreSQL フレキシブル サーバーのコスト削減策になる場合があります。 コンピューティング リソースのコストが低いリージョンにテスト サーバーを作成することで、テスト サーバーの実行コストを削減し、Azure Database for PostgreSQL フレキシブル サーバーの実行コストを最小限に抑えることができます。 コスト効率の高い Azure リージョンでテスト サーバーを作成するのに役立ついくつかの手順を次に示します。

  1. コスト効率の高いリージョンを特定する: コンピューティング リソースのコストが低い Azure リージョンを特定します。
  2. 新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成する: テスト環境に適した構成で、コスト効率の高いリージョンに新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成します。
  3. テスト データを移行する: テスト データを新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスに移行します。 データベースのエクスポートおよびインポートには、pg_dump や pg_restore などのツールが使用できます。
  4. パフォーマンスを監視する: テスト サーバーのパフォーマンスを監視し、必要に応じてリソースを調整して最適なパフォーマンスを確保します。

コスト効率の高い Azure リージョンにテスト サーバーを作成することで、テスト サーバーの実行コストを削減し、Azure Database for PostgreSQL フレキシブル サーバーの実行コストを最小限に抑えることができます。 テスト サーバーのパフォーマンスと組織の特定のリージョン要件に対して、リージョンが与える影響を評価することが重要です。 これにより、ネットワーク待機時間とデータ転送コストがユース ケースで許容範囲内になるよう確認できます。

詳細については、Azure リージョンに関するページを参照してください。

7. サーバーを起動または停止する

サーバーの起動と停止は、Azure Database for PostgreSQL フレキシブル サーバーのコスト削減策になる場合があります。 必要なときにのみサーバーを実行することで、Azure Database for PostgreSQL フレキシブル サーバーの実行コストを削減できます。 サーバーの起動と停止でコストを節約するためのいくつかの手順を次に示します。

  1. サーバーを特定する: 起動および停止する Azure Database for PostgreSQL フレキシブル サーバー インスタンスを特定します。
  2. サーバーを起動する: 必要なときに、Azure Database for PostgreSQL フレキシブル サーバー インスタンスを起動します。 Azure portal、Azure CLI、Azure REST API を使用してサーバーを起動できます。
  3. サーバーを停止する: 必要ない場合は、Azure Database for PostgreSQL フレキシブル サーバー インスタンスを停止します。 Azure portal、Azure CLI、Azure REST API を使用してサーバーを停止できます。
  4. また、サーバーが数週間連続して停止 (またはアイドル) 状態になっている場合は、必要なデュー デリジェンスの後にサーバーの切断を検討できます。

必要に応じてサーバーを起動および停止することで、Azure Database for PostgreSQL フレキシブル サーバーの実行コストを削減できます。 データベースのパフォーマンスを円滑に保つには、サーバーの起動と停止による影響を評価し、これらのアクションで必要な信頼性の高いプロセスで実施することが重要です。 詳しくは、「Azure Database for PostgreSQL - フレキシブル サーバー インスタンスを停止または起動する」を参照してください。

8. 使用していないデータをコールド ストレージにアーカイブする

アクセス頻度の低いデータを Azure Archive Storage にアーカイブすると (アクセスを維持しつつ) コストを削減できます。 Azure Database for PostgreSQL フレキシブル サーバー から Azure Archived Storage にデータをエクスポートし、低コストのストレージ層に保存します。

  1. Azure Blob Storage アカウントを設定し、データベースのバックアップ用コンテナーを作成します。
  2. pg_dump を使用して、使用していないデータをファイルにエクスポートします。
  3. Azure CLI または PowerShell を使用して、エクスポートしたファイルを Blob Storage コンテナーにアップロードします。
  4. 古いバックアップを自動的に削除するよう Blob Storage コンテナーのアイテム保持ポリシーを設定します。
  5. 使用していないデータをローカル ストレージではなく Blob Storage にエクスポートするようバックアップスクリプトを編集します。
  6. バックアップと復元のプロセスをテストして、必要に応じてアーカイブされたデータを復元できることを確認します。

Azure Data Factory を使用して、このプロセスを自動化することもできます。

詳細については、ダンプと復元を使用した Azure Database for PostgreSQL フレキシブル サーバー データベースの移行に関する記事をご覧ください。

コストのトレードオフ

Azure Database for PostgreSQL フレキシブル サーバーでアプリケーション データベースを設計する際には、コストの最適化と、セキュリティ、スケーラビリティ、回復性、操作性など、設計のその他の側面とのトレードオフを考慮します。

コストと信頼性の比較

コストと信頼性の間には直接的な相関関係があります。

コストとパフォーマンス効率の比較

パフォーマンスを向上させると、コストが高くなります。

コストとセキュリティの比較

ワークロードのセキュリティを強化すると、コストが増加します。

コストとオペレーショナル エクセレンスの比較

システムの監視と自動化に投資すると、当初はコストが増加する可能性がありますが、コストは時間の経過と共に低減します。

次のステップ

コストの最適化について詳しくは、次を参照してください。