Azure SQL Database
フル マネージドの Azure SQL Database を作成し、サービス レベル(DTU と vCore)を構成して、組み込みの高可用性と自動バックアップを活用します。
「Azure SQL Database」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。
Azure SQL Database とは
Azure SQL Database は、Microsoft SQL Server エンジンを基盤とする、フル マネージドのリレーショナル データベース サービスです。仮想マシン上で SQL Server を実行する場合とは異なり、Azure SQL Database では、パッチ適用、ハードウェア管理、バックアップ スケジュール設定に伴う負担がなくなります。Microsoft がすべてのインフラストラクチャ タスクを処理するため、アプリケーションとデータに集中できます。
サービス レベル: DTU と vCore
Azure SQL Database には、2 つの購入モデルがあります。DTU モデルは、コンピューティング、メモリ、I/O を Database Transaction Unit という 1 つの単位にまとめたもので、シンプルですが柔軟性は低くなります。vCore モデルでは、CPU コア数とメモリを個別に選択でき、ライセンス コストを削減できる Azure ハイブリッド特典にも対応しています。新規ワークロードの多くでは、vCore が推奨されます。
# vCore model example using Azure CLI
az sql db create \
--resource-group myRG \
--server mysqlserver \
--name mydb \
--service-objective GP_Gen5_2 \
--edition GeneralPurposeサービス レベルのオプション
vCore モデルには、異なるワークロードを対象とする 3 つのサービス レベルがあります。General Purpose は、コンピューティングとストレージのバランスが必要な一般的な OLTP アプリケーションに適しています。Business Critical は、インメモリ テクノロジを使用して超低レイテンシと組み込みの読み取りレプリカを提供します。Hyperscale は、最大 100 TB のデータベースに対応し、水平方向に迅速にスケールアウトできます。
SQL Server とデータベースの作成
Azure SQL Database は、複数のデータベースをホストし、ファイアウォール規則、Entra ID 認証、監査設定を適用する管理エンドポイントである論理 SQL サーバー内に存在します。まず論理サーバーを作成し、その中に 1 つ以上のデータベースを作成します。各データベースは個別に課金され、個別にスケーリングされます。
# Create logical server
az sql server create \
--name mysqlserver \
--resource-group myRG \
--location eastus \
--admin-user sqladmin \
--admin-password 'P@ssw0rd123!'
# Create database inside that server
az sql db create \
--resource-group myRG \
--server mysqlserver \
--name mydb \
--tier GeneralPurposeファイアウォール規則と接続
既定では、Azure SQL Database はすべての受信接続をブロックします。特定の IP 範囲を許可するにはサーバー レベルのファイアウォール規則を追加するか、「Allow Azure services」トグルを有効にして、他の Azure リソースからの接続を許可する必要があります。運用環境では、データベースをパブリック インターネットに完全に公開しないよう、VNet 内のプライベート エンドポイントを使用します。
# Allow your local IP to connect
az sql server firewall-rule create \
--resource-group myRG \
--server mysqlserver \
--name AllowMyIP \
--start-ip-address 203.0.113.10 \
--end-ip-address 203.0.113.10組み込みの高可用性
Azure SQL Database には、構成不要の組み込みの高可用性が備わっています。General Purpose レベルでは、データ ファイルが Azure Premium Storage に保存され、自動的にレプリケーションされます。Business Critical レベルでは、Always On 可用性グループが可用性ゾーン間で 3 ~ 4 個のレプリカを実行し、RPO をほぼゼロにします。SLA の稼働率は 99.99% に達します。
自動バックアップと PITR
Azure SQL Database は、毎週の完全バックアップ、12 時間ごとの差分バックアップ、5 ~ 12 分ごとのトランザクション ログ バックアップを自動的に実行します。これらのバックアップにより、ポイントインタイム リストア (PITR)が可能になり、保持期間内の任意の秒までデータベースを復元できます。保持期間はサービス レベルに応じて 7 ~ 35 日です。
# Restore a database to a specific point in time
az sql db restore \
--dest-name mydb-restored \
--edition GeneralPurpose \
--name mydb \
--resource-group myRG \
--server mysqlserver \
--time '2026-06-15T10:00:00'マルチテナント アプリ向けのエラスティック プール
エラスティック プールは、複数の Azure SQL Database をグループ化し、固定量の DTU または vCore を共有できるようにします。これは、予測できない、またはピークが相殺されるワークロードを持つ多数のテナント データベースを扱う SaaS アプリケーションに適しています。プール内のデータベースは必要に応じて共有リソース予算を使用するため、リソースを個別にプロビジョニングする場合と比べて、データベースごとのコストを削減できます。
# Create an elastic pool
az sql elastic-pool create \
--resource-group myRG \
--server mysqlserver \
--name mypool \
--edition GeneralPurpose \
--family Gen5 \
--capacity 8セキュリティ: 暗号化と監査
Azure SQL Database は、既定で Transparent Data Encryption (TDE) を使用して保存時のすべてのデータを暗号化し、転送中のデータは常に TLS で保護されます。Advanced Threat Protection は、SQL インジェクションの試行など、異常なデータベース アクティビティを検出してセキュリティ アラートとして通知します。Auditing を有効にすると、コンプライアンスの証跡としてクエリ ログがストレージ アカウントまたは Log Analytics ワークスペースに書き込まれます。
スケールアップとスケールダウン
Azure SQL Database は、ダウンタイムを最小限に抑えた動的スケーリングに対応しています。Azure ポータル、CLI、または API を使用して、サービス レベルや vCore 数を変更できます。変更は数秒から数分以内に反映されます。この柔軟性により、マーケティング イベントの前にスケールアップし、その後スケールダウンできます。サーバーレス レベルでは、使用した分だけ料金が発生します。
# Scale up to 4 vCores
az sql db update \
--resource-group myRG \
--server mysqlserver \
--name mydb \
--service-objective GP_Gen5_4開発ワークロード向けのサーバーレス レベル
General Purpose 内のサーバーレス コンピューティング レベルでは、構成可能な一定期間アクティビティがない場合にデータベースを自動的に一時停止し、次の接続時に再開します。データベースがアクティブな秒数に対してのみ課金されるため、常時稼働が不要な開発、テスト、断続的に使用するアプリケーションにとって非常にコスト効率が高くなります。
# Create a serverless database
az sql db create \
--resource-group myRG \
--server mysqlserver \
--name mydb-dev \
--edition GeneralPurpose \
--family Gen5 \
--capacity 1 \
--compute-model Serverless \
--auto-pause-delay 60クイック チェック
このレッスンで扱った Microsoft Azure Fundamentals (AZ-900) の概念の理解度を確認します。
レッスンのまとめ
このレッスンでは、次のことを学びました。Azure SQL Database はフル マネージドの PaaS リレーショナル エンジンです。vCore モデルでは、きめ細かいサイズ設定とハイブリッド特典に対応しています。また、組み込みの高可用性、自動バックアップ、TDE がすべてのサービス レベルに含まれています。次は Microsoft のグローバル分散 NoSQL サービスである Azure Cosmos DB について学びます。
よくある質問
「Azure SQL Database」レッスンは無料ですか?
はい。「Azure SQL Database」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。
「Azure SQL Database」で何を学びますか?
フル マネージドの Azure SQL Database を作成し、サービス レベル(DTU と vCore)を構成して、組み込みの高可用性と自動バックアップを活用します。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Azure Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Azure SQL Database」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAzure Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。