Azure認定資格 WEB問題集&徹底解説
AZ-900:Microsoft Azure Fundamentals
Azureサービスの一つであるAzure Cosmos DBはどんな内容なのでしょうか?また、Azure認定資格の AZ-900:Azure Fundamentals に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Azure Cosmos DB は、Microsoft Azure クラウドプラットフォーム上の、グローバル分散型、マルチモデルデータベースサービスです。 Cosmos DB は、ミッションクリティカルなアプリケーションを構築するために必要な、スケーラビリティ、高可用性、低遅延、およびスキーマの柔軟性を提供します。 Cosmos DB は、SQL (Core) API、MongoDB API、Cassandra API、Gremlin API、および Table API の 5 つのデータモデルをサポートしており、さまざまなワークロードのニーズに対応できます。 Cosmos DB は、自動インデックス作成、自動スケール、および業界をリードする SLA を提供します。
Azure Cosmos DB は、グローバル分散型アプリケーションのデータを管理するための、包括的で柔軟なソリューションです。
2. 主な特徴と機能
2.1 グローバル分散
Azure Cosmos DB は、世界中の任意の Azure リージョンにデータをレプリケートでき、低遅延のデータアクセスを提供します。
2.2 マルチモデル
Azure Cosmos DB は、SQL (Core) API、MongoDB API、Cassandra API、Gremlin API、および Table API の 5 つのデータモデルをサポートしており、さまざまなワークロードのニーズに対応できます。
2.3 スキーマの柔軟性
Azure Cosmos DB は、スキーマレス設計を採用しており、アプリケーションの進化に合わせてデータを簡単に変更できます。
2.4 スケーラビリティ
Azure Cosmos DB は、アプリケーションの需要に基づいて、スループットとストレージを自動的にスケールアップまたはスケールダウンできます。
2.5 低遅延
Azure Cosmos DB は、99 パーセンタイルで 10 ミリ秒未満の読み取りおよび書き込み遅延を保証します。
2.6 高可用性
Azure Cosmos DB は、99.999% の可用性を保証します。
2.7 自動インデックス作成
Azure Cosmos DB は、すべてのデータに対して自動的にインデックスを作成し、高速なクエリパフォーマンスを提供します。
2.8 セキュリティ
Azure Cosmos DB は、Azure Active Directory (Azure AD) 認証、保存時の暗号化、およびロールベースのアクセス制御 (RBAC) など、さまざまなセキュリティ機能を提供します。
3. アーキテクチャおよび技術要素
- ユーザーが Azure Portal、CLI、PowerShell、または SDK を介して Cosmos DB アカウント、データベース、コンテナ (コレクション、グラフ、テーブル) を作成/管理。
- ユーザーは、データモデル (SQL、MongoDB、Cassandra、Gremlin、Table)、スループット (RU/秒)、インデックスポリシー、一貫性レベルなどのデータベース構成を指定。
- Azure Cosmos DB サービスが、データを自動的に格納、管理、および保護。
- データベースは、API に応じて、SQL、MongoDB、Cassandra、Gremlin、または Table プロトコルを介してアクセス可能。
- Azure Cosmos DB は、Azure Resource Manager (ARM) を使用して管理され、Azure の他のサービス (Azure Functions、Azure Logic Apps など) と統合できます。
4. セキュリティと認証・認可
- Azure Active Directory (Azure AD): Azure AD を使用して、Cosmos DB アカウントへのアクセスを制御できます。
- Azure Role-Based Access Control (RBAC): RBAC を使用して、Cosmos DB リソースへのアクセス権限を、ロールに基づいて付与/制限できます。
- リソーストークン: リソーストークンを使用して、コンテナまたはドキュメントへの制限付きアクセスを提供できます。
- IP ファイアウォール: IP ファイアウォールを使用して、Cosmos DB アカウントへのアクセスを特定の IP アドレスに制限できます。
- 仮想ネットワーク (VNet) サービスエンドポイント: VNet サービスエンドポイントを使用して、Cosmos DB アカウントへのアクセスを Azure Virtual Network に制限できます。
- プライベートリンク: プライベートリンクを使用して、Azure Virtual Network から Cosmos DB アカウントへのプライベートアクセスを確立できます。
- 保存時の暗号化: Azure Cosmos DB は、保存時にデータを暗号化します。
5. 料金形態
Azure Cosmos DB は主に以下に基づく料金体系です:
- プロビジョニングされたスループット: データベースまたはコンテナにプロビジョニングされたスループットに応じて課金 (RU/秒)。
- 消費ベースのスループット (サーバーレス): 実行された操作に応じて課金。
- ストレージ容量: 格納されるデータの量に応じて課金 (GB/月)。
- バックアップストレージ: データのバックアップに使用されるストレージ容量に応じて課金。
- ネットワーク: データ転送量に応じて課金。
6. よくあるアーキテクチャ・設計パターン
- グローバル分散型アプリケーション: Azure Cosmos DB を使用して、世界中のユーザーに低遅延のデータアクセスを提供する、グローバル分散型アプリケーションを構築できます。
- IoT ソリューション: Azure Cosmos DB を使用して、IoT デバイスから収集されたデータを格納および分析できます。
- ゲーム: Azure Cosmos DB を使用して、ゲームのデータを格納および管理できます。
- eコマース: Azure Cosmos DB を使用して、eコマースアプリケーションのカタログデータ、注文データ、および顧客データを格納および管理できます。
- パーソナライゼーション: Azure Cosmos DB を使用して、ユーザーの好みや行動に基づいて、パーソナライズされたエクスペリエンスを提供できます。
7. 設定・デプロイ手順(ハンズオン例)
- Azure Portal、CLI、または PowerShell を使用して、リソースグループを作成。
- Cosmos DB アカウントを作成 (名前、リージョン、API などを指定)。
- データベースを作成。
- コンテナ (コレクション、グラフ、テーブル) を作成。
- データを挿入、クエリ、または管理。
- スループットを設定。
- セキュリティ設定を構成 (Azure AD 認証など)。
- グローバル分散を構成。
8. 試験で問われやすいポイント
8.1 Azure Cosmos DB の基本的な概念
- Q: Azure Cosmos DB とは何ですか?
A: グローバル分散型、マルチモデルデータベースサービスです。 - Q: Azure Cosmos DB の主な利点は何ですか?
A: グローバル分散、マルチモデル、スキーマの柔軟性、スケーラビリティ、低遅延、高可用性、自動インデックス作成。
8.2 データモデル
- Q: Azure Cosmos DB でサポートされているデータモデルは何ですか?
A: SQL (Core) API、MongoDB API、Cassandra API、Gremlin API、および Table API。
8.3 スループット
- Q: Azure Cosmos DB のスループットはどのようにプロビジョニングされますか?
A: RU/秒 (リクエストユニット/秒) でプロビジョニング。 - Q: 消費ベースのスループット (サーバーレス) とは何ですか?
A: 実行された操作に対してのみ課金されるスループットモデル。
8.4 一貫性レベル
- Q: Azure Cosmos DB でサポートされている一貫性レベルは何ですか?
A: 強力、 bounded staleness、セッション、一貫性のあるプレフィックス、イベントual。
8.5 料金
- Q: Azure Cosmos DB の料金はどのように計算されますか?
A: プロビジョニングされたスループット、ストレージ容量、バックアップストレージ、ネットワークに基づいて計算。
8.6 セキュリティ
- Q: Azure Cosmos DB へのアクセスを制御する方法は何ですか?
A: Azure Active Directory (Azure AD) 認証、リソーストークン、IP ファイアウォール、仮想ネットワーク (VNet) サービスエンドポイント、プライベートリンクを使用。
8.7 その他細かな試験ポイント
- パーティショニング
- インデックスポリシー
- グローバル分散
- Multi-master
- Azure Cosmos DB エミュレーター