Azure認定資格 WEB問題集&徹底解説
AZ-104:Microsoft Azure Administrator
正解 B問題
分野3:Azure コンピューティングリソースのデプロイと管理
タスクステートメント3.1:ARM テンプレートまたは Bicep ファイルによるリソースデプロイの自動化
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、1 時間無料でお試しいただけます
問題文と選択肢
物流会社の六甲物流株式会社の Azure サブスクリプションには、次のリソースグループが既に存在します。
・RG-Sales: リージョン 日本西部 (Japan West)
・RG-HR: リージョン 日本東部 (Japan East)
情報システム部門は、新規プロジェクト用のリソースグループを一括作成するため、サブスクリプションスコープの ARM テンプレート deploy.json を次のとおり作成しました。
「このテンプレートは、proj-inv-0 という名前のリソースグループを日本西部 (Japan West) リージョンに作成する」
・RG-Sales: リージョン 日本西部 (Japan West)
・RG-HR: リージョン 日本東部 (Japan East)
情報システム部門は、新規プロジェクト用のリソースグループを一括作成するため、サブスクリプションスコープの ARM テンプレート deploy.json を次のとおり作成しました。
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2021-04-01",
"location": "japaneast",
"name": "[concat('proj-inv-', copyIndex())]",
"copy": { "name": "rgCopy", "count": 3 }
}
],
"outputs": {}
}
このテンプレートは、次の PowerShell コマンドでデプロイします。New-AzSubscriptionDeployment -Location japanwest -TemplateFile deploy.json次の記述は正しいですか。
「このテンプレートは、proj-inv-0 という名前のリソースグループを日本西部 (Japan West) リージョンに作成する」
- 正しい
- 誤り
解説
頻出度★★★★★
この問題は、サブスクリプションスコープのデプロイで指定する -Location はデプロイのメタデータの保存先であり、作成されるリソースグループの場所はテンプレート内の location プロパティで決まる、という切り分けができるかがポイントです。
A. 正しい
「正しい」を選ぶと、-Location japanwest がリソースグループの作成先を決めると解釈したことになります。
サブスクリプションスコープのデプロイで指定する -Location は、そのデプロイ自体のメタデータ(デプロイ履歴)を格納するリージョンにすぎません。テンプレートの resources には location プロパティとして japaneast が明示されている以上、作成されるリソースグループは日本東部になります。
名前が proj-inv-0 である点は正しいものの、リージョンの記述が誤っているため、記述全体としては成立しません。
正解
B. 誤り
copy の count が 3 で、copyIndex() は 0 から始まるため、作成されるリソースグループは proj-inv-0 / proj-inv-1 / proj-inv-2 の 3 つです。名前 proj-inv-0 自体は確かに作成されます。
しかし、それぞれの場所はテンプレートの location プロパティ(japaneast)に従い、日本東部 (Japan East) に作成されます。日本西部に作成されるという記述は誤りであり、この選択肢が正解です。
New-AzSubscriptionDeployment の -Location は必須パラメーターですが、これはサブスクリプションスコープのデプロイ リソース(デプロイ履歴)をどのリージョンに保存するかを指定するものです。
これだけ覚える(記憶フック)
RG の場所はテンプレートの location。-Location はデプロイ履歴の置き場所であって、リソースの場所ではない。
RG の場所はテンプレートの location。-Location はデプロイ履歴の置き場所であって、リソースの場所ではない。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| New-AzSubscriptionDeployment -Location japanwest | サブスクリプションスコープのデプロイのメタデータを保存するリージョン。作成されるリソースの場所とは無関係 →選択肢(A)を消す |
| テンプレートの resources にある location プロパティ(値は japaneast) | リソースグループの場所はこの location プロパティで決まる。したがって作成先は日本東部 →選択肢(B)が正解 |
| name が [concat('proj-inv-', copyIndex())] で copy.count が 3 | copyIndex() は 0 起点なので proj-inv-0 / 1 / 2 が作成される。名前の部分は記述どおり →選択肢(B)が正解(名前は合っているが場所が違う) |
| 既存の RG-Sales(日本西部)・RG-HR(日本東部) | 新規作成されるリソースグループの場所には一切影響しないノイズ情報 →選択肢(A)を消す |
ひっかけポイント
- -Location japanwest がコマンドラインの最後に置かれているため「デプロイ先リージョン」と読みたくなりますが、サブスクリプションスコープのデプロイではデプロイ リソースの保存先を指すだけです
- 記述の前半(proj-inv-0 という名前)は正しいのが罠。Yes/No 形式では一部でも誤りがあれば全体として「誤り」になります。名前が正しいことに安心して「正しい」を選ばないようにします
- copyIndex() を 1 起点と誤解すると proj-inv-1〜3 が作られると考え、名前の側が誤りだと判断してしまいます(結論は同じ「誤り」でも理由が違うため、類題で外します)
- リソースグループの場所と、その中に作るリソースの場所は独立です。日本東部のリソースグループに日本西部の仮想マシンを置くこともできます
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「テンプレートの location を japanwest に変更したら」 | リソースグループは日本西部に作成されるため、記述は正しいになる。 |
| 「resources から location を省略したら」 | リソースグループ リソースでは location が必須のため、デプロイが検証エラーで失敗する。 |
| 「作成されたリソースグループの中に仮想マシンを作る」 | VM の場所は VM 側の location で決まる。リソースグループの場所とは一致しなくてよい。 |
| 「リソースグループではなくポリシーの割り当てをデプロイする」 | 場所を持たないリソースもあるが、サブスクリプションスコープのデプロイでは -Location 指定自体は必須のまま。 |
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.17 解説
物流会社の六甲物流株式会社の Azure サブスクリプションには、次のリソースグループが既に存在します。
・RG-Sales: リージョン 日本西部 (Japan West)
・RG-HR: リージョン 日本東部 (Japan East)
情報システム部門は、新規プロジェクト用のリソースグループを一括作成するため、サブスクリプションスコープの ARM テンプレート deploy.json を次のとおり作成しました。
「このテンプレートは、proj-inv-0 という名前のリソースグループを日本西部 (Japan West) リージョンに作成する」
・RG-Sales: リージョン 日本西部 (Japan West)
・RG-HR: リージョン 日本東部 (Japan East)
情報システム部門は、新規プロジェクト用のリソースグループを一括作成するため、サブスクリプションスコープの ARM テンプレート deploy.json を次のとおり作成しました。
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2021-04-01",
"location": "japaneast",
"name": "[concat('proj-inv-', copyIndex())]",
"copy": { "name": "rgCopy", "count": 3 }
}
],
"outputs": {}
}
このテンプレートは、次の PowerShell コマンドでデプロイします。New-AzSubscriptionDeployment -Location japanwest -TemplateFile deploy.json次の記述は正しいですか。
「このテンプレートは、proj-inv-0 という名前のリソースグループを日本西部 (Japan West) リージョンに作成する」
- 正しい
- 誤り
次の問題前の問題
広告
会員機能
お役立ち情報
姉妹サイト
AWS
- CLF:クラウドプラクティショナー
- SAA:ソリューションアーキテクト-アソシエイト
- AIF:AIプラクティショナー
- SOA:CloudOpsエンジニア-アソシエイト
- DVA:デベロッパー-アソシエイト
- DEA:データエンジニア-アソシエイト
- MLA:機械学習エンジニア-アソシエイト
- SAP:ソリューションアーキテクト-プロフェッショナル
- DOP:DevOpsエンジニア-プロフェッショナル
- AIP:生成AIデベロッパー-プロフェッショナル
- SCS:セキュリティ-専門知識
Microsoft Azure
- AZ-900:Microsoft Azure Fundamentals
- AZ-104:Microsoft Azure Administrator
- AI-901:Microsoft Azure AI Fundamentals
- DP-900:Microsoft Azure Data Fundamentals