Infra Tech Update

AWS CloudTrail network activity for VPC endpoints

CloudTrail network activity

8 min read
AWS CloudTrail network activity for VPC endpoints

본 글에서는 25년 2월 14일에 출시된 VPC endpointsCloudTrail network activity에 대하여 다루고자 합니다!

시간 나실 때 가볍게 읽어주시면 감사하겠습니다.🤗


1. AWS VPC 엔드포인트란?

이미 다들 알고 계신 내용이겠지만! 글의 기승전결을 위해 태초부터 설명해보겠습니다! ❛‿˂̵✧

AWS에서는 VPC를 사용하여 논리적으로 격리된 가상 네트워크인 가상 프라이빗 클라우드를 정의할 수 있습니다.

또한 VPC에 있는 클라이언트가 해당 VPC 외부의 대상에 연결하도록 허용할 수 있습니다. 예를 들어, 인터넷 게이트웨이를 VPC에 추가하여 인터넷에 접속하거나, VPN 연결을 추가하여 온프레미스 네트워크에 접속할 수 있습니다.

또는 AWS PrivateLink를 사용하여 VPC에 있는 클라이언트가 프라이빗 IP 주소를 사용하여 다른 VPC의 서비스 및 리소스에 연결할 수 있도록 허용할 수 있습니다.

마치 해당 서비스와 리소스가 VPC에 직접 호스팅되는 것처럼 말이죠.

위의 다이어그램은 AWS PrivateLink의 작동 방식을 간략하게 보여주는데요,
소비자는 VPC 엔드포인트를 생성하여 공급가 호스팅하는 엔드포인트 서비스 및 리소스에 연결합니다.
⭐ VPC 엔드포인트는 인터넷을 거치지 않고 AWS 내부에서 직접 서비스에 접근할 수 있는 전용 통로입니다. ⭐


2. VPC 엔드포인트 네트워크 활동 이벤트란? 활성화의 이점

해당 기능을 사용하면 VPC 엔드포인트를 통과하는 AWS API 활동을 로깅하고 모니터링 할 수 있으므로, 데이터 경게를 강화하고 더 효과적인 탐지 제어를 구현할 수 있습니다.

이전에는 잠재적인 데이터 유출 시도와 VPC 엔드포인트를 통한 네트워크 내 리소스에 대한 무단 액세스를 탐지하기 어려웠습니다. 외부 계정으로부터의 액세스를 차단하도록 VPC 엔드포인트 정책을 구성할 수는 있지만 거부된 작업을 로깅하거나 VPC 엔드포인트에서 외부 자격 증명이 사용된 시기를 탐지하는 기본 제공 메커니즘은 없었습니다.

이를 위해서는 TLS 트래픽을 검사 및 분석하기 위한 사용자 지정 솔루션을 구축해야 하는 경우가 많은데, 이렇게 하면 운영 비용이 많이 들고 암호화된 통신의 이점이 무력화될 수 있었습니다.

이 새로운 기능을 통해 이제 VPC 엔드포인트를 통과하는 모든 AWS API 활동을 로깅하도록 선택할 수 있습니다.
CloudTrail은 이러한 이벤트를 네트워크 활동 이벤트라는 새로운 이벤트 유형으로 기록합니다.
이 이벤트는 VPC 엔드포인트를 통과하는 컨트롤 플레인 및 데이터 플레인 작업을 모두 캡처합니다.

컨트롤 플레인 및 데이터 플레인 작업이란?

컨트롤 플레인 작업 (Control Plane Operations)
관리나 설정과 관련된 작업이에요.

즉, 리소스를 만들거나 수정하거나 삭제하는 등의 "명령" 또는 "요청"을 보내는 행위를 말합니다.

  • CreateBucket (S3 버킷 만들기)
  • PutBucketPolicy (버킷 정책 설정)
  • DescribeInstances (EC2 인스턴스 상태 조회)
  • CreateKey (KMS 키 생성)

