설명
App Service, Storage Account, Event Hubs, Service Bus와 Application Gateway의 리소스 로그는 서비스 동작과 요청을 조사하는 자료입니다. 필요한 로그를 수집하지 않으면 장애 원인 분석과 보안 추적이 어려워질 수 있습니다.
지원되는 카테고리를 진단 설정으로 내보내고 서비스별 로깅 사전 조건을 확인하세요. 진단 설정이 없다고 애플리케이션 로그나 자동 수집되는 Activity Log까지 모두 없는 것은 아닙니다.
잠재적 영향
- 서비스 장애나 이상 동작을 분석할 자료가 부족해질 수 있습니다.
- 여러 서비스의 관련 이벤트를 중앙에서 연결해 조사하기 어려워질 수 있습니다.
해결 방법
- 핵심 서비스별로 필요한 로그 카테고리와 기존 수집 경로를 확인하세요.
azurerm_monitor_diagnostic_setting에 지원되는 로그와 Log Analytics, Storage Account 또는 Event Hubs 대상을 구성하세요.- 서비스의 추가 로깅 설정, 대상의 접근 권한과 보존 기간을 확인하고 실제 요청으로 로그 도착 여부를 시험하세요.
예시
기존 azurerm_app_service 형식의 발췌입니다. 참조 리소스는 생략했으며 사용하는 AzureRM 버전에 맞는 웹 앱 리소스 형식을 선택하세요.
변경 전
hcl
resource "azurerm_app_service" "example" {
name = "example-app-service"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
app_service_plan_id = azurerm_app_service_plan.example.id
}
이 발췌에는 리소스 로그 내보내기가 없습니다. 기존에 다른 방식으로 필요한 로그를 수집하는지도 확인하세요.
변경 후
hcl
resource "azurerm_app_service" "example" {
name = "example-app-service"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
app_service_plan_id = azurerm_app_service_plan.example.id
}
resource "azurerm_monitor_diagnostic_setting" "example" {
name = "app-service-diagnostics"
target_resource_id = azurerm_app_service.example.id
storage_account_id = azurerm_storage_account.example.id
enabled_log {
category = "AppServiceHTTPLogs"
}
}
AppServiceHTTPLogs 카테고리의 수신 HTTP 요청 로그를 저장 계정으로 보냅니다. 이 카테고리만으로 모든 감사·애플리케이션 이벤트가 포함되지는 않습니다.