Azure Fundamentals · レッスン

Azure Database for Open-Source Engines

Azure の PostgreSQL、MySQL、MariaDB 向けマネージド サービスを使用し、VM 上で独自にデータベース エンジンを実行する場合と比較します。

レッスン 3/413 ステップ

「Azure Database for Open-Source Engines」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。

オープンソースデータベースをマネージドで利用する理由

多くの組織では、PostgreSQL、MySQL、MariaDB などのオープンソースのリレーショナルエンジンをアプリケーションの基盤として使用しています。これらのエンジンを VM 上で運用する場合は、パッチ適用、バックアップ、HA 構成などの管理が必要です。一方 Azure では、開発者が使い慣れた SQL インターフェースを維持しながら、運用に伴う大部分の負担を引き受ける、完全マネージド型の PaaS サービスを提供しています。

Azure Database for PostgreSQL

Azure Database for PostgreSQL は、PostgreSQL バージョン 11 から 16 をサポートする完全マネージド型サービスです。2 つのデプロイモード、つまりSingle Server(廃止予定)と、現在推奨されているFlexible Serverを提供しています。Flexible Server では、バースト可能、汎用、メモリ最適化のコンピューティングレベルから選択でき、高可用性を実現するために、同一または異なる可用性ゾーン内にスタンバイレプリカを配置できます。

# Create a Flexible Server PostgreSQL instance
az postgres flexible-server create \
  --resource-group myRG \
  --name mypgserver \
  --location eastus \
  --admin-user pgadmin \
  --admin-password 'P@ssw0rd!' \
  --sku-name Standard_D2s_v3 \
  --tier GeneralPurpose \
  --version 16 \
  --high-availability ZoneRedundant

PostgreSQL Flexible Server の機能

Flexible Server には、異なるゾーンのスタンバイレプリカへ自動的にフェールオーバーするゾーン冗長の高可用性、レポートクエリの負荷を分散するために追加できる読み取りレプリカ、および 7~35 日の保持期間を設定できるポイントインタイムリストアが含まれています。また、PostGIS(地理空間データ)、pgvector(AI 用のベクトル埋め込み)、pg_cron(スケジュールされたジョブ)など、広く利用されている PostgreSQL 拡張機能もサポートしています。

Azure Database for MySQL

Azure Database for MySQL は、MySQL Community Edition のバージョン 5.7 および 8.0 をサポートしています。PostgreSQL と同様に、バースト可能、汎用、メモリ最適化のコンピューティングレベルを備えたFlexible Serverデプロイモデルを使用します。自動バックアップ、パッチ適用、監視が含まれています。このサービスは、MySQL に依存する PHP アプリケーションや Web アプリケーションのマネージドバックエンドとして広く利用されています。

# Create a MySQL Flexible Server
az mysql flexible-server create \
  --resource-group myRG \
  --name mymysqlserver \
  --location eastus \
  --admin-user mysqladmin \
  --admin-password 'P@ssw0rd!' \
  --sku-name Standard_D2ds_v4 \
  --tier GeneralPurpose \
  --version 8.0

Azure Database for MariaDB

Azure Database for MariaDB は、MariaDB のバージョン 10.3、10.4、10.6 をサポートしています。MariaDB は MySQL から派生したコミュニティ版で、追加のストレージエンジンと、より短いリリースサイクルを備えています。マネージド Azure サービスとしての機能は、HA、バックアップ、セキュリティ機能の面で MySQL Flexible Server とほぼ同様です。Microsoft はこのサービスを 2025 年に非推奨にすると発表しており、MySQL Flexible Server への移行を推奨しています。

VM 上のマネージドサービスとセルフホスティングの比較

Azure VM 上でオープンソースデータベースを実行すると、任意のバージョン、拡張機能、OS 設定を選択でき、最大限の制御が可能です。ただし、パッチ適用、バックアップ、HA 構成、監視、ストレージ管理を自分で担う必要があります。マネージド PaaS サービスでは、構成の柔軟性が一部制限される代わりに、運用負担を大幅に削減できます。一般的な OLTP ワークロードの多くでは、マネージドサービスをデフォルトの選択肢にするのが適切です。

コンピューティングレベルの比較