➡️ 쉽게 말해, “이걸 좀 만들어줘”, “설정 바꿔줘”, “상태 좀 알려줘” 같은 관리용 명령입니다.

데이터 플레인 작업 (Data Plane Operations)
실제로 데이터를 주고받는 작업이에요.

버킷에 파일을 저장하거나, KMS 키로 데이터를 암호화하는 등 실제 데이터가 오가는 행위를 말합니다.

  • GetObject, PutObject (S3에서 객체 다운로드/업로드)
  • Encrypt, Decrypt (KMS로 암호화/복호화)
  • GetSecretValue (Secrets Manager에서 시크릿 값 읽기)

➡️ 즉, “이 파일 좀 줘”, “이걸 암호화해줘”, “이 비밀번호 알려줘” 같은 요청이에요.

3. 콘솔에서 VPC 엔드포인트 네트워크 활동 이벤트 활성화 하는 방법

  1. AWS CloudTrail 콘솔로 이동하여 탐색 창에서 Trails를 선택합니다.
  2. Create trail을 선택하여 새 추적을 생성합니다.
  3. Trail name 필드에 이름을 입력하고 이벤트 로그를 저장할 Amazon S3 버킷을 선택합니다.
  4. Log file SSE-KMS encryption을 Enabled로 설정하면 두 가지 옵션이 있습니다.
    1. New를 선택하여 새 AWS KMS 키를 생성하거나 Existing을 선택하여 기존 KMS 키를 선택합니다.
    2. New를 선택한 경우 AWS KMS alias 필드에 별칭을 입력해야 합니다.
    3. KMS 키와 Amazon S3는 동일한 AWS 리전에 있어야 합니다.
    4. AWS KMS alias 필드에 별칭을 입력하고 나머지 필드는 기본값 그대로 둡니다.
  5. Next를 선택하여 다음 단계로 넘어갑니다.
  1. 네트워크 활동 이벤트 소스는 AWS 서비스 목록에서 선택할 수 있습니다.
  2. 로그 선택기 템플릿에서 하기 선택지에 대한 로깅을 하도록 구성할 수 있습니다.
    1. 모든 이벤트 로깅 (Log all events)
    2. 네트워크 활동 액세스 거부 이벤트 기록 (Log network activity access denied events)
    3. 사용자 지정 (Custom)
  3. Custom의 경우 eventName, vpcEndpointId와 같은 여러 필드에 사용자 지정 필터를 생성할 수 있고,연산자를 사용해 필터링이 가능합니다.

4. 비용 및 과금 기준

위의 예제에서 network activity events 요금을 계산해보면 다음과 같습니다.

5. 결론

이번 AWS 소식을 접하고 직접 테스트해본 결과, AWS는 단순히 외부 공격에 대비하는 것을 넘어 내부 리소스 보안에도 각별한 신경을 쓰고 있다는 인상을 받았습니다.

클라우드 사용자가 빠르게 늘어나는 만큼 보안의 중요성은 날로 커지고 있는데요,

앞으로도 최신 AWS 뉴스를 꾸준히 모니터링하며, 유용한 소식들을 계속 전해드리겠습니다.

보안이 고민될 땐, 안랩클라우드메이트와 함께하세요!

긴 글 읽어주셔서 감사합니다! ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧


참고문서

[1] VPC 엔드포인트에 대한 AWS CloudTrail 네트워크 활동 이벤트가 이제 일반적으로 사용 가능합니다.

[2] AWS PrivateLink 개념

[3] AWS CloudTrail, VPC 엔드포인트용 네트워크 활동 이벤트 정식 출시

[4] AWS CloudTrail pricing

Share This Post

Check out these related posts

Amazon EKS, 커뮤니티 애드온 살펴보기

Amazon S3 콘솔, 모든 버킷 외부 액세스 요약 표시

Database Insights, 메트릭 대시보드 사용자 정의 지원 추가