설명
CreateRoute, ReplaceRoute, DeleteRoute 같은 라우팅 테이블 변경 이벤트를 감시하는 로그 필터와 알람이 없으면 트래픽 경로 변화를 늦게 알아차릴 수 있습니다. 라우팅 변경은 서비스 연결성과 보안 경로에 영향을 줄 수 있습니다.
잘못된 라우팅은 우회 경로나 통신 장애를 만들 수 있습니다. 실제 접근 가능성은 게이트웨이, 보안 그룹 등 다른 설정에도 달려 있으므로 변경 이벤트와 함께 검토하세요.
잠재적 영향
- 트래픽 경로 변경을 늦게 발견할 수 있습니다.
- 잘못된 라우팅 설정으로 발생한 서비스 장애의 원인 파악이 지연될 수 있습니다.
- 네트워크 보안 경로 변경에 대한 대응이 늦어질 수 있습니다.
해결 방법
- CloudTrail의 주요 라우팅 테이블 변경 이벤트를 CloudWatch Logs로 전달하고 로그 메트릭 필터를 구성하세요.
- 생성되는 메트릭 이름과 네임스페이스를 알람에 연결하고 평가 조건 및 SNS 알림 수신 경로를 설정하세요.
- 운영에 필요한 생성, 교체, 삭제, 연결 변경 이벤트가 포함되는지 확인하세요. 알람 조건을 충족하는 테스트 이벤트로 알림을 검증하세요.
예시
필터와 메트릭 연결을 보여 주는 부분 예제입니다. 비교 연산자, 평가 기간, 통계·주기, 알림 작업과 CloudTrail 로그 전달·SNS 구독을 별도로 완성해야 합니다. 여기서는 필터 이름과 메트릭 이름이 같으므로 필터의 id를 참조합니다.
변경 전
hcl
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-3.13-RouteTableChanges"
metric_name = "XXXX NOT YOUR FILTER XXXX"
namespace = "CIS_Metric_Alarm_Namespace"
threshold = "1"
}
변경 후
hcl
resource "aws_cloudwatch_log_metric_filter" "example" {
name = "CIS-RouteTableChanges"
pattern = "{ ($.eventName = CreateRoute) || ($.eventName = CreateRouteTable) || ($.eventName = ReplaceRoute) || ($.eventName = ReplaceRouteTableAssociation) || ($.eventName = DeleteRouteTable) || ($.eventName = DeleteRoute) || ($.eventName = DisassociateRouteTable) }"
log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name
metric_transformation {
name = "CIS-RouteTableChanges"
namespace = "CIS_Metric_Alarm_Namespace"
value = "1"
}
}
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-3.13-RouteTableChanges"
metric_name = aws_cloudwatch_log_metric_filter.example.id
namespace = "CIS_Metric_Alarm_Namespace"
threshold = "1"
}
설명:
- 변경 전: 알람의 메트릭 이름이 라우팅 변경 메트릭과 연결되지 않습니다.
- 변경 후: 나열한 라우팅 이벤트를 메트릭으로 만들고 알람에 연결합니다. 필요한 이벤트 범위와 생략된 설정을 확인해야 하며 알림이 경로 변경을 차단하지는 않습니다.