Spaces:
Running
Running
| [ | |
| { | |
| "id": "azure-q28", | |
| "lesson_id": "azure-subscription", | |
| "question_type": "multiple_choice", | |
| "question": "Azure์์ ๊ณผ๊ธ๊ณผ ๋ฆฌ์์ค ๋ฐฐํฌ์ ์ฃผ์ ๊ฒฝ๊ณ ๋จ์๋?", | |
| "options": [ | |
| "Subscription", | |
| "Resource Group", | |
| "Management Group", | |
| "Tenant" | |
| ], | |
| "answer": "Subscription", | |
| "explanation": "Subscription์ Azure ๊ณผ๊ธ, ๋ฆฌ์์ค ํ ๋น๋, RBAC/Policy ์ ์ฉ์ ์ฃผ์ ๊ฒฝ๊ณ์ ๋๋ค. Resource Group์ Subscription ์๋, Management Group์ ์ฌ๋ฌ Subscription์ ๋ฌถ๋ ์์ ๊ณ์ธต์ ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q29", | |
| "lesson_id": "azure-tags", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Tags์ ์ฃผ๋ ์ฉ๋๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "๋ฆฌ์์ค์ key/value ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ ๋น์ฉ๊ณผ ์์ ์๋ฅผ ๋ถ๋ฅํ๋ค", | |
| "๋ฆฌ์์ค ์ ๊ทผ ๊ถํ์ ์ง์ ์ ์ดํ๋ค", | |
| "VM ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์ฌ์์ํ๋ค", | |
| "NSG ์ธ๋ฐ์ด๋ ๊ท์น์ ์ ์ํ๋ค" | |
| ], | |
| "answer": "๋ฆฌ์์ค์ key/value ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ ๋น์ฉ๊ณผ ์์ ์๋ฅผ ๋ถ๋ฅํ๋ค", | |
| "explanation": "Tags๋ ๋น์ฉ ๋ถ์, ์์ ์ ์๋ณ, ํ๊ฒฝ ๊ตฌ๋ถ์ ์ํ ๋ฉํ๋ฐ์ดํฐ์ ๋๋ค. ๋ฆฌ์์ค ์ ๊ทผ ๊ถํ ์ ์ด๋ RBAC๊ฐ ๋ด๋นํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q30", | |
| "lesson_id": "azure-custom-role", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Custom Role์ `AssignableScopes`๋ฅผ ์๋ชป ์ค์ ํ๋ฉด ์๊ธฐ๋ ๋ฌธ์ ๋?", | |
| "options": [ | |
| "ํ์ํ ๋ฒ์์ ์ญํ ์ ํ ๋นํ ์ ์๊ฒ ๋๋ค", | |
| "์ญํ ์ ์ ์๋ actions์ด ๋ชจ๋ ๋ฌด์๋๋ค", | |
| "VM์ด ์๋์ผ๋ก ์ค์ง๋๋ค", | |
| "Blob ์ ๊ทผ์ด ์ฐจ๋จ๋๋ค" | |
| ], | |
| "answer": "ํ์ํ ๋ฒ์์ ์ญํ ์ ํ ๋นํ ์ ์๊ฒ ๋๋ค", | |
| "explanation": "`AssignableScopes`๋ ์ด ์ญํ ์ ํ ๋นํ ์ ์๋ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค. ๋๋ฌด ์ข๊ฒ ์ค์ ํ๋ฉด ํ์ํ subscription์ด๋ resource group์ ํ ๋นํ ์ ์์ต๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-rbac-overview" | |
| }, | |
| { | |
| "id": "azure-q31", | |
| "lesson_id": "azure-lifecycle", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Storage Lifecycle ๊ด๋ฆฌ์ ์ฃผ๋ ๋ชฉ์ ์?", | |
| "options": [ | |
| "Blob ์ ๊ทผ ๋น๋์ ๋ฐ๋ผ ์๋์ผ๋ก tier๋ฅผ ์ด๋ํ๊ฑฐ๋ ์ญ์ ํด ๋น์ฉ์ ์ต์ ํํ๋ค", | |
| "VM์ ์๋์ผ๋ก ๋ฐฑ์ ํ๋ค", | |
| "NSG ๊ท์น์ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ํ๋ค", | |
| "DNS ๋ ์ฝ๋๋ฅผ ์๋ ์ ๋ฐ์ดํธํ๋ค" | |
| ], | |
| "answer": "Blob ์ ๊ทผ ๋น๋์ ๋ฐ๋ผ ์๋์ผ๋ก tier๋ฅผ ์ด๋ํ๊ฑฐ๋ ์ญ์ ํด ๋น์ฉ์ ์ต์ ํํ๋ค", | |
| "explanation": "Lifecycle ์ ์ฑ ์ ๋ง์ง๋ง ์์ ยท์ ๊ทผ ์ดํ ๊ฒฝ๊ณผ ์ผ์๋ฅผ ๊ธฐ์ค์ผ๋ก Blob์ ์๋์ผ๋ก Cool/Archive๋ก ์ด๋ํ๊ฑฐ๋ ์ญ์ ํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-blob-access-tiers" | |
| }, | |
| { | |
| "id": "azure-q32", | |
| "lesson_id": "azure-files", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Files์ Blob Storage์ ์ฃผ์ ์ฐจ์ด๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "Azure Files๋ SMB/NFS ํ์ผ ๊ณต์ , Blob์ REST API ๊ธฐ๋ฐ ๊ฐ์ฒด ์ ์ฅ์ด๋ค", | |
| "๋ ์๋น์ค๋ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ง์ดํธ๋๋ค", | |
| "Blob์ด ํ์ผ ๊ณต์ ์ ์ ํฉํ๊ณ Azure Files๊ฐ ๊ฐ์ฒด ์ ์ฅ์ ์ ํฉํ๋ค", | |
| "Azure Files๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค๋ค" | |
| ], | |
| "answer": "Azure Files๋ SMB/NFS ํ์ผ ๊ณต์ , Blob์ REST API ๊ธฐ๋ฐ ๊ฐ์ฒด ์ ์ฅ์ด๋ค", | |
| "explanation": "Azure Files๋ ๋คํธ์ํฌ ๋๋ผ์ด๋ธ์ฒ๋ผ ๋ง์ดํธํด ์ฌ์ฉํ๊ณ , Blob Storage๋ REST API๋ก ๋น์ ํ ๋ฐ์ดํฐ(์ด๋ฏธ์ง, ๋ก๊ทธ, ๋ฐฑ์ )๋ฅผ ์ ์ฅํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-storage-account" | |
| }, | |
| { | |
| "id": "azure-q33", | |
| "lesson_id": "azure-managed-disk", | |
| "question_type": "multiple_choice", | |
| "question": "Azure VM์์ ์ฌ์์ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง ์ ์๋ ๋์คํฌ ์ ํ์?", | |
| "options": [ | |
| "Temporary disk", | |
| "OS disk", | |
| "Premium SSD data disk", | |
| "Ultra disk" | |
| ], | |
| "answer": "Temporary disk", | |
| "explanation": "์์ ๋์คํฌ(temporary disk)๋ VM ์ฌ์์ ์ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋์ง ์์ต๋๋ค. OS disk์ data disk๋ ์๊ตฌ ์ ์ฅ์๋ก ์ฌ์์์๋ ๋ฐ์ดํฐ๊ฐ ๋ณด์กด๋ฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q34", | |
| "lesson_id": "azure-autoscale", | |
| "question_type": "multiple_choice", | |
| "question": "Autoscale์ด ์ฐ๊ฒฐ๋์ด ์ธ์คํด์ค ์๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ ์ ์๋ ๋ฆฌ์์ค๋?", | |
| "options": [ | |
| "Virtual Machine Scale Sets (VMSS)", | |
| "Recovery Services Vault", | |
| "Private DNS Zone", | |
| "Activity Log" | |
| ], | |
| "answer": "Virtual Machine Scale Sets (VMSS)", | |
| "explanation": "Autoscale์ VMSS๋ App Service Plan ๊ฐ์ ํ์ฅ ๊ฐ๋ฅํ ๋ฆฌ์์ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค. CPU/๋ฉ๋ชจ๋ฆฌ ๋ฉํธ๋ฆญ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ธ์คํด์ค ์๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๊ฑฐ๋ ์ค์ ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vmss-overview" | |
| }, | |
| { | |
| "id": "azure-q35", | |
| "lesson_id": "azure-route-table", | |
| "question_type": "multiple_choice", | |
| "question": "UDR(User Defined Route, ์ฌ์ฉ์ ์ ์ ๊ฒฝ๋ก)์ ์ฃผ๋ ์ญํ ์?", | |
| "options": [ | |
| "Subnet ํธ๋ํฝ์ next hop์ ๊ธฐ๋ณธ Azure ๋ผ์ฐํ ๋์ NVA๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์ ์ดํ๋ค", | |
| "VM์ ํฌ๊ธฐ๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ๋ค", | |
| "Blob ๋ฐ์ดํฐ๋ฅผ ์ง์ญ ๊ฐ ๋ณต์ ํ๋ค", | |
| "DNS ์ด๋ฆ์ IP๋ก ํด์ํ๋ค" | |
| ], | |
| "answer": "Subnet ํธ๋ํฝ์ next hop์ ๊ธฐ๋ณธ Azure ๋ผ์ฐํ ๋์ NVA๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์ ์ดํ๋ค", | |
| "explanation": "UDR์ ๊ธฐ๋ณธ Azure ๋ผ์ฐํ ์ ์ฌ์ ์ํด ๋ฐฉํ๋ฒฝ(NVA)์ด๋ ํน์ ์ฅ์น๋ฅผ ํตํด ํธ๋ํฝ์ ๋ณด๋ผ ๋ ์ฌ์ฉํฉ๋๋ค. NSG์ ์ญํ ์ด ๋ค๋ฆ ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q36", | |
| "lesson_id": "azure-private-endpoint", | |
| "question_type": "multiple_choice", | |
| "question": "Private Endpoint ์ฐ๊ฒฐ ๋ฌธ์ ์์ DNS๋ฅผ ํจ๊ป ํ์ธํด์ผ ํ๋ ์ด์ ๋?", | |
| "options": [ | |
| "Private Endpoint๊ฐ private IP๋ฅผ ์ฐ๋ฏ๋ก DNS๊ฐ ์ฌ๋ฐ๋ฅธ IP๋ก ํด์ํด์ผ ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์ด๋ค", | |
| "DNS๊ฐ Blob ์ ๊ทผ tier๋ฅผ ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค", | |
| "DNS๊ฐ NSG ๊ท์น์ ์ ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค", | |
| "DNS๊ฐ VM ํฌ๊ธฐ๋ฅผ ์ ์ดํ๊ธฐ ๋๋ฌธ์ด๋ค" | |
| ], | |
| "answer": "Private Endpoint๊ฐ private IP๋ฅผ ์ฐ๋ฏ๋ก DNS๊ฐ ์ฌ๋ฐ๋ฅธ IP๋ก ํด์ํด์ผ ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์ด๋ค", | |
| "explanation": "Private Endpoint๋ VNet ๋ด๋ถ private IP๋ฅผ ์ฌ์ฉํฉ๋๋ค. DNS๊ฐ ํด๋น ์๋น์ค๋ฅผ public IP ๋์ ์ฌ๋ฐ๋ฅธ private IP๋ก ํด์ํ์ง ๋ชปํ๋ฉด ์ฐ๊ฒฐ์ด ์คํจํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-private-endpoint" | |
| }, | |
| { | |
| "id": "azure-q37", | |
| "lesson_id": "azure-monitor-metrics", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Monitor Metrics์ Logs์ ์ฐจ์ด๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "Metrics๋ ์์นํ ์๊ณ์ด ๋ฐ์ดํฐ, Logs๋ KQL๋ก ์กฐํํ๋ ๊ตฌ์กฐํ ๋ก๊ทธ ๋ฐ์ดํฐ๋ค", | |
| "๋ ์๋น์ค ๋ชจ๋ KQL๋ก๋ง ์กฐํํ๋ค", | |
| "Metrics๋ ํ ์คํธ ๋ก๊ทธ, Logs๋ ์ซ์ ๊ฐ๋ง ์ ์ฅํ๋ค", | |
| "Metrics๋ ๋ฐฑ์ , Logs๋ ๋ณต๊ตฌ์ ์ฌ์ฉํ๋ค" | |
| ], | |
| "answer": "Metrics๋ ์์นํ ์๊ณ์ด ๋ฐ์ดํฐ, Logs๋ KQL๋ก ์กฐํํ๋ ๊ตฌ์กฐํ ๋ก๊ทธ ๋ฐ์ดํฐ๋ค", | |
| "explanation": "Metrics๋ CPU%, ๋คํธ์ํฌ ๋ฐ์ดํธ์ฒ๋ผ ์ซ์ ๊ธฐ๋ฐ ์๊ณ์ด ๋ฐ์ดํฐ์ด๊ณ , Logs๋ Log Analytics workspace์์ KQL๋ก ์กฐํํ๋ ๊ตฌ์กฐํ๋ ๋ก๊ทธ ๋ฐ์ดํฐ์ ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-monitor-overview" | |
| }, | |
| { | |
| "id": "azure-q38", | |
| "lesson_id": "azure-activity-log", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Activity Log์์ ํ์ธํ๊ธฐ ๊ฐ์ฅ ์ ํฉํ ์ ๋ณด๋?", | |
| "options": [ | |
| "๋๊ฐ ์ด๋ค ๋ฆฌ์์ค๋ฅผ ์ธ์ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๋์ง ๊ด๋ฆฌ ์ด๋ฒคํธ", | |
| "VM ๋ด๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์ค๋ฅ ์คํ ํธ๋ ์ด์ค", | |
| "Blob ๋ฐ์ดํฐ ์ ๊ทผ ๋ด์ญ", | |
| "๋คํธ์ํฌ ํจํท์ ํ์ด๋ก๋" | |
| ], | |
| "answer": "๋๊ฐ ์ด๋ค ๋ฆฌ์์ค๋ฅผ ์ธ์ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๋์ง ๊ด๋ฆฌ ์ด๋ฒคํธ", | |
| "explanation": "Activity Log๋ subscription ์์ค์ ๊ด๋ฆฌ ์์ (๋๊ฐ ๋ฌด์์ ์ธ์ ํ๋์ง)์ ๊ธฐ๋กํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ ์ค๋ฅ ๋ก๊ทธ๋ Diagnostic Settings๋ Application Insights์์ ๋ด ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-monitor-overview" | |
| }, | |
| { | |
| "id": "azure-q39", | |
| "lesson_id": "azure-restore", | |
| "question_type": "multiple_choice", | |
| "question": "Recovery Services Vault์์ ๋ณต๊ตฌ ๊ฐ๋ฅํ ์์ ์ ๊ฒฐ์ ํ๋ ๊ฒ์?", | |
| "options": [ | |
| "Backup Policy์ ๋ฐฑ์ ๋น๋์ ๋ณด์กด ๊ธฐ๊ฐ", | |
| "VM์ ํฌ๊ธฐ(size)", | |
| "NSG ๊ท์น ์", | |
| "VNet ์ฃผ์ ๊ณต๊ฐ" | |
| ], | |
| "answer": "Backup Policy์ ๋ฐฑ์ ๋น๋์ ๋ณด์กด ๊ธฐ๊ฐ", | |
| "explanation": "๋ณต๊ตฌ ์ง์ (recovery point)์ backup policy์์ ์ ์ํ ์ผ์ ๊ณผ ๋ณด์กด ๊ธฐ๊ฐ์ ๋ฐ๋ผ ์์ฑ๋ฉ๋๋ค. ๋ณด์กด ๊ธฐ๊ฐ์ด ์ง๋ ๋ณต๊ตฌ ์ง์ ์ ์๋ ์ญ์ ๋ฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-recovery-services-vault" | |
| }, | |
| { | |
| "id": "azure-q40", | |
| "lesson_id": "azure-app-service-plan", | |
| "question_type": "multiple_choice", | |
| "question": "App Service Plan์ด Web App๊ณผ์ ๊ด๊ณ์์ ์ ์ํ๋ ๊ฒ์?", | |
| "options": [ | |
| "Web App์ด ์ฌ์ฉํ ์ปดํจํ ๋ฆฌ์์ค์ ๊ฐ๊ฒฉ ํฐ์ด", | |
| "Web App์ ๋๋ฉ์ธ ์ด๋ฆ", | |
| "Web App์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง", | |
| "Web App์ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐฉ์" | |
| ], | |
| "answer": "Web App์ด ์ฌ์ฉํ ์ปดํจํ ๋ฆฌ์์ค์ ๊ฐ๊ฒฉ ํฐ์ด", | |
| "explanation": "App Service Plan์ CPU, ๋ฉ๋ชจ๋ฆฌ, ์ธ์คํด์ค ์, ๊ฐ๊ฒฉ ํฐ์ด๋ฅผ ์ ์ํฉ๋๋ค. ์ฌ๋ฌ Web App์ด ํ๋์ Plan์ ๊ณต์ ํ ์ ์์ผ๋ฉฐ, ์ค์ผ์ผ ์ค์ ์ Plan ์์ค์์ ํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q41", | |
| "lesson_id": "azure-container-registry", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Container Registry(ACR)์ ์ฃผ๋ ์ญํ ์?", | |
| "options": [ | |
| "์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ํ๋ผ์ด๋น ๋ ์ง์คํธ๋ฆฌ", | |
| "์ปจํ ์ด๋๋ฅผ ์ง์ ์คํํ๋ ์๋ฒ๋ฆฌ์ค ์๋น์ค", | |
| "VM์ ์ปจํ ์ด๋๋ก ๋ณํํ๋ ๋๊ตฌ", | |
| "Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์๋น์ค" | |
| ], | |
| "answer": "์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ํ๋ผ์ด๋น ๋ ์ง์คํธ๋ฆฌ", | |
| "explanation": "ACR์ Docker Hub ๊ฐ์ ์ด๋ฏธ์ง ์ ์ฅ์์ ๋๋ค. ์ด๋ฏธ์ง ์คํ์ ACI, AKS, App Service๊ฐ ๋ด๋นํ๊ณ ACR์ ์ด๋ฏธ์ง ์ ์ฅ/๋ฐฐํฌ์ ํนํ๋ฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q42", | |
| "lesson_id": "azure-cost-management", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Tags๊ฐ ๋น์ฉ ๊ด๋ฆฌ์์ ๋์์ ์ฃผ๋ ๋ฐฉ์์?", | |
| "options": [ | |
| "๋ฆฌ์์ค๋ฅผ ํ๊ฒฝยทํยทํ๋ก์ ํธ๋ณ๋ก ๋ถ๋ฅํด Cost Management์์ ํํฐ๋ง์ ์ฝ๊ฒ ํด์ค๋ค", | |
| "๋ถํ์ํ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ์ญ์ ํด ๋น์ฉ์ ์ค์ธ๋ค", | |
| "VM์ ์๋์ผ๋ก ์ค์ผ์ผ๋ค์ดํด ์ ์ฝํ๋ค", | |
| "Blob tier๋ฅผ ์๋์ผ๋ก ๋ฎ์ถฐ ์ ์ฝํ๋ค" | |
| ], | |
| "answer": "๋ฆฌ์์ค๋ฅผ ํ๊ฒฝยทํยทํ๋ก์ ํธ๋ณ๋ก ๋ถ๋ฅํด Cost Management์์ ํํฐ๋ง์ ์ฝ๊ฒ ํด์ค๋ค", | |
| "explanation": "Tags ์์ฒด๋ ๋น์ฉ์ ์ค์ด์ง ์์ง๋ง, Cost Management์์ tag๋ณ๋ก ํํฐ๋งํ๋ฉด ๋ถ์/ํ๋ก์ ํธ๋ณ ์ง์ถ์ ํ์ ํ ์ ์์ต๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q43", | |
| "lesson_id": "azure-app-service", | |
| "question_type": "multiple_choice", | |
| "question": "Azure App Service์ ํน์ง์ผ๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "VM์ ์ง์ ๊ด๋ฆฌํ์ง ์๊ณ ์น์ฑ๊ณผ API๋ฅผ ๋ฐฐํฌํ๋ PaaS ์๋น์ค", | |
| "OS์ ๋ฏธ๋ค์จ์ด๋ฅผ ์ง์ ๊ด๋ฆฌํ๋ IaaS ์๋น์ค", | |
| "์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ๋ ์ง์คํธ๋ฆฌ", | |
| "๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํ ์๋น์ค" | |
| ], | |
| "answer": "VM์ ์ง์ ๊ด๋ฆฌํ์ง ์๊ณ ์น์ฑ๊ณผ API๋ฅผ ๋ฐฐํฌํ๋ PaaS ์๋น์ค", | |
| "explanation": "App Service๋ ์ธํ๋ผ ๊ด๋ฆฌ ์์ด ์ฝ๋๋ฅผ ๋ฐฐํฌํ๋ PaaS์ ๋๋ค. OS ํจ์น, ์๋ฒ ๊ด๋ฆฌ๋ Azure๊ฐ ๋ด๋นํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-app-service-overview" | |
| }, | |
| { | |
| "id": "azure-q44", | |
| "lesson_id": "azure-aci", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Container Instances(ACI)๊ฐ AKS์ ๋น๊ตํด ๊ฐ์ง ์ฃผ์ ํน์ง์?", | |
| "options": [ | |
| "ํด๋ฌ์คํฐ ๊ด๋ฆฌ ์์ด ์ปจํ ์ด๋๋ฅผ ์ฆ์ ์คํํ ์ ์๋ ์๋ฒ๋ฆฌ์ค ๋ฐฉ์์ด๋ค", | |
| "๋๊ท๋ชจ ๋ง์ดํฌ๋ก์๋น์ค ์ค์ผ์คํธ๋ ์ด์ ์ ์ต์ ํ๋๋ค", | |
| "VM Scale Set๊ณผ ๋์ผํ ์๋น์ค๋ค", | |
| "์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ๋ ์ง์คํธ๋ฆฌ๋ค" | |
| ], | |
| "answer": "ํด๋ฌ์คํฐ ๊ด๋ฆฌ ์์ด ์ปจํ ์ด๋๋ฅผ ์ฆ์ ์คํํ ์ ์๋ ์๋ฒ๋ฆฌ์ค ๋ฐฉ์์ด๋ค", | |
| "explanation": "ACI๋ ํด๋ฌ์คํฐ ์ด์ ์์ด ๊ฐ๋จํ ์ปจํ ์ด๋๋ฅผ ๋น ๋ฅด๊ฒ ์คํํ๋ ์๋ฒ๋ฆฌ์ค ๋ฐฉ์์ ๋๋ค. ๋ณต์กํ ๋ง์ดํฌ๋ก์๋น์ค ์ค์ผ์คํธ๋ ์ด์ ์ AKS๊ฐ ์ ํฉํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-container-instances" | |
| }, | |
| { | |
| "id": "azure-q45", | |
| "lesson_id": "azure-keyvault-secret", | |
| "question_type": "multiple_choice", | |
| "question": "Key Vault Secret์ ์ฃผ๋ ์ฌ์ฉ ๋ชฉ์ ์?", | |
| "options": [ | |
| "DB password, API ํค ๊ฐ์ ๋ฏผ๊ฐํ ๊ฐ์ ์ฝ๋๋ ์ค์ ํ์ผ ๋์ ์์ ํ๊ฒ ์ ์ฅํ๋ค", | |
| "VM ๋์คํฌ๋ฅผ ์ํธํํ๋ค", | |
| "RBAC ์ญํ ์ ์๋ฅผ ์ ์ฅํ๋ค", | |
| "NSG ๋ณด์ ๊ท์น์ ์ ์ํ๋ค" | |
| ], | |
| "answer": "DB password, API ํค ๊ฐ์ ๋ฏผ๊ฐํ ๊ฐ์ ์ฝ๋๋ ์ค์ ํ์ผ ๋์ ์์ ํ๊ฒ ์ ์ฅํ๋ค", | |
| "explanation": "Key Vault Secret์ ๋น๋ฐ๊ฐ์ ์ฝ๋๋ Git์ ๋ฃ์ง ์๊ณ ์ค์์์ ์์ ํ๊ฒ ๊ด๋ฆฌํฉ๋๋ค. Managed Identity์ ๊ฒฐํฉํ๋ฉด ์ฝ๋์ ๋น๋ฐ๊ฐ์ด ์ ํ ์์ด๋ ๋ฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-key-vault-overview" | |
| }, | |
| { | |
| "id": "azure-q46", | |
| "lesson_id": "azure-network-watcher", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Network Watcher์ ์ฃผ๋ ์ญํ ์?", | |
| "options": [ | |
| "๋คํธ์ํฌ ์ฐ๊ฒฐ ์ง๋จ, ํ๋ฆ ๋ก๊ทธ, ํจํท ์บก์ฒ ๊ฐ์ ๋คํธ์ํฌ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค", | |
| "VM์ ์๋์ผ๋ก ์์ํ๊ณ ์ค์งํ๋ค", | |
| "Blob ์๋ช ์ฃผ๊ธฐ๋ฅผ ์๋ ๊ด๋ฆฌํ๋ค", | |
| "NSG ๊ท์น์ ์๋์ผ๋ก ์์ฑํ๋ค" | |
| ], | |
| "answer": "๋คํธ์ํฌ ์ฐ๊ฒฐ ์ง๋จ, ํ๋ฆ ๋ก๊ทธ, ํจํท ์บก์ฒ ๊ฐ์ ๋คํธ์ํฌ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค", | |
| "explanation": "Network Watcher๋ Connection troubleshoot, NSG flow log, IP flow verify, packet capture ๊ฐ์ ์ง๋จ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. NSG ๊ท์น๋ง์ผ๋ก ํ์ ํ๊ธฐ ์ด๋ ค์ด ์ค์ ํธ๋ํฝ ๊ฒฝ๋ก๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q47", | |
| "lesson_id": "azure-move-resource", | |
| "question_type": "multiple_choice", | |
| "question": "Azure ๋ฆฌ์์ค ์ด๋(Move)์์ ์ฃผ์ํด์ผ ํ ์ฌํญ์ผ๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "๋ชจ๋ ๋ฆฌ์์ค ์ ํ์ด ์ด๋์ ์ง์ํ์ง ์์ผ๋ฉฐ ์ข ์ ๋ฆฌ์์ค๋ ํจ๊ป ๊ณ ๋ คํด์ผ ํ๋ค", | |
| "์ด๋ ์ค์๋ ์๋น์ค๊ฐ ํญ์ ์ ์ ๋์ํ๋ค", | |
| "์ด๋ํ๋ฉด ์๋์ผ๋ก ์ subscription ๊ณผ๊ธ์ผ๋ก ์ ํ๋๋ค", | |
| "Resource Lock์ด ์์ด๋ ํญ์ ์ด๋ ๊ฐ๋ฅํ๋ค" | |
| ], | |
| "answer": "๋ชจ๋ ๋ฆฌ์์ค ์ ํ์ด ์ด๋์ ์ง์ํ์ง ์์ผ๋ฉฐ ์ข ์ ๋ฆฌ์์ค๋ ํจ๊ป ๊ณ ๋ คํด์ผ ํ๋ค", | |
| "explanation": "์ผ๋ถ ๋ฆฌ์์ค ์ ํ์ ์ด๋์ ์ง์ํ์ง ์์ต๋๋ค. NIC, ๋์คํฌ ๊ฐ์ ์ข ์ ๋ฆฌ์์ค๋ฅผ ํจ๊ป ์ด๋ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ, ์ด๋ ์ค์๋ ์ผ์์ ์ผ๋ก ์ ๊ธ ์ํ๊ฐ ๋ฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q48", | |
| "lesson_id": "azure-vmss", | |
| "question_type": "multiple_choice", | |
| "question": "VMSS์ Availability Set์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์?", | |
| "options": [ | |
| "VMSS๋ ๋ถํ์ ๋ฐ๋ผ VM ์๋ฅผ ์๋ ์กฐ์ ํ๋ค", | |
| "Availability Set์ SLA๊ฐ ๋ ๋๋ค", | |
| "VMSS๋ ๋จ์ผ VM๋ง ์ง์ํ๋ค", | |
| "Availability Set์ด ๋ ์ ๋ ดํ๋ค" | |
| ], | |
| "answer": "VMSS๋ ๋ถํ์ ๋ฐ๋ผ VM ์๋ฅผ ์๋ ์กฐ์ ํ๋ค", | |
| "explanation": "VMSS๋ Autoscale๋ก ์ธ์คํด์ค ์๋ฅผ ๋์ ์ผ๋ก ์กฐ์ ํฉ๋๋ค. Availability Set์ HA๋ฅผ ์ํ ๋ฐฐ์น ๊ตฌ์ฑ์ด๋ฉฐ ์๋ ํ์ฅ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.", | |
| "source_id": "azure-vmss-overview" | |
| }, | |
| { | |
| "id": "azure-q49", | |
| "lesson_id": "azure-dns", | |
| "question_type": "multiple_choice", | |
| "question": "Azure DNS์์ Public Zone ์์ฑ ํ ๋ฐ๋์ ํด์ผ ํ๋ ์ถ๊ฐ ์์ ์?", | |
| "options": [ | |
| "๋๋ฉ์ธ ๋ฑ๋ก ๊ธฐ๊ด์์ NS ๋ ์ฝ๋๋ฅผ Azure๋ก ์์", | |
| "VNet์ DNS Zone ๋งํฌ ์ฐ๊ฒฐ", | |
| "Private Endpoint ์์ฑ", | |
| "SSL ์ธ์ฆ์ ๋ฐ์ธ๋ฉ" | |
| ], | |
| "answer": "๋๋ฉ์ธ ๋ฑ๋ก ๊ธฐ๊ด์์ NS ๋ ์ฝ๋๋ฅผ Azure๋ก ์์", | |
| "explanation": "Azure DNS๋ ํธ์คํ ์๋น์ค์ด๋ฏ๋ก ๋๋ฉ์ธ ๋ฑ๋ก ๊ธฐ๊ด์์ Azure๊ฐ ์ ๊ณตํ NS ๋ ์ฝ๋ 4๊ฐ๋ฅผ ์ค์ ํด ์์ํด์ผ ์ค์ ๋ก ๋์ํฉ๋๋ค.", | |
| "source_id": "azure-dns-overview" | |
| }, | |
| { | |
| "id": "azure-q50", | |
| "lesson_id": "azure-recovery-vault", | |
| "question_type": "multiple_choice", | |
| "question": "Recovery Services Vault์ Soft Delete ๊ธฐ๋ฅ์ด ํ๋ ์ญํ ์?", | |
| "options": [ | |
| "์ญ์ ๋ ๋ฐฑ์ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ๊ธฐ๊ฐ ๋ณต์ ๊ฐ๋ฅํ๊ฒ ์ ์งํ๋ค", | |
| "VM์ ์๋์ผ๋ก ๋ฐฑ์ ํ๋ค", | |
| "๋ฐฑ์ ์ ์ฑ ์ ์๋ ์ ์ฉํ๋ค", | |
| "๋ค๋ฅธ ์ง์ญ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ๋ค" | |
| ], | |
| "answer": "์ญ์ ๋ ๋ฐฑ์ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ๊ธฐ๊ฐ ๋ณต์ ๊ฐ๋ฅํ๊ฒ ์ ์งํ๋ค", | |
| "explanation": "Soft Delete๋ ๋ฐฑ์ ํญ๋ชฉ ์ญ์ ํ ์ต๋ 14์ผ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธ ์ํ๋ก ์ ์งํด ์ค์๋ ๋์ฌ์จ์ด๋ก ์ธํ ์ญ์ ์์ ๋ณต์ํ ์ ์๊ฒ ํฉ๋๋ค.", | |
| "source_id": "azure-recovery-services-vault" | |
| }, | |
| { | |
| "id": "azure-q51", | |
| "lesson_id": "azure-rg", | |
| "question_type": "command", | |
| "question": "`Korea Central` ์ง์ญ์ `myRG` ๋ฆฌ์์ค ๊ทธ๋ฃน์ ์์ฑํ๋ Azure CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az group create --name myRG --location koreacentral", | |
| "explanation": "`az group create --name <์ด๋ฆ> --location <์ง์ญ>`. ์ง์ญ ์ด๋ฆ์ ๊ณต๋ฐฑ ์์ด ์๋ฌธ์๋ก ์๋๋ค (koreacentral, eastus ๋ฑ).", | |
| "difficulty": "easy", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q52", | |
| "lesson_id": "azure-storage", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Storage ๊ณ์ ์ ๊ธฐ๋ณธ ์ค๋ณต์ฑ SKU๋ก ๋์ผ ๋ฐ์ดํฐ์ผํฐ ๋ด 3๊ฐ ๋ณต์ ๋ณธ์ ์ ์งํ๋ ๊ฒ์?", | |
| "options": ["LRS", "ZRS", "GRS", "GZRS"], | |
| "answer": "LRS", | |
| "explanation": "LRS(Locally Redundant Storage)๋ ๋จ์ผ ๋ฐ์ดํฐ์ผํฐ ๋ด 3๊ฐ ๋ณต์ ๋ณธ์ผ๋ก ๊ฐ์ฅ ์ ๋ ดํ์ง๋ง ๋ฐ์ดํฐ์ผํฐ ์ ์ฒด ์ฅ์ ์ ์ทจ์ฝํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-storage-account" | |
| }, | |
| { | |
| "id": "azure-q53", | |
| "lesson_id": "azure-vnet", | |
| "question_type": "multiple_choice", | |
| "question": "Azure VNet์์ ์๋ธ๋ท๋ง๋ค ์์ฝ๋์ด ์ฌ์ฉํ ์ ์๋ IP ์ฃผ์ ์๋?", | |
| "options": ["5๊ฐ", "3๊ฐ", "2๊ฐ", "1๊ฐ"], | |
| "answer": "5๊ฐ", | |
| "explanation": "Azure๋ ์๋ธ๋ท๋ง๋ค ๋คํธ์ํฌ ์ฃผ์, ๊ฒ์ดํธ์จ์ด, DHCP 2๊ฐ, ๋ธ๋ก๋์บ์คํธ ๋ฑ 5๊ฐ IP๋ฅผ ์์ฝํฉ๋๋ค. /28 ์๋ธ๋ท์ด๋ฉด 16-5=11๊ฐ๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q54", | |
| "lesson_id": "azure-rbac", | |
| "question_type": "multiple_choice", | |
| "question": "Owner, Contributor, Reader ์ค ์ญํ ํ ๋น(RBAC ๋ถ์ฌ) ๊ถํ์ ๊ฐ์ง ๊ฒ์?", | |
| "options": ["Owner๋ง", "Owner์ Contributor", "์ธ ์ญํ ๋ชจ๋", "Reader๋ง"], | |
| "answer": "Owner๋ง", | |
| "explanation": "Owner๋ง ์ญํ ํ ๋น ๊ถํ์ ๊ฐ์ง๋๋ค. Contributor๋ ๋ฆฌ์์ค ์์ฑ/์์ /์ญ์ ๋ ๋์ง๋ง ๋ค๋ฅธ ์ฌ๋์๊ฒ ์ญํ ์ ์ค ์ ์๊ณ , Reader๋ ์กฐํ๋ง ๊ฐ๋ฅํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-rbac-overview" | |
| }, | |
| { | |
| "id": "azure-q55", | |
| "lesson_id": "azure-policy", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Policy effect ์ค ๊ท์ ์ ๋ง์ง ์๋ ๋ฆฌ์์ค ๋ฐฐํฌ ์์ฒด๋ฅผ ์ฐจ๋จํ๋ ๊ฒ์?", | |
| "options": ["Deny", "Audit", "Append", "Modify"], | |
| "answer": "Deny", | |
| "explanation": "Deny๋ ๋น์ค์ ๋ฆฌ์์ค ์์ฑ์ ๋ง์ต๋๋ค. Audit๋ ํ์ฉํ๋ ๋ก๊ทธ๋ง ๋จ๊ธฐ๊ณ , Append๋ ํ๋๋ฅผ ์ถ๊ฐํ๋ฉฐ, Modify๋ ํ๊ทธ ๊ฐ์ ์์ฑ์ ์์ ํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-policy-overview" | |
| }, | |
| { | |
| "id": "azure-q56", | |
| "lesson_id": "azure-vm", | |
| "question_type": "command", | |
| "question": "`myRG` ๋ฆฌ์์ค ๊ทธ๋ฃน์ Ubuntu 22.04 LTS ์ด๋ฏธ์ง๋ก `myVM`์ ์์ฑํ๋ ์ต์ํ์ Azure CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az vm create --resource-group myRG --name myVM --image Ubuntu2204", | |
| "explanation": "`az vm create --resource-group <RG> --name <์ด๋ฆ> --image <์ด๋ฏธ์ง>`. ์ด๋ฏธ์ง ์ด๋ฆ์ `az vm image list` ๋ก ํ์ธํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q57", | |
| "lesson_id": "azure-vmss", | |
| "question_type": "multiple_choice", | |
| "question": "VMSS์์ ์ธ์คํด์ค๋ฅผ ์ต์ 2๊ฐ ์ต๋ 10๊ฐ๋ก ์ ์งํ๊ณ CPU 75% ์ด๊ณผ ์ ๋๋ฆฌ๋ ๊ท์น์ ์ด๋์ ์ ์ํ๋๊ฐ?", | |
| "options": ["Autoscale ์ค์ ", "NSG ๊ท์น", "Backup Policy", "Alert Rule"], | |
| "answer": "Autoscale ์ค์ ", | |
| "explanation": "VMSS์ ์ธ์คํด์ค ์ ์๋ ์กฐ์ ์ Autoscale ์ค์ ์์ ๋ฉํธ๋ฆญ ์กฐ๊ฑด(CPU %), ์ต์/์ต๋ ์ธ์คํด์ค, ์ฆ๊ฐ ๋จ์๋ฅผ ์ ์ํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vmss-overview" | |
| }, | |
| { | |
| "id": "azure-q58", | |
| "lesson_id": "azure-nsg", | |
| "question_type": "command", | |
| "question": "NSG `myNSG`์ ์ฐ์ ์์ 200์ผ๋ก TCP 443 ์ธ๋ฐ์ด๋๋ฅผ ํ์ฉํ๋ ๊ท์น `allow-https`๋ฅผ ์ถ๊ฐํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az network nsg rule create --nsg-name myNSG --resource-group myRG --name allow-https --priority 200 --access Allow --protocol Tcp --destination-port-ranges 443", | |
| "explanation": "`az network nsg rule create`์ `--nsg-name`, `--priority`, `--access Allow`, `--protocol Tcp`, `--destination-port-ranges`๋ฅผ ์ง์ ํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q59", | |
| "lesson_id": "azure-app-gateway", | |
| "question_type": "multiple_choice", | |
| "question": "Application Gateway์ Azure Load Balancer์ ์ฃผ์ ์ฐจ์ด๋?", | |
| "options": [ | |
| "App Gateway๋ L7(HTTP/HTTPS) ๋ผ์ฐํ , Load Balancer๋ L4(TCP/UDP) ๋ถ์ฐ์ด๋ค", | |
| "๋ ์๋น์ค ๋ชจ๋ L4๋ง ์ง์ํ๋ค", | |
| "Load Balancer๊ฐ URL ๊ฒฝ๋ก ๊ธฐ๋ฐ ๋ผ์ฐํ ์ ์ง์ํ๋ค", | |
| "App Gateway๋ VM์ ์ง์ ๊ด๋ฆฌํ๋ค" | |
| ], | |
| "answer": "App Gateway๋ L7(HTTP/HTTPS) ๋ผ์ฐํ , Load Balancer๋ L4(TCP/UDP) ๋ถ์ฐ์ด๋ค", | |
| "explanation": "App Gateway๋ URL ๊ฒฝ๋ก, ํธ์คํธ ํค๋ ๊ธฐ๋ฐ L7 ๋ผ์ฐํ ๊ณผ WAF๋ฅผ ์ ๊ณตํฉ๋๋ค. Load Balancer๋ TCP/UDP ๋ ๋ฒจ L4 ๋ถ์ฐ์ผ๋ก ๋ ๋จ์ํ๊ณ ๋น ๋ฆ ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q60", | |
| "lesson_id": "azure-dns", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Private DNS Zone๊ณผ Public DNS Zone์ ์ฐจ์ด๋?", | |
| "options": [ | |
| "Private Zone์ VNet ๋ด๋ถ์์๋ง ํด์๋๊ณ , Public Zone์ ์ธํฐ๋ท์์ ์กฐํ๋๋ค", | |
| "Private Zone์ ๋ ๋น ๋ฅธ TTL์ ๊ฐ์ง๋ค", | |
| "Public Zone์ VNet์ ๋งํฌํด์ผ๋ง ๋์ํ๋ค", | |
| "๋ Zone ๋ชจ๋ ๋์ผํ๊ฒ ๋์ํ๋ค" | |
| ], | |
| "answer": "Private Zone์ VNet ๋ด๋ถ์์๋ง ํด์๋๊ณ , Public Zone์ ์ธํฐ๋ท์์ ์กฐํ๋๋ค", | |
| "explanation": "Private DNS Zone์ VNet ๋งํฌ๋ฅผ ํตํด ํด๋น VNet ๋ด๋ถ ๋ฆฌ์์ค์๋ง DNS ์ด๋ฆ์ ์ ๊ณตํฉ๋๋ค. Public Zone์ ์ธํฐ๋ท ์ ์ฒด์์ ์กฐํ ๊ฐ๋ฅํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-dns-overview" | |
| }, | |
| { | |
| "id": "azure-q61", | |
| "lesson_id": "azure-blob-tier", | |
| "question_type": "multiple_choice", | |
| "question": "Archive tier์ ์๋ Blob์ ์ฆ์ ์ ๊ทผํ๋ ค๋ฉด ๋จผ์ ํด์ผ ํ๋ ์์ ์?", | |
| "options": [ | |
| "rehydration(๋ฆฌํ์ด๋๋ ์ด์ )์ผ๋ก Hot ๋๋ Cool๋ก ์ด๋", | |
| "์คํ ๋ฆฌ์ง ๊ณ์ ์ ์ฌ์์ฑ", | |
| "Blob์ ์ญ์ ํ ๋ค์ ์ ๋ก๋", | |
| "SAS ํ ํฐ์ ์๋ก ๋ฐ๊ธ" | |
| ], | |
| "answer": "rehydration(๋ฆฌํ์ด๋๋ ์ด์ )์ผ๋ก Hot ๋๋ Cool๋ก ์ด๋", | |
| "explanation": "Archive tier์ Blob์ ์คํ๋ผ์ธ ์ํ๋ผ ์ง์ ์ฝ์ ์ ์์ต๋๋ค. Hot/Cool๋ก rehydration ํ ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ, ํ์ค ์ฐ์ ์์๋ก ์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-blob-access-tiers" | |
| }, | |
| { | |
| "id": "azure-q62", | |
| "lesson_id": "azure-log-analytics", | |
| "question_type": "multiple_choice", | |
| "question": "Log Analytics workspace์์ ์ฟผ๋ฆฌ ์ธ์ด๋ก ์ฌ์ฉํ๋ ๊ฒ์?", | |
| "options": ["KQL (Kusto Query Language)", "SQL", "Bash", "PowerShell"], | |
| "answer": "KQL (Kusto Query Language)", | |
| "explanation": "Azure Log Analytics๋ KQL(Kusto Query Language)๋ก ๋ก๊ทธ๋ฅผ ์กฐํํฉ๋๋ค. `| where`, `| summarize`, `| project` ๊ฐ์ ํ์ดํ๋ผ์ธ ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-monitor-overview" | |
| }, | |
| { | |
| "id": "azure-q63", | |
| "lesson_id": "azure-entra-id", | |
| "question_type": "multiple_choice", | |
| "question": "Microsoft Entra ID์ ์จํ๋ ๋ฏธ์ค Active Directory์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์?", | |
| "options": [ | |
| "Entra ID๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ID ์๋น์ค๋ก OAuth/OIDC๋ฅผ ์ง์, AD๋ Kerberos/LDAP ๊ธฐ๋ฐ์ด๋ค", | |
| "๋ ์๋น์ค ๋ชจ๋ Kerberos๋ง ์ฌ์ฉํ๋ค", | |
| "AD๋ ํด๋ผ์ฐ๋ ์ ์ฉ์ด๋ค", | |
| "Entra ID๋ ๊ทธ๋ฃน ์ ์ฑ ์ ์ง์ ์ ์ฉํ ์ ์๋ค" | |
| ], | |
| "answer": "Entra ID๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ID ์๋น์ค๋ก OAuth/OIDC๋ฅผ ์ง์, AD๋ Kerberos/LDAP ๊ธฐ๋ฐ์ด๋ค", | |
| "explanation": "Entra ID๋ SaaS/ํด๋ผ์ฐ๋ ์ฑ ์ธ์ฆ์ OAuth2, OIDC, SAML์ ์ฌ์ฉํฉ๋๋ค. ์จํ๋ ๋ฏธ์ค AD๋ Kerberos/LDAP ๊ธฐ๋ฐ์ผ๋ก ๋๋ฉ์ธ ์กฐ์ธ, ๊ทธ๋ฃน ์ ์ฑ ์ ์ง์ํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-entra-id-overview" | |
| }, | |
| { | |
| "id": "azure-q64", | |
| "lesson_id": "azure-management-group", | |
| "question_type": "multiple_choice", | |
| "question": "Management Group ๊ณ์ธต ๊ตฌ์กฐ์์ Policy์ RBAC ์์ ๋ฐฉํฅ์?", | |
| "options": [ | |
| "์์์์ ํ์๋ก ์์ (Management Group โ Subscription โ Resource Group โ Resource)", | |
| "ํ์์์ ์์๋ก ์์", | |
| "๋์ผ ๋ ๋ฒจ ๊ฐ์๋ง ์์", | |
| "์์ ์์ด ๊ฐ ๋ ๋ฒจ์ ๋ ๋ฆฝ ์ ์ฉ" | |
| ], | |
| "answer": "์์์์ ํ์๋ก ์์ (Management Group โ Subscription โ Resource Group โ Resource)", | |
| "explanation": "Policy์ RBAC๋ ๊ณ์ธต ์์์์ ํ์๋ก ์์๋ฉ๋๋ค. Management Group์ ์ ์ฑ ์ ์ ์ฉํ๋ฉด ํ์์ ๋ชจ๋ Subscription๊ณผ Resource Group์ ์ ์ฉ๋ฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-management-group-overview" | |
| }, | |
| { | |
| "id": "azure-q65", | |
| "lesson_id": "azure-resource-lock", | |
| "question_type": "multiple_choice", | |
| "question": "ReadOnly Lock์ด ๊ฑธ๋ฆฐ ๋ฆฌ์์ค์์ ํ ์ ์๋ ์์ ์?", | |
| "options": [ | |
| "์ค์ ์์ ๋ฐ ์ญ์ ๋ชจ๋ ๋ถ๊ฐ", | |
| "์ญ์ ๋ง ๋ถ๊ฐ, ์์ ์ ๊ฐ๋ฅ", | |
| "์ฝ๊ธฐ๋ง ๋ถ๊ฐ", | |
| "๋ฐฐํฌ๋ง ๋ถ๊ฐ" | |
| ], | |
| "answer": "์ค์ ์์ ๋ฐ ์ญ์ ๋ชจ๋ ๋ถ๊ฐ", | |
| "explanation": "ReadOnly Lock์ ์ฝ๊ธฐ๋ง ํ์ฉํ๊ณ ์์ ยท์ญ์ ๋ฅผ ๋ชจ๋ ์ฐจ๋จํฉ๋๋ค. CanNotDelete Lock์ ์์ ์ ํ์ฉํ์ง๋ง ์ญ์ ๋ง ์ฐจ๋จํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q66", | |
| "lesson_id": "azure-tags", | |
| "question_type": "command", | |
| "question": "`myVM` VM์ `env=prod` ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ Azure CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az resource tag --tags env=prod --resource-group myRG --name myVM --resource-type Microsoft.Compute/virtualMachines", | |
| "explanation": "`az resource tag --tags key=value`๋ก ๋ฆฌ์์ค์ ํ๊ทธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. `--resource-type`์ ์ ์ฒด provider ๊ฒฝ๋ก๋ฅผ ์จ์ผ ํฉ๋๋ค.", | |
| "difficulty": "hard", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q67", | |
| "lesson_id": "azure-custom-role", | |
| "question_type": "multiple_choice", | |
| "question": "Custom Role ์์ฑ ์ `NotActions`์ ์ญํ ์?", | |
| "options": [ | |
| "Actions์์ ํ์ฉ๋ ์์ ์ค ํน์ ์์ ์ ์ ์ธํ๋ค", | |
| "๋ชจ๋ ์์ ์ ์ฐจ๋จํ๋ค", | |
| "Actions์ ์๋ ์์ ์ ์ถ๊ฐํ๋ค", | |
| "์ญํ ์ ํ ๋นํ ์ ์๊ฒ ๋ง๋ ๋ค" | |
| ], | |
| "answer": "Actions์์ ํ์ฉ๋ ์์ ์ค ํน์ ์์ ์ ์ ์ธํ๋ค", | |
| "explanation": "NotActions๋ Actions ์์ผ๋์นด๋๋ก ํ์ฉ๋ ์์ ์์ ํน์ ์์ ์ ๋บ ๋ ์ฌ์ฉํฉ๋๋ค. ์: `Actions: [\"*\"]`, `NotActions: [\"Microsoft.Authorization/*/Delete\"]`.", | |
| "difficulty": "medium", | |
| "source_id": "azure-rbac-overview" | |
| }, | |
| { | |
| "id": "azure-q68", | |
| "lesson_id": "azure-sas", | |
| "question_type": "multiple_choice", | |
| "question": "SAS(Shared Access Signature) ํ ํฐ์์ ๋ฐ๋์ ์ง์ ํด์ผ ํ๋ ๋ณด์ ์์ 2๊ฐ์ง๋?", | |
| "options": [ | |
| "๋ง๋ฃ ์๊ฐ(se)๊ณผ ํ์ฉ ๊ถํ(sp)", | |
| "IP ์ฃผ์์ ์ปจํ ์ด๋ ์ด๋ฆ", | |
| "์คํ ๋ฆฌ์ง ๊ณ์ ์ด๋ฆ๊ณผ ๊ตฌ๋ ID", | |
| "๋ฆฌ์์ค ๊ทธ๋ฃน๊ณผ ์ง์ญ" | |
| ], | |
| "answer": "๋ง๋ฃ ์๊ฐ(se)๊ณผ ํ์ฉ ๊ถํ(sp)", | |
| "explanation": "SAS์์ `se`(signed expiry)๋ ์ ํจ ๊ธฐ๊ฐ, `sp`(signed permission)๋ r(read)/w(write)/d(delete) ๋ฑ ํ์ฉ ์์ ์ ์ ํํฉ๋๋ค. ์ ํจ ๊ธฐ๊ฐ ์์ด ๋ฐ๊ธํ๋ฉด ๋ณด์ ์ํ์ด ํฝ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-storage-account" | |
| }, | |
| { | |
| "id": "azure-q69", | |
| "lesson_id": "azure-storage-redundancy", | |
| "question_type": "multiple_choice", | |
| "question": "์ฌํด๋ณต๊ตฌ๋ฅผ ์ํด ์ง์ญ ๊ฐ ๋ณต์ ๊ฐ ํ์ํ ๋ ์ ํํด์ผ ํ๋ ์ค๋ณต์ฑ ์ต์ ์?", | |
| "options": ["GRS ๋๋ GZRS", "LRS", "ZRS", "Premium LRS"], | |
| "answer": "GRS ๋๋ GZRS", | |
| "explanation": "GRS(Geo-Redundant Storage)์ GZRS๋ ์๋ฐฑ km ๋จ์ด์ง ํ์ด ์ง์ญ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํด ์ง์ญ ์ ์ฒด ์ฌํด์ ๋๋นํฉ๋๋ค. LRS/ZRS๋ ๋จ์ผ ์ง์ญ ๋ด์์๋ง ๋ณต์ ํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-storage-account" | |
| }, | |
| { | |
| "id": "azure-q70", | |
| "lesson_id": "azure-lifecycle", | |
| "question_type": "multiple_choice", | |
| "question": "Lifecycle ์ ์ฑ ์์ ๋ง์ง๋ง ์์ ํ 30์ผ ๋ค Cool๋ก, 90์ผ ๋ค Archive๋ก ์ด๋ํ๋๋ก ์ค์ ํ๋ ๊ธฐ์ค ๊ฐ์?", | |
| "options": [ | |
| "daysAfterModificationGreaterThan", | |
| "daysAfterCreationGreaterThan", | |
| "daysAfterLastAccessTimeGreaterThan", | |
| "daysUntilExpiration" | |
| ], | |
| "answer": "daysAfterModificationGreaterThan", | |
| "explanation": "Lifecycle ์ ์ฑ ์ ์กฐ๊ฑด ํ๋ `daysAfterModificationGreaterThan: 30`๊ณผ `90`์ผ๋ก ๋จ๊ณ์ tier ์ด๋์ ์ค์ ํฉ๋๋ค. ์ ๊ทผ ์๊ฐ ๊ธฐ๋ฐ์ `daysAfterLastAccessTimeGreaterThan`์ ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-blob-access-tiers" | |
| }, | |
| { | |
| "id": "azure-q71", | |
| "lesson_id": "azure-files", | |
| "question_type": "command", | |
| "question": "`myshare` Azure ํ์ผ ๊ณต์ ๋ฅผ Linux์์ `/mnt/azfiles`์ ๋ง์ดํธํ๋ ํ๋กํ ์ฝ๊ณผ ๋ง์ดํธ ๋ช ๋ น์ด ์์ ๋ถ๋ถ์ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "mount -t cifs", | |
| "explanation": "Azure Files๋ SMB ํ๋กํ ์ฝ(CIFS)๋ก Linux์ ๋ง์ดํธํฉ๋๋ค: `mount -t cifs //<์คํ ๋ฆฌ์ง>.file.core.windows.net/<๊ณต์ ๋ช > /mnt/azfiles -o ...`", | |
| "difficulty": "medium", | |
| "source_id": "azure-storage-account" | |
| }, | |
| { | |
| "id": "azure-q72", | |
| "lesson_id": "azure-managed-disk", | |
| "question_type": "multiple_choice", | |
| "question": "VM์ ๋ฐ์ดํฐ ๋์คํฌ๋ฅผ ์ถ๊ฐํ ๋ Premium SSD์ Standard HDD์ ์ ํ ๊ธฐ์ค์ผ๋ก ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "I/O ์ง์ฝ์ DB ์ํฌ๋ก๋๋ Premium SSD, ๋ก๊ทธ ๋ฐฑ์ ๋ณด๊ด์ Standard HDD", | |
| "Standard HDD๊ฐ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ ๋น ๋ฅด๋ค", | |
| "Premium SSD๋ OS ๋์คํฌ์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค", | |
| "๋ฐ์ดํฐ ๋์คํฌ์๋ SSD๋ฅผ ์ฌ์ฉํ ์ ์๋ค" | |
| ], | |
| "answer": "I/O ์ง์ฝ์ DB ์ํฌ๋ก๋๋ Premium SSD, ๋ก๊ทธ ๋ฐฑ์ ๋ณด๊ด์ Standard HDD", | |
| "explanation": "Premium SSD๋ ๋ฎ์ ์ง์ฐ์๊ฐ๊ณผ ๋์ IOPS๋ก DB๋ ์น์๋ฒ ์คํ ๋ฆฌ์ง์ ์ ํฉํฉ๋๋ค. Standard HDD๋ ์ ๊ทผ ๋น๋๊ฐ ๋ฎ์ ๋ฐฑ์ , ์์นด์ด๋ธ์ ๋น์ฉ ํจ์จ์ ์ ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q73", | |
| "lesson_id": "azure-availability-set", | |
| "question_type": "multiple_choice", | |
| "question": "Availability Set์ Fault Domain๊ณผ Update Domain์ ์ฐจ์ด๋?", | |
| "options": [ | |
| "Fault Domain์ ์ ์/๋คํธ์ํฌ ๊ณต์ ๊ทธ๋ฃน, Update Domain์ OS ํจ์น ์์ ๊ทธ๋ฃน์ด๋ค", | |
| "๋ ๋๋ฉ์ธ ๋ชจ๋ ๋์ผํ ์ญํ ์ด๋ค", | |
| "Update Domain์ ์ง์ญ ๊ฐ ๋ถ์ฐ์ ์๋ฏธํ๋ค", | |
| "Fault Domain์ ์ํํธ์จ์ด ์ ๋ฐ์ดํธ ์์๋ฅผ ์ ์ดํ๋ค" | |
| ], | |
| "answer": "Fault Domain์ ์ ์/๋คํธ์ํฌ ๊ณต์ ๊ทธ๋ฃน, Update Domain์ OS ํจ์น ์์ ๊ทธ๋ฃน์ด๋ค", | |
| "explanation": "Fault Domain์ ๋ฌผ๋ฆฌ์ ์ ์๊ณผ ๋คํธ์ํฌ๋ฅผ ๊ณต์ ํ๋ ์๋ฒ ๋ ๊ทธ๋ฃน์ ๋๋ค. Update Domain์ OS ํจ์น ์ฌ์์ ์ ๋์์ ๋ด๋ ค๊ฐ์ง ์๋๋ก ๋ถ๋ฆฌํ ๋ ผ๋ฆฌ ๊ทธ๋ฃน์ ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q74", | |
| "lesson_id": "azure-autoscale", | |
| "question_type": "multiple_choice", | |
| "question": "Autoscale ๊ท์น์์ scale-in ์ ์ฃผ์ํด์ผ ํ๋ ์ค์ ์?", | |
| "options": [ | |
| "scale-in์ minimum ์ธ์คํด์ค ์ ์๋๋ก๋ ์ค์ด๋ค์ง ์๋๋ค", | |
| "scale-in์ maximum ์ธ์คํด์ค๊น์ง๋ง ์ค์ด๋ ๋ค", | |
| "scale-in๊ณผ scale-out์ด ๋์์ ํธ๋ฆฌ๊ฑฐ๋ ์ ์๋ค", | |
| "scale-in์ CPU 100%์ผ ๋๋ง ์๋ํ๋ค" | |
| ], | |
| "answer": "scale-in์ minimum ์ธ์คํด์ค ์ ์๋๋ก๋ ์ค์ด๋ค์ง ์๋๋ค", | |
| "explanation": "Autoscale์ minimum/maximum ์ธ์คํด์ค ์๋ฅผ ์ค์ ํฉ๋๋ค. scale-in ๊ท์น์ด ํธ๋ฆฌ๊ฑฐ๋ผ๋ minimum ์๋๋ก ์ค์ด๋ค์ง ์์ ํญ์ ์ต์ํ์ ์ฉ๋์ ๋ณด์ฅํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vmss-overview" | |
| }, | |
| { | |
| "id": "azure-q75", | |
| "lesson_id": "azure-vnet-peering", | |
| "question_type": "multiple_choice", | |
| "question": "VNet Peering์ด ๋น์ ์ด์ (non-transitive)์ด๋ผ๋ ์๋ฏธ๋?", | |
| "options": [ | |
| "AโB, BโC ํผ์ด๋ง์ด ์์ด๋ AโC๋ ์ง์ ํต์ ๋ถ๊ฐ", | |
| "ํผ์ด๋ง๋ VNet๋ผ๋ฆฌ๋ ํญ์ ๋ผ์ฐํ ์ด ์๋์ผ๋ก ๋๋ค", | |
| "ํผ์ด๋ง์ ๋์ผ ์ง์ญ์์๋ง ๊ฐ๋ฅํ๋ค", | |
| "A์์ B๋ฅผ ํตํด C๋ก ํธ๋ํฝ์ด ์๋ ์ ๋ฌ๋๋ค" | |
| ], | |
| "answer": "AโB, BโC ํผ์ด๋ง์ด ์์ด๋ AโC๋ ์ง์ ํต์ ๋ถ๊ฐ", | |
| "explanation": "VNet Peering์ ๋น์ ์ด์ ์ ๋๋ค. A-B, B-C๊ฐ ํผ์ด๋ง๋์ด๋ A-C ํธ๋ํฝ์ ์ฐจ๋จ๋ฉ๋๋ค. A-C ํต์ ์ด ํ์ํ๋ฉด ๋ณ๋์ A-C ํผ์ด๋ง์ ๋ง๋ค๊ฑฐ๋ Hub-Spoke + VPN Gateway๋ฅผ ์๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q76", | |
| "lesson_id": "azure-route-table", | |
| "question_type": "command", | |
| "question": "`myRouteTable`์ `myRG`์ ์์ฑํ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az network route-table create --name myRouteTable --resource-group myRG", | |
| "explanation": "`az network route-table create`๋ก Route Table์ ๋ง๋ค๊ณ , `az network route-table route create`๋ก ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ ๋ค ์๋ธ๋ท์ ์ฐ๊ฒฐํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q77", | |
| "lesson_id": "azure-private-endpoint", | |
| "question_type": "multiple_choice", | |
| "question": "Private Endpoint ์์ฑ ํ VNet ๋ด๋ถ์์ ์๋น์ค ์ด๋ฆ์ด public IP๋ก ํด์๋๋ค๋ฉด ์์ธ์ผ๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "Private DNS Zone์ด VNet์ ๋งํฌ๋์ง ์์๊ฑฐ๋ A ๋ ์ฝ๋๊ฐ ์๋ค", | |
| "NSG ๊ท์น์ด ์๋ชป๋๋ค", | |
| "Subnet ์ฃผ์ ๋ฒ์๊ฐ ๋ถ์กฑํ๋ค", | |
| "Private Endpoint๊ฐ ์น์ธ๋์ง ์์๋ค" | |
| ], | |
| "answer": "Private DNS Zone์ด VNet์ ๋งํฌ๋์ง ์์๊ฑฐ๋ A ๋ ์ฝ๋๊ฐ ์๋ค", | |
| "explanation": "Private Endpoint๋ private IP๊ฐ ์๊ธฐ์ง๋ง, DNS๊ฐ ์ฌ์ ํ public IP๋ฅผ ๋ฐํํ๋ฉด ์ฐ๊ฒฐ์ด ๊ณต๊ฐ ์ธํฐ๋ท์ ํตํ๊ฒ ๋ฉ๋๋ค. Private DNS Zone ๋งํฌ์ A ๋ ์ฝ๋๋ฅผ ๋ฐ๋์ ํ์ธํด์ผ ํฉ๋๋ค.", | |
| "difficulty": "hard", | |
| "source_id": "azure-private-endpoint" | |
| }, | |
| { | |
| "id": "azure-q78", | |
| "lesson_id": "azure-load-balancer-probe", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Load Balancer์ Health Probe ์คํจ ์ ์ด๋ค ๋์์ด ์ผ์ด๋๋๊ฐ?", | |
| "options": [ | |
| "ํด๋น ๋ฐฑ์๋ ์ธ์คํด์ค๋ก์ ํธ๋ํฝ ์ ๋ฌ์ ์ค๋จํ๋ค", | |
| "๋ฐฑ์๋ ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์ฌ์์ํ๋ค", | |
| "์ ์ฒด Load Balancer๋ฅผ ์ค์งํ๋ค", | |
| "์ ์ธ์คํด์ค๋ฅผ ์๋ ์ถ๊ฐํ๋ค" | |
| ], | |
| "answer": "ํด๋น ๋ฐฑ์๋ ์ธ์คํด์ค๋ก์ ํธ๋ํฝ ์ ๋ฌ์ ์ค๋จํ๋ค", | |
| "explanation": "Health Probe๊ฐ ์ค์ ๋ ํ์ ์ด์ ์คํจํ๋ฉด Load Balancer๋ ํด๋น ์ธ์คํด์ค๋ฅผ unhealthy๋ก ํ์ํ๊ณ ํธ๋ํฝ ์ ๋ฌ์์ ์ ์ธํฉ๋๋ค. ๋ค์ ์ฑ๊ณตํ๋ฉด ์๋ ๋ณต๊ทํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q79", | |
| "lesson_id": "azure-private-dns", | |
| "question_type": "multiple_choice", | |
| "question": "Private DNS Zone์ VNet์ `enableAutoRegistration: true`๋ก ์ฐ๊ฒฐํ๋ฉด?", | |
| "options": [ | |
| "ํด๋น VNet์ VM์ด ์์ฑ/์ญ์ ๋ ๋ A ๋ ์ฝ๋๊ฐ ์๋์ผ๋ก ๋ฑ๋ก/์ญ์ ๋๋ค", | |
| "DNS Zone์ด ์๋์ผ๋ก ๋ฐฑ์ ๋๋ค", | |
| "์ธ๋ถ ์ธํฐ๋ท์์๋ ์กฐํํ ์ ์๊ฒ ๋๋ค", | |
| "Private Endpoint๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ค" | |
| ], | |
| "answer": "ํด๋น VNet์ VM์ด ์์ฑ/์ญ์ ๋ ๋ A ๋ ์ฝ๋๊ฐ ์๋์ผ๋ก ๋ฑ๋ก/์ญ์ ๋๋ค", | |
| "explanation": "Auto-registration ๋งํฌ๋ VNet ๋ด VM์ ํ๋ผ์ด๋น IP๋ฅผ ํด๋น DNS Zone์ ์๋ ๋ฑ๋กํฉ๋๋ค. ์๋์ผ๋ก A ๋ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ ํ์๊ฐ ์์ด์ง๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-dns-overview" | |
| }, | |
| { | |
| "id": "azure-q80", | |
| "lesson_id": "azure-monitor-metrics", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Monitor์์ ํน์ ๋ฉํธ๋ฆญ์ด ์๊ณ๊ฐ์ ์ด๊ณผํ ๋ ์ด๋ฉ์ผ์ ๋ณด๋ด๋ ค๋ฉด ๋ฌด์์ด ํ์ํ๊ฐ?", | |
| "options": [ | |
| "Alert Rule + Action Group", | |
| "Diagnostic Settings๋ง", | |
| "Log Analytics Workspace๋ง", | |
| "NSG Flow Log" | |
| ], | |
| "answer": "Alert Rule + Action Group", | |
| "explanation": "Alert Rule์ ์กฐ๊ฑด(์๊ณ๊ฐ)์ ์ ์ํ๊ณ , Action Group์ ์ด๋ฉ์ผยทSMSยท์นํ ๋ฑ ์๋ฆผ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ๋ ๊ฐ์ง๊ฐ ์ฐ๊ฒฐ๋์ด์ผ ์ค์ ๋ก ์๋ฆผ์ด ๋ฐ์ก๋ฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-monitor-overview" | |
| }, | |
| { | |
| "id": "azure-q81", | |
| "lesson_id": "azure-activity-log", | |
| "question_type": "command", | |
| "question": "์ง๋ 24์๊ฐ ๋์ `myRG`์์ ๋ฐ์ํ Activity Log๋ฅผ CLI๋ก ์กฐํํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az monitor activity-log list --resource-group myRG --offset 24h", | |
| "explanation": "`az monitor activity-log list --resource-group <RG> --offset 24h` ๋ก ์ต๊ทผ 24์๊ฐ ํ๋ ๋ก๊ทธ๋ฅผ ์กฐํํฉ๋๋ค. `--offset`์ ํ์ฌ ์๊ฐ ๊ธฐ์ค ์ด์ ์๊ฐ์ ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-monitor-overview" | |
| }, | |
| { | |
| "id": "azure-q82", | |
| "lesson_id": "azure-alert", | |
| "question_type": "multiple_choice", | |
| "question": "Alert Rule์์ `Severity 0`๊ณผ `Severity 4`์ ์ฐจ์ด๋?", | |
| "options": [ | |
| "Severity 0์ด ๊ฐ์ฅ ์ฌ๊ฐ(Critical), Severity 4๋ ๊ฐ์ฅ ๋ฎ์(Verbose)", | |
| "Severity 4๊ฐ ๊ฐ์ฅ ์ฌ๊ฐํ๋ค", | |
| "๋ ๊ฐ์ ๋์ผํ๋ค", | |
| "Severity๋ ๊ฒฝ๋ณด ์กฐ๊ฑด ์๊ณ๊ฐ์ ์๋ฏธํ๋ค" | |
| ], | |
| "answer": "Severity 0์ด ๊ฐ์ฅ ์ฌ๊ฐ(Critical), Severity 4๋ ๊ฐ์ฅ ๋ฎ์(Verbose)", | |
| "explanation": "Azure Alert Severity๋ 0(Critical)๋ถํฐ 4(Verbose)๊น์ง 5๋จ๊ณ์ ๋๋ค. ์ฌ๊ฐ๋๊ฐ ๋ฎ์์๋ก ๋ ์ํํ ์ํฉ์ ์๋ฏธํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-monitor-overview" | |
| }, | |
| { | |
| "id": "azure-q83", | |
| "lesson_id": "azure-backup-policy", | |
| "question_type": "multiple_choice", | |
| "question": "VM Backup Policy์์ ์ค์ ํ๋ ํต์ฌ ๋ ๊ฐ์ง ์์๋?", | |
| "options": [ | |
| "๋ฐฑ์ ๋น๋(์ผ๋ณ/์ฃผ๋ณ)์ ๋ณด์กด ๊ธฐ๊ฐ", | |
| "๋ฐฑ์ ์์น์ VM ํฌ๊ธฐ", | |
| "NSG ๊ท์น๊ณผ subnet", | |
| "์ด๋ฉ์ผ ์๋ฆผ ์ฃผ์์ SKU" | |
| ], | |
| "answer": "๋ฐฑ์ ๋น๋(์ผ๋ณ/์ฃผ๋ณ)์ ๋ณด์กด ๊ธฐ๊ฐ", | |
| "explanation": "Backup Policy๋ ์ธ์ ๋ฐฑ์ ํ ์ง(๋น๋)์ ์ผ๋ง๋ ์ค๋ ๋ณด์กดํ ์ง(๋ณด์กด ๊ธฐ๊ฐ)๋ฅผ ์ ์ํฉ๋๋ค. ๋ณด์กด ๊ธฐ๊ฐ์ด ๊ธธ์๋ก ๋ ๋ง์ ๋ณต๊ตฌ ์ง์ ์ ์ ์งํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-recovery-services-vault" | |
| }, | |
| { | |
| "id": "azure-q84", | |
| "lesson_id": "azure-restore", | |
| "question_type": "multiple_choice", | |
| "question": "VM ๋ณต์ ์ '๊ธฐ์กด VM ๊ต์ฒด' ๋์ '์ VM์ผ๋ก ๋ณต์'์ ์ ํํ๋ ์ด์ ๋ก ๊ฐ์ฅ ๋ง๋ ๊ฒ์?", | |
| "options": [ | |
| "๊ธฐ์กด VM์ ๋ณด์กดํ๋ฉด์ ๋ณต์ ๊ฒฐ๊ณผ๋ฅผ ๋จผ์ ๊ฒ์ฆํ๊ธฐ ์ํด", | |
| "์ VM์ด ํญ์ ๋ ๋น ๋ฅด๊ธฐ ๋๋ฌธ", | |
| "๊ธฐ์กด VM ๊ต์ฒด๊ฐ ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ", | |
| "์ VM์ ๋น์ฉ์ด ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ" | |
| ], | |
| "answer": "๊ธฐ์กด VM์ ๋ณด์กดํ๋ฉด์ ๋ณต์ ๊ฒฐ๊ณผ๋ฅผ ๋จผ์ ๊ฒ์ฆํ๊ธฐ ์ํด", | |
| "explanation": "ํ๋ก๋์ VM์ ์ง์ ๋ณต์ํ๋ฉด ๋๋๋ฆด ์ ์์ต๋๋ค. ์ VM์ผ๋ก ๋ณต์ํด ๋ฐ์ดํฐ์ ์ฑ ์ ์ ๋์์ ํ์ธํ ๋ค DNS๋ IP๋ฅผ ์ ํํ๋ ๊ฒ์ด ์์ ํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-recovery-services-vault" | |
| }, | |
| { | |
| "id": "azure-q85", | |
| "lesson_id": "azure-app-service-plan", | |
| "question_type": "multiple_choice", | |
| "question": "App Service Plan์ Free ํฐ์ด์ Standard ํฐ์ด์ ๊ฐ์ฅ ํฐ ๊ธฐ๋ฅ ์ฐจ์ด๋?", | |
| "options": [ | |
| "Standard ์ด์์์๋ง Custom Domain, SSL, ๋ฐฐํฌ ์ฌ๋กฏ, ์๋ ํฌ๊ธฐ ์กฐ์ ์ด ๊ฐ๋ฅํ๋ค", | |
| "Free ํฐ์ด๊ฐ ๋ ๋น ๋ฅธ ์ฒ๋ฆฌ๋์ ์ ๊ณตํ๋ค", | |
| "Standard๋ Linux๋ง ์ง์ํ๋ค", | |
| "Free ํฐ์ด์์๋ง VNet ํตํฉ์ด ๊ฐ๋ฅํ๋ค" | |
| ], | |
| "answer": "Standard ์ด์์์๋ง Custom Domain, SSL, ๋ฐฐํฌ ์ฌ๋กฏ, ์๋ ํฌ๊ธฐ ์กฐ์ ์ด ๊ฐ๋ฅํ๋ค", | |
| "explanation": "Free/Shared ํฐ์ด๋ ๊ฐ๋ฐยทํ ์คํธ์ฉ์ ๋๋ค. Custom Domain ๋ฐ์ธ๋ฉ, SSL ์ธ์ฆ์, ๋ฐฐํฌ ์ฌ๋กฏ(Blue-Green), Autoscale์ Standard ์ด์์์ ์ง์ํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-app-service-overview" | |
| }, | |
| { | |
| "id": "azure-q86", | |
| "lesson_id": "azure-container-registry", | |
| "command": "command", | |
| "question_type": "command", | |
| "question": "ACR `myACR`์์ ์ด๋ฏธ์ง `myapp:v1`์ ๋น๋ํด ํธ์ํ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az acr build --registry myACR --image myapp:v1 .", | |
| "explanation": "`az acr build`๋ ๋ก์ปฌ Dockerfile์ ACR ๋น๋ ์์ด์ ํธ์ ๋ณด๋ด ๋น๋ ํ ์๋์ผ๋ก ๋ ์ง์คํธ๋ฆฌ์ ํธ์ํฉ๋๋ค. ๋ก์ปฌ์ Docker ์ค์น๊ฐ ํ์ ์์ต๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vm-overview" | |
| }, | |
| { | |
| "id": "azure-q87", | |
| "lesson_id": "azure-key-vault", | |
| "question_type": "multiple_choice", | |
| "question": "Key Vault์์ ๋น๋ฐ(Secret), ํค(Key), ์ธ์ฆ์(Certificate)์ ์ฐจ์ด๋?", | |
| "options": [ | |
| "Secret์ ํจ์ค์๋ ๊ฐ์ ์์ ๋ฌธ์์ด, Key๋ ์ํธํ์ฉ ํค ์์ฌ, Certificate๋ X.509 ์ธ์ฆ์๋ค", | |
| "์ธ ๊ฐ์ง ๋ชจ๋ ๋์ผํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ค", | |
| "Key๋ ํจ์ค์๋, Secret์ ์ํธํ ํค๋ค", | |
| "Certificate๋ ๋คํธ์ํฌ ๋ฐฉํ๋ฒฝ ๊ท์น์ด๋ค" | |
| ], | |
| "answer": "Secret์ ํจ์ค์๋ ๊ฐ์ ์์ ๋ฌธ์์ด, Key๋ ์ํธํ์ฉ ํค ์์ฌ, Certificate๋ X.509 ์ธ์ฆ์๋ค", | |
| "explanation": "Secret: DB ๋น๋ฐ๋ฒํธยทAPI ํค ๊ฐ์ ๋ฌธ์์ด. Key: HSM์์ ๋ณดํธ๋๋ ์ํธํ/์๋ช ์ฉ ํค ์์ฌ. Certificate: TLS ์ธ์ฆ์๋ก ์๋ ๊ฐฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-key-vault-overview" | |
| }, | |
| { | |
| "id": "azure-q88", | |
| "lesson_id": "azure-cost-management", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Cost Management์์ ์๋ณ ์์ฐ ์ด๊ณผ ์ ์๋์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์ข ๋ฃํ๋ ค๋ฉด?", | |
| "options": [ | |
| "์์ฐ ๊ฒฝ๋ณด(Budget Alert)๋ ์๋ฆผ๋ง ๋ณด๋ด๊ณ ์๋ ์ข ๋ฃ๋ Action Group + Automation์ผ๋ก ๋ณ๋ ๊ตฌ์ฑํด์ผ ํ๋ค", | |
| "์์ฐ ์ค์ ๋ง ํ๋ฉด ์๋์ผ๋ก ๋ฆฌ์์ค๊ฐ ์ข ๋ฃ๋๋ค", | |
| "Cost Management๊ฐ ์ง์ VM์ ์ค์งํ๋ค", | |
| "Policy๋ฅผ ํตํด ์๋ ์ข ๋ฃ๋๋ค" | |
| ], | |
| "answer": "์์ฐ ๊ฒฝ๋ณด(Budget Alert)๋ ์๋ฆผ๋ง ๋ณด๋ด๊ณ ์๋ ์ข ๋ฃ๋ Action Group + Automation์ผ๋ก ๋ณ๋ ๊ตฌ์ฑํด์ผ ํ๋ค", | |
| "explanation": "Budget Alert์ ์์ฐ ์๊ณ๊ฐ ๋๋ฌ ์ ์ด๋ฉ์ผ๋ง ๋ณด๋ ๋๋ค. ์ค์ ๋ฆฌ์์ค ์ข ๋ฃ๋ Automation Account์ Runbook์ Action Group์ ์ฐ๊ฒฐํด ํธ๋ฆฌ๊ฑฐํด์ผ ํฉ๋๋ค.", | |
| "difficulty": "hard", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q89", | |
| "lesson_id": "azure-bastion", | |
| "question_type": "multiple_choice", | |
| "question": "Azure Bastion์ ๋ฐฐํฌํ๊ธฐ ์ํด VNet์ ๋ฐ๋์ ์์ด์ผ ํ๋ ์๋ธ๋ท ์ด๋ฆ์?", | |
| "options": ["AzureBastionSubnet", "BastionSubnet", "GatewaySubnet", "PrivateEndpointSubnet"], | |
| "answer": "AzureBastionSubnet", | |
| "explanation": "Azure Bastion์ ์ ํํ `AzureBastionSubnet`์ด๋ผ๋ ์ด๋ฆ์ ์๋ธ๋ท์๋ง ๋ฐฐํฌ๋ฉ๋๋ค. ์ด๋ฆ์ด ๋ค๋ฅด๋ฉด ๋ฐฐํฌ์ ์คํจํฉ๋๋ค. ํฌ๊ธฐ๋ ์ต์ /27 ์ด์์ด์ด์ผ ํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q90", | |
| "lesson_id": "azure-nat-gateway", | |
| "question_type": "multiple_choice", | |
| "question": "NAT Gateway๋ฅผ ์ฌ์ฉํ๋ ์ฃผ๋ ์ด์ ๋?", | |
| "options": [ | |
| "VNet ๋ด Private VM์ ์์๋ฐ์ด๋ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ๊ณ ์ Public IP๋ฅผ ์ ๊ณตํ๋ค", | |
| "์ธ๋ฐ์ด๋ ํธ๋ํฝ์ VM์ผ๋ก ๋ถ์ฐํ๋ค", | |
| "VNet ๊ฐ ๋ผ์ฐํ ์ ๋ด๋นํ๋ค", | |
| "DNS ์ด๋ฆ์ ํด์ํ๋ค" | |
| ], | |
| "answer": "VNet ๋ด Private VM์ ์์๋ฐ์ด๋ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ๊ณ ์ Public IP๋ฅผ ์ ๊ณตํ๋ค", | |
| "explanation": "NAT Gateway๋ Public IP๊ฐ ์๋ VM์ ์์๋ฐ์ด๋ ํธ๋ํฝ์ ๊ณ ์ Public IP๋ก SNATํฉ๋๋ค. ๋ก๋๋ฐธ๋ฐ์์ SNAT ํฌํธ ์์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ๋ ์ฌ์ฉํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q91", | |
| "lesson_id": "azure-app-service", | |
| "question_type": "command", | |
| "question": "`myWebApp`์ GitHub Actions๋ก Node.js ์ฑ์ ๋ฐฐํฌํ๊ธฐ ์ํด ๊ฒ์ ํ๋กํ์ ๋ด๋ ค๋ฐ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az webapp deployment list-publishing-profiles --name myWebApp --resource-group myRG", | |
| "explanation": "`az webapp deployment list-publishing-profiles`๋ก ๊ฒ์ ํ๋กํ(FTP, WebDeploy, Git URL ๋ฑ)์ ๋ด๋ ค๋ฐ์ GitHub Actions ์ํฌ๋ฆฟ์ ๋ฑ๋กํฉ๋๋ค.", | |
| "difficulty": "hard", | |
| "source_id": "azure-app-service-overview" | |
| }, | |
| { | |
| "id": "azure-q92", | |
| "lesson_id": "azure-deployment-slot", | |
| "question_type": "multiple_choice", | |
| "question": "๋ฐฐํฌ ์ฌ๋กฏ swap ํ ์ด์ ๋ฒ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ๋กค๋ฐฑํ๋ ๋ฐฉ๋ฒ์?", | |
| "options": [ | |
| "๋ค์ swap์ ์คํํ๋ฉด production๊ณผ staging์ด ๊ต์ฒด๋์ด ๋กค๋ฐฑ๋๋ค", | |
| "git revert ํ ์ฌ๋ฐฐํฌํด์ผ ํ๋ค", | |
| "VM์ ์ฌ์์ํ๋ฉด ๋๋ค", | |
| "์ฌ๋กฏ์ ์ญ์ ํ๊ณ ์ฌ์์ฑํด์ผ ํ๋ค" | |
| ], | |
| "answer": "๋ค์ swap์ ์คํํ๋ฉด production๊ณผ staging์ด ๊ต์ฒด๋์ด ๋กค๋ฐฑ๋๋ค", | |
| "explanation": "Swap์ production๊ณผ staging์ ์ญํ ์ ๊ตํํฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ swap์ผ๋ก ์ฆ์ ์ด์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ ์ ์์ต๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-app-service-overview" | |
| }, | |
| { | |
| "id": "azure-q93", | |
| "lesson_id": "azure-aci", | |
| "question_type": "command", | |
| "question": "`myACR.azurecr.io/myapp:v1` ์ด๋ฏธ์ง๋ก `myContainer` ์ปจํ ์ด๋ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az container create --resource-group myRG --name myContainer --image myACR.azurecr.io/myapp:v1", | |
| "explanation": "`az container create --image <์ด๋ฏธ์ง>` ๋ก ACI๋ฅผ ์์ฑํฉ๋๋ค. ACR์ ํ๋ผ์ด๋น ์ด๋ฏธ์ง๋ `--registry-login-server`, `--registry-username`, `--registry-password` ์ต์ ์ด ํ์ํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-container-instances" | |
| }, | |
| { | |
| "id": "azure-q94", | |
| "lesson_id": "azure-keyvault-secret", | |
| "question_type": "command", | |
| "question": "`myKV` Key Vault์์ `db-password` ๋น๋ฐ์ ํ์ฌ ๊ฐ์ ์กฐํํ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az keyvault secret show --vault-name myKV --name db-password", | |
| "explanation": "`az keyvault secret show --vault-name <KV> --name <๋น๋ฐ์ด๋ฆ>` ์ผ๋ก ํ์ฌ ํ์ฑ ๋ฒ์ ์ ๋น๋ฐ ๊ฐ์ ์กฐํํฉ๋๋ค. ์ถ๋ ฅ์์ `value` ํ๋์ ์ค์ ๊ฐ์ด ์์ต๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-key-vault-overview" | |
| }, | |
| { | |
| "id": "azure-q95", | |
| "lesson_id": "azure-managed-identity", | |
| "question_type": "multiple_choice", | |
| "question": "System-assigned Managed Identity์ User-assigned Managed Identity์ ์ฐจ์ด๋?", | |
| "options": [ | |
| "System-assigned๋ ๋ฆฌ์์ค์ ์๋ช ์ด ๊ฐ๊ณ , User-assigned๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ง๋ค์ด ์ฌ๋ฌ ๋ฆฌ์์ค์ ๊ณต์ ๊ฐ๋ฅํ๋ค", | |
| "User-assigned๋ ์๋์ผ๋ก ๊ถํ์ด ๋ถ์ฌ๋๋ค", | |
| "System-assigned๋ ์ฌ๋ฌ VM์ ๊ณต์ ๊ฐ๋ฅํ๋ค", | |
| "๋ ํ์ ์ ๋์ผํ๊ฒ ๋์ํ๋ค" | |
| ], | |
| "answer": "System-assigned๋ ๋ฆฌ์์ค์ ์๋ช ์ด ๊ฐ๊ณ , User-assigned๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ง๋ค์ด ์ฌ๋ฌ ๋ฆฌ์์ค์ ๊ณต์ ๊ฐ๋ฅํ๋ค", | |
| "explanation": "System-assigned๋ VM/App Service ์์ฑ ์ ์๋์ผ๋ก ๋ง๋ค์ด์ง๊ณ ๋ฆฌ์์ค ์ญ์ ์ ํจ๊ป ์ญ์ ๋ฉ๋๋ค. User-assigned๋ ๋ณ๋๋ก ๋ง๋ค์ด ์ฌ๋ฌ ๋ฆฌ์์ค์ ํ ๋นํ ์ ์์ด ๊ณต์ ์๋๋ฆฌ์ค์ ์ ํฉํฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-key-vault-overview" | |
| }, | |
| { | |
| "id": "azure-q96", | |
| "lesson_id": "azure-network-watcher", | |
| "question_type": "multiple_choice", | |
| "question": "Network Watcher์ IP flow verify ๊ธฐ๋ฅ์ผ๋ก ํ์ธํ ์ ์๋ ๊ฒ์?", | |
| "options": [ | |
| "ํน์ IP์ ํฌํธ ์กฐํฉ์ด NSG์ ์ํด ํ์ฉ๋๋์ง ์ฐจ๋จ๋๋์ง", | |
| "VM์ CPU ์ฌ์ฉ๋ฅ ", | |
| "Blob ์ ๊ทผ ์ด๋ ฅ", | |
| "Key Vault ์ ๊ทผ ๋ก๊ทธ" | |
| ], | |
| "answer": "ํน์ IP์ ํฌํธ ์กฐํฉ์ด NSG์ ์ํด ํ์ฉ๋๋์ง ์ฐจ๋จ๋๋์ง", | |
| "explanation": "IP flow verify๋ VM NIC์์ ํน์ ์์ค IP, ๋ชฉ์ ์ง IP, ํฌํธ, ๋ฐฉํฅ(์ธ๋ฐ์ด๋/์์๋ฐ์ด๋)์ ์ ๋ ฅํ๋ฉด ์ด๋ค NSG ๊ท์น์ด ์ ์ฉ๋๋์ง ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-vnet-overview" | |
| }, | |
| { | |
| "id": "azure-q97", | |
| "lesson_id": "azure-move-resource", | |
| "question_type": "command", | |
| "question": "`myRG`์ VM `myVM`์ `targetRG`๋ก ์ด๋ํ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az resource move --destination-group targetRG --ids $(az vm show --resource-group myRG --name myVM --query id -o tsv)", | |
| "explanation": "`az resource move --destination-group <๋์RG> --ids <๋ฆฌ์์คID>` ๋ก ์ด๋ํฉ๋๋ค. ID๋ `az vm show --query id`๋ก ๊ฐ์ ธ์ต๋๋ค. ์ข ์ ๋ฆฌ์์ค(NIC, ๋์คํฌ)๋ ํจ๊ป ์ด๋ํด์ผ ํฉ๋๋ค.", | |
| "difficulty": "hard", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q99", | |
| "lesson_id": "azure-recovery-vault", | |
| "question_type": "command", | |
| "question": "`myRG`์ `myVM`์ `myVault` Recovery Services Vault์ `DefaultPolicy`๋ก ๋ฐฑ์ ํ์ฑํํ๋ CLI ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az backup protection enable-for-vm --vault-name myVault --resource-group myRG --vm myVM --policy-name DefaultPolicy", | |
| "explanation": "`az backup protection enable-for-vm`์ผ๋ก VM ๋ฐฑ์ ์ ์์ํฉ๋๋ค. Vault์ VM์ ๊ฐ์ region์ ์์ด์ผ ํ๋ฉฐ, ์ต์ด ๋ฐฑ์ ์ ํ์ฑํ ์งํ ๋๋ ์์ฝ ์๊ฐ์ ์คํ๋ฉ๋๋ค.", | |
| "difficulty": "medium", | |
| "source_id": "azure-recovery-services-vault" | |
| }, | |
| { | |
| "id": "azure-q100", | |
| "lesson_id": "azure-subscription", | |
| "question_type": "multiple_choice", | |
| "question": "ํ๋์ Azure Tenant ์๋ ์ฌ๋ฌ Subscription์ ์ฌ์ฉํ๋ ์ฃผ๋ ์ด์ ๋?", | |
| "options": [ | |
| "ํ๊ฒฝ(๊ฐ๋ฐ/์คํ ์ด์ง/์ด์)์ด๋ ๋ถ์๋ณ ๊ณผ๊ธ๊ณผ ์ ์ฑ ์ ๋ถ๋ฆฌํ๊ธฐ ์ํด", | |
| "Subscription์ด ๋ง์์๋ก ์๊ธ์ด ํ ์ธ๋๊ธฐ ๋๋ฌธ", | |
| "ํ Subscription์ VM์ 2๊ฐ ์ด์ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ", | |
| "Subscription์ ๋๋ฆฌ๋ฉด ๊ฐ์ฉ์ฑ์ด ๋์์ง๊ธฐ ๋๋ฌธ" | |
| ], | |
| "answer": "ํ๊ฒฝ(๊ฐ๋ฐ/์คํ ์ด์ง/์ด์)์ด๋ ๋ถ์๋ณ ๊ณผ๊ธ๊ณผ ์ ์ฑ ์ ๋ถ๋ฆฌํ๊ธฐ ์ํด", | |
| "explanation": "Subscription์ ๊ณผ๊ธ, ๋ฆฌ์์ค ํ ๋น๋, RBAC/Policy์ ๊ฒฝ๊ณ์ ๋๋ค. ๊ฐ๋ฐ๊ณผ ์ด์์ ๋ถ๋ฆฌํ๊ฑฐ๋ ๋ถ์๋ณ ๋น์ฉ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ ๋ ์ฌ๋ฌ Subscription์ ์ฌ์ฉํฉ๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "manual-az104-basic" | |
| }, | |
| { | |
| "id": "azure-q98", | |
| "lesson_id": "azure-template-deployment", | |
| "question_type": "command", | |
| "question": "`myRG`์ `main.bicep` ํ์ผ์ Bicep CLI๋ก ๋ฐฐํฌํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ธ์.", | |
| "options": [], | |
| "answer": "az deployment group create --resource-group myRG --template-file main.bicep", | |
| "explanation": "`az deployment group create --template-file <ํ์ผ>`๋ก Bicep ๋๋ ARM JSON ํ ํ๋ฆฟ์ ๋ฆฌ์์ค ๊ทธ๋ฃน์ ๋ฐฐํฌํฉ๋๋ค. `--parameters`๋ก ํ๋ผ๋ฏธํฐ ํ์ผ๋ ํจ๊ป ์ง์ ํ ์ ์์ต๋๋ค.", | |
| "difficulty": "easy", | |
| "source_id": "azure-arm-bicep-overview" | |
| } | |
| ] |