API Gateway의 CloudWatch 로그 수집 구성 점검

로그 그룹과 API 스테이지 설정을 함께 구성하고 실제 로그 수집을 확인하세요.

설명

API Gateway의 요청·오류 로그가 수집되지 않으면 비정상 호출의 탐지와 사고 원인 분석이 어려워질 수 있습니다. CloudWatch 로그 그룹 생성만으로 API Gateway 로깅이 활성화되는 것은 아니며, 스테이지의 로깅 설정과 기록 권한도 필요합니다.

접근 로그와 실행 로그는 서로 다른 설정입니다. 필요한 요청 식별자와 오류 정보를 수집하되 토큰·비밀번호와 민감한 요청 본문이 로그에 남지 않도록 관리하세요.

잠재적 영향

  • 인증 실패와 이상 요청을 늦게 발견할 수 있습니다.
  • 사고 발생 시 요청 흐름을 재구성하기 어려워 대응 시간이 길어질 수 있습니다.

해결 방법

로그 그룹의 log_group_name과 보존 기간·접근 권한을 구성하세요. API 스테이지에서 필요한 접근·실행 로깅을 켜고 접근 로그의 대상 ARN과 형식 및 필요한 서비스 기록 권한을 설정하세요. 실제 시험 요청이 로그에 남는지 확인하고 민감 정보의 과도한 기록을 피하세요.

예시

로그 그룹 구성만 보여 주는 발췌입니다. kms_key_id는 사용할 실제 키 ARN으로 바꾸고 CloudWatch Logs의 키 사용 권한을 준비하세요. API 스테이지 설정은 별도로 필요합니다.

변경 전

yaml
- name: Setup CloudWatch log group
  community.aws.cloudwatchlogs_log_group:
    state: present
    kms_key_id: arn:aws:kms:region:account-id:key/key-id

로그 그룹 생성에 필요한 이름이 없습니다. 이 작업으로 유효한 로그 그룹이 생성된다고 볼 수 없습니다.

변경 후

yaml
- name: Setup CloudWatch log group
  community.aws.cloudwatchlogs_log_group:
    state: present
    log_group_name: test-log-group
    kms_key_id: arn:aws:kms:region:account-id:key/key-id

로그 그룹 이름을 지정합니다. 이 그룹을 만들었다는 사실만으로 API Gateway가 여기에 로그를 보내는 것은 아닙니다.

참조