【初心者向け】Azure SQLデータベースをざっくり理解する
この記事の内容
- Azure SQLデータベース(SQL DB)がどのようなサービスなのかを解説します
- オンプレミスのSQL Serverとの違いを比較しながら理解できます
- Azureポータルでのデータベース作成手順を順を追って説明します
- 作成後の接続方法や操作方法についても紹介します
- スケーリング・レプリカ・他サービス連携など、クラウドならではの便利機能を紹介します
SQLデータベースとは?
SQLデータベース(SQL DB)は、リレーショナルデータベースの一種です。複数のテーブル同士を「リレーション(関係)」で結びつけて、効率よくデータを管理できるのが特徴です。
イメージとしては、Excelのシートが複数あり、それぞれリンク(関連)し合っている大きな表のようなものです。SQLという専用の言語(クエリ)を使って、必要なデータを簡単に取得・操作できます。
オンプレミスとクラウドの違い
従来のデータベース運用では、WindowsサーバーなどのサーバーマシンにSQL Serverのソフトウェアをインストールし、自社で管理していました。これを「オンプレミス」と呼びます。
一方、AzureのSQLデータベースは、サーバーの管理をMicrosoftが担ってくれる「PaaS(Platform as a Service)」です。利用者はデータベースの構築・運用に集中できるため、インフラ管理の負担が大幅に軽減されます。
AzureでのSQLデータベース作成手順
1. SQLデータベースの作成
Azureポータルで「SQLデータベース」を選択し、新規作成を開始します。サブスクリプションとリソースグループを選択し、データベース名を決定します。
2. SQLサーバーの作成
データベースを作成する際、紐づくSQLサーバーも必要です。既存のサーバーがない場合は新規作成します。サーバー名やリージョンを決定し、認証方式を選択します。
認証方式は以下の3種類から選べます。
- Microsoft Entra認証(より安全でおすすめ)
- SQL認証
- 両方を併用
3. エラスティックプールの選択
複数のデータベースを効率よく運用したい場合は、「エラスティックプール」を利用できます。エラスティックプールとは、複数のデータベースでリソース(性能・料金)をまとめて管理できる機能です。
データベースごとに負荷の波があるケースでは、リソースを共有することでコスト効率が向上します。
4. ワークロードとパフォーマンスの設定
開発用途か運用(本番)用途かを選択します。コンピューティング(CPUやメモリ)とストレージ(容量)を用途に合わせて細かく設定できます。
また、「プロビジョニング済み」か「サーバーレス」かを選択し、最大・最小のリソース量も指定できます。
5. ネットワーク設定
パブリックエンドポイントやプライベートエンドポイントを選択し、アクセス元を制限できます。現在のクライアントIPアドレスやAzureサービスからのアクセスを許可するかどうかを設定します。
6. セキュリティ・追加設定
以下のセキュリティオプションを設定できます。
- Microsoft Defender for SQL による脅威検出
- データの暗号化設定
- マネージドIDの利用
また、データベース作成時に「AdventureWorksLT」などのサンプルデータを投入することも可能です。開発・学習用途に便利です。
データベース作成後の操作
デプロイが完了すると、リソースグループ内にSQLサーバーとSQLデータベースがセットで作成されます。データベースはサーバーの上で動作しており、以下の方法で利用できます。
開発ツールからの接続
以下のツールからデータベースに接続できます。接続文字列はAzureポータルから簡単に確認できます。
- Azure Data Studio
- Visual Studio
- Visual Studio Code
ブラウザからの操作
Azureポータル上の「クエリエディター」を使うと、ブラウザ経由でSQLクエリを実行し、テーブルやビューの内容を確認できます。ツールをインストールしなくても手軽に操作できるため、動作確認に便利です。
IPアドレスの許可設定
外部から接続する際は、事前にクライアントIPアドレスを許可しておく必要があります。サーバー設定から簡単に追加できます。
その他の機能と連携
スケーラビリティ
データベースの性能や容量は、運用開始後でも柔軟に変更できます。負荷の増減に合わせてリソースを調整できるのはクラウドならではの利点です。
レプリカ作成
地理的に離れた場所にデータのレプリカを作成できます。災害対策や可用性向上に役立てることが可能です。
他のAzureサービスとの連携
以下のサービスとの連携も容易に実現できます。
- Azure Synapse Analytics:大規模な分析基盤の構築
- Power BI:データの可視化・レポート作成
- Power Automate:業務プロセスの自動化
監視・パフォーマンス管理
パフォーマンス監視やチューニング機能も充実しており、安定した運用が可能です。
SQLサーバーとSQLデータベースの違い
Azure SQLサーバーとSQLデータベースは、役割が異なる2つのリソースです。整理すると以下のようになります。
| リソース | 役割 |
|---|---|
| SQLサーバー | 複数のSQLデータベースをまとめて管理する単位。ネットワーク設定やセキュリティ設定を管理する |
| SQLデータベース | 実際のデータが格納される場所。性能や料金など細かな設定をデータベースごとに管理する |
まとめ
AzureのSQLデータベースは、サーバーの構築や管理の手間を省き、必要なデータベースを素早く作成・利用できるPaaSサービスです。
オンプレミスのSQL Serverと同じような感覚でSQLを使いながら、インフラ管理はMicrosoftに任せることができます。エラスティックプールによるコスト最適化、災害対策のためのレプリカ、Power PlatformやSynapseとの連携など、クラウドならではの利点も多くあります。
データベースの導入を検討している方は、ぜひAzure SQLデータベースを試してみてください。