WEB問題集
会社の複数の部門で使用されている Azure サブスクリプション Subscription1 があります。Subscription1 には次の表のリソースが含まれています。

別の管理者が単一の Azure Resource Manager テンプレートを使用して、仮想マシン VM1 と Azure ストレージ アカウント storage2 を展開しました。展開に使用されたテンプレートを表示する必要があります。どのブレードからテンプレートを表示できますか?
正解:B
リソース グループの Deployments (展開) 履歴から過去に使用された ARM テンプレートを確認できます。Azure Portal で RG1 ブレードに移動し、「Deployments」セクションを開けば、該当の展開に使用されたテンプレートを表示・ダウンロードできます。
- A: VM1 のブレードからは VM 個別の情報は見えるが、展開全体のテンプレートは取得できない。
- C: storage2 のブレードも同様に個別リソースビューで、テンプレート履歴は持たない。
- D: container1 は Blob コンテナーで、ARM 展開履歴とは無関係。
次の Azure Resource Manager (ARM) テンプレートを開発して、リソース グループを作成し、そのリソース グループに Azure ストレージ アカウントを展開しています。

テンプレートを展開するにはどのコマンドレットを実行すべきですか?
正解:D
このテンプレートは最上位リソースとして Microsoft.Resources/resourceGroups (リソース グループそのもの) を作成しています。リソース グループ自体を作成する操作はサブスクリプション レベルの展開に該当するため、New-AzDeployment (New-AzSubscriptionDeployment の別名) を使用します。
- A: New-AzResource は個別リソース作成用でテンプレート展開には使えない。
- B: New-AzResourceGroupDeployment は既存のリソース グループ内への展開用で、リソース グループ自体の作成はできない。
- C: New-AzTenantDeployment はテナント レベルの展開用で、サブスクリプション内の RG 作成には適さない。
Azure サブスクリプションに RG1 というリソース グループがあります。template1 という Azure Resource Manager (ARM) テンプレートを使用してリソースを展開する予定です。ソリューションは次の要件を満たす必要があります。
- 新しいリソースを RG1 に展開する。
- 新しいリソースを展開する前に RG1 から既存のすべてのリソースを削除する。
コマンドをどのように完成させるべきですか?
コマンド: New-AzResourceGroupDeployment -TemplateUri "https://contoso.com/template1" -TemplateParameterFile params.json [回答選択1] RG1 -Mode [回答選択2]
[回答選択1] (パラメーター):
正解:C
New-AzResourceGroupDeployment コマンドレットで展開先のリソース グループを指定するのは -ResourceGroupName パラメーターです。本問では RG1 を展開先として指定するため -ResourceGroupName RG1 となります。
- A: -Name は展開自体の名前を指定するもので、リソース グループとは別。
- B: -QueryString はテンプレート URI に付与するクエリ文字列で、RG 指定ではない。
- D: -Tag はタグ付け用オプション。
元問題形式: HOTSPOT (ドロップダウン問題) の 1/2。
前問と同じコマンドの 2 つ目のドロップダウンを選択します。
[回答選択2] (Mode の値):
正解:B
ARM 展開の Complete モードは、リソース グループ内のテンプレートに定義されていない既存のリソースをすべて削除します。要件「新しいリソースを展開する前に RG1 から既存のすべてのリソースを削除する」を満たすのは Complete モードのみです。
- A: "All" は ARM の有効な Mode 値ではない。有効な値は Incremental と Complete のみ。
- C: Incremental モードは既存リソースを削除せず、テンプレート内のリソースを追加/更新するだけなので要件を満たさない。
注記: Complete モードは意図しないリソース削除を引き起こすリスクがあるため、本番環境での使用には慎重さが必要です。
元問題形式: HOTSPOT (ドロップダウン問題) の 2/2。
Azure サブスクリプションには次の表に示すリソース グループが含まれています。
| 名前 | ロケーション |
|---|---|
| RG1 | East US |
| RG2 | West US |
次の deploy.json という Azure Resource Manager (ARM) テンプレートを作成します。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2018-05-01",
"location": "eastus",
"name": "[concat('RG', copyIndex())]",
"copy": {
"name": "copy",
"count": 4
}
}
],
"outputs": {}
}次のコマンドレットを実行してテンプレートを展開します。
New-AzSubscriptionDeployment -Location westus -TemplateFile deploy.json
次のステートメントについて、正しければ「はい」、そうでなければ「いいえ」を選択してください。
ステートメント1: コマンドは 4 つの新しいリソース グループを East US に作成する。
正解:B
テンプレートでは copyIndex() を使って 4 つのリソース グループ (RG0, RG1, RG2, RG3) を作成しようとします。しかし、既に RG1 と RG2 が存在するため、展開は RG1, RG2 を上書き (実質的には更新) し、新規作成されるのは RG0 と RG3 の 2 つです。よって「4 つの新しいリソース グループ」ではありません。なお、location は「eastus」で固定されていますが、既存の RG1 (East US)、RG2 (West US) の location を変更することはできないため、上書きは失敗するケースも考えられます。
- A: 新規 RG は 2 つ (RG0 と RG3) のみ。
元問題形式: HOTSPOT (Yes/No × 3) の 1/3。
前問と同じ deploy.json とコマンドを参照してください。
ステートメント2: 展開では RG1 の location 設定が変更される。
正解:B
Azure では既存のリソース グループの location を変更することはできません。テンプレートで location を eastus と指定していても、既存の RG1 (East US) はもともと East US のため変更不要で、RG2 (West US) の location を変更しようとすると展開エラーになります。実務上はリソース グループの location プロパティは変更不可です。
- A: 既存 RG の location は変更できない。
元問題形式: HOTSPOT (Yes/No × 3) の 2/3。
前問と同じ deploy.json とコマンドを参照してください。
ステートメント3: この展開はサブスクリプション スコープで実行される。
正解:A
コマンド New-AzSubscriptionDeployment (New-AzDeployment の別名) はサブスクリプション スコープの展開を実行します。リソース グループ自体の作成はサブスクリプション レベルの操作のため、テンプレートのトップ レベルに Microsoft.Resources/resourceGroups を定義する場合はこのコマンドが必要です。
- B: New-AzSubscriptionDeployment はサブスクリプション スコープの展開で確実に正しい。
元問題形式: HOTSPOT (Yes/No × 3) の 3/3。
Azure AD テナント contoso.com があります。Azure サブスクリプションには Azure App Service Web アプリ App1 と Azure Key Vault KV1 があります。KV1 には contoso.com のワイルドカード証明書が含まれています。user1@contoso.com というユーザーが App1 および KV1 の Owner ロールに割り当てられています。App1 に KV1 のワイルドカード証明書を使用するように構成する必要があります。最初に何をすべきですか?
正解:A
App Service が Key Vault から証明書を取得するためには、Microsoft Azure App Service サービス プリンシパル に KV1 への Get 権限をアクセス ポリシーで付与する必要があります。これが App Service が Key Vault 証明書を使うための標準的な最初のステップです。
- B: マネージド ID の割り当ては代替案だが、本問では App Service プリンシパルの方法が一般的な「最初のステップ」として問われている。
- C: RBAC 認可は選択肢の一つだが、まずアクセス ポリシーの構成が先行の典型手順。
- D: User1 は既に Owner ロール持ちだが、アプリケーション自体 (App Service) が証明書にアクセスする権限は別途必要。
注記: 現代的にはマネージド ID + RBAC が推奨される構成ですが、本問の examtopics 定説解は A です。
Azure サブスクリプションがあります。次の表に示すリソースを展開する予定です。
| 名前 | タイプ |
|---|---|
| IP1 | Microsoft.Network/publicIPAddresses |
| NSG1 | Microsoft.Network/networkSecurityGroups |
| VNET1 | Microsoft.Network/virtualNetworks |
| NIC1 | Microsoft.Network/networkInterfaces |
| VM1 | Microsoft.Compute/virtualMachines |
これらのリソースを展開するために使用する単一の Azure Resource Manager (ARM) テンプレートを作成する必要があります。VM1 の dependsOn セクションに追加すべきリソースはどれですか?
正解:B
仮想マシン (VM1) はネットワーク インターフェイス (NIC1) に直接依存します。ARM テンプレートの dependsOn セクションでは、直接参照されるリソースのみを指定すれば十分です。NIC1 は VNET1 / IP1 / NSG1 に依存するため、VM1 の dependsOn は NIC1 のみでよく、間接的な依存は NIC1 の dependsOn を通じて解決されます。
- A: VNET1 は NIC1 が依存するリソースで、VM1 から直接指定する必要はない。
- C: IP1 (パブリック IP) は NIC1 にアタッチされるため、VM1 からは間接的依存。
- D: NSG1 は NIC1 またはサブネットにアタッチされるため、VM1 からは間接的依存。
Azure サブスクリプションがあります。次の Template.json という Azure Resource Manager (ARM) テンプレートを作成します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2022-12-01",
"location": "eastus",
"name": "Marketing"
}
],
"outputs": {}
}Template.json を展開する必要があります。Azure Cloud Shell からどの PowerShell コマンドレットを実行すべきですか?
正解:A
このテンプレートは最上位リソースとして Microsoft.Resources/resourceGroups (リソース グループ「Marketing」) を定義しているため、サブスクリプション スコープでの展開になります。サブスクリプション スコープの展開には New-AzSubscriptionDeployment (New-AzDeployment の別名) を使用します。
- B: New-AzManagementGroupDeployment は管理グループ スコープ用。
- C: New-AzResourceGroupDeployment は既存のリソース グループ内への展開用で、リソース グループ自体の作成はできない。
- D: New-AzTenantDeployment はテナント スコープ用。