3 つのマネージドサービスは、同じコンピューティングレベルの構成を共有しています。Burstable(B シリーズ)は、常に CPU をフル稼働させる必要がない開発環境や低トラフィックのワークロードに適しています。General Purpose(D シリーズ)は、ほとんどの本番 OLTP アプリケーションに適しています。Memory Optimised(E シリーズ以上)は、分析クエリやインメモリキャッシュのように、大規模なワーキングセットを扱うワークロード向けに設計されています。

ストレージと IOPS の構成

Flexible Server では、コンピューティングとストレージが分離されています。ストレージにはAzure Premium SSDが使用され、20 GB から 64 TB まで拡張できます。Storage Autogrowを有効にすると、容量が 90% に達したときにサービスがストレージを自動的に拡張するため、ディスク容量不足によるダウンタイムを防げます。IOPS はプロビジョニングされたストレージサイズに応じて増加しますが、追加の IOPS を個別にプロビジョニングすることもできます。

# Enable storage autogrow on PostgreSQL
az postgres flexible-server update \
  --resource-group myRG \
  --name mypgserver \
  --storage-auto-grow Enabled

セキュリティ:プライベートアクセスと暗号化

Flexible Server は 2 つのネットワークモードをサポートしています。1 つはファイアウォール規則を使用するパブリックアクセス(Azure SQL Database と同じ概念)で、もう 1 つはプライベートアクセス(VNet 統合)です。後者では、サーバーが委任されたサブネットに挿入され、インターネットから完全にアクセスできなくなります。保存データはすべて AES-256 で暗号化され、すべての接続でデフォルトで TLS が必要です。また、古い TLS バージョンを禁止し、最低 TLS 1.2 を必須にすることもできます。

スケールアウトのための読み取りレプリカ

3 つのマネージドオープンソースサービスはすべて、読み取りレプリカをサポートしています。読み取りレプリカはプライマリサーバーの非同期コピーで、読み取り専用接続を受け付けます。アプリケーションから分析クエリやレポートクエリをレプリカに送ることで、プライマリの負荷を軽減できます。レプリカは同じリージョンまたは別の Azure リージョン(リージョン間レプリカ)に配置でき、地理的な読み取り分散の戦略や、ディザスターリカバリーの移行先として利用できます。

# Add a read replica to PostgreSQL server
az postgres flexible-server replica create \
  --resource-group myRG \
  --replica-name mypgserver-replica \
  --source-server mypgserver

監視とインテリジェントな分析情報

Azure Database for PostgreSQL と MySQL は、標準でAzure Monitorと統合されています。CPU 使用率、メモリ使用量、ストレージ I/O、アクティブな接続数、レプリケーション遅延などの主要なメトリックが Azure portal に送信されます。Query Performance Insightでは、リソースを最も消費しているクエリを確認できます。これにより、高コストな EXPLAIN コマンドを手動で実行しなくても、インデックスの追加やクエリの書き換えが可能になります。

理解度チェック

このレッスンで扱った Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認します。

レッスンのまとめ

このレッスンでは、Azure が PostgreSQL、MySQL、MariaDB 向けの完全マネージド型サービスを提供していること、Flexible Server が HA、読み取りレプリカ、VNet 統合を備えた推奨デプロイモデルであること、そしてマネージドサービスを利用すると、セルフホスト型 VM と比べてパッチ適用やバックアップの責任がなくなることを学びました。次は、データベースを Azure に移行するための戦略とツールについて学びます。

無料で開始

AI チューターと学ぶ Azure Fundamentals — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Azure Database for Open-Source Engines」レッスンは無料ですか?

はい。「Azure Database for Open-Source Engines」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。

「Azure Database for Open-Source Engines」で何を学びますか?

Azure の PostgreSQL、MySQL、MariaDB 向けマネージド サービスを使用し、VM 上で独自にデータベース エンジンを実行する場合と比較します。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Azure Fundamentalsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「Azure Database for Open-Source Engines」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAzure Fundamentalsレッスンでコードを書いて実行できますか?

はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Azure SQL Database
  2. Azure Cosmos DB:グローバル NoSQL
  3. Azure Database for Open-Source Engines
  4. Azure へのデータベース移行
← Azure Fundamentalsに戻る