워커 서버의 S3 네트워크 I/O 개선해보기

goyo·2026년 5월 8일

현재 진행중인 프로젝트에서 전반적인 처리 속도를 높이기 위해 S3 네트워크 지연 시간을 단축해보고자 AWS VPC 엔드포인트 설정을 적용해보았다.

다량의 메시지를 처리하는 구조에서 병목이 될 수 있거나 절차적으로 비즈니스 로직이 네트워크 I/O 와 묶여있는 경우 인프라 네트워크 지연 시간을 단축시킬수록 비약적으로 처리량을 향상시킬 수 있다.


1. 왜 VPC 엔드포인트가 필요한가?


기본적으로 VPC 내의 워커 서버가 S3에 접속하려면 인터넷 게이트웨이나 NAT 게이트웨이를 거쳐 공인 인터넷망을 타야한다. 하지만 VPC 엔드포인트를 설정하면 다음과 같은 이점이 있다.

1. 성능 향상: 트래픽이 AWS 내부 네트워크망을 통해 직접 전달되므로 지연 시간이 단축되고 대역폭 활용이 최적화됨

2. 비용 절감: NAT 게이트웨이를 거칠 때 발생하는 데이터 처리 비용을 아낄 수 있음

3. 보안 강화: 데이터가 퍼블릭 인터넷을 거치지 않으므로 보안 위협에 노출될 가능성 줄어듬(인스턴스가 프라이빗 서브넷에 있어야함)


2. S3 게이트웨이 엔드포인트 동작 흐름

S3 게이트웨이 엔드포인트는 VPC의 라우팅 테이블에 S3로 향하는 전용 경로를 추가하는 방식


기존 방식

: Worker -> NAT Gateway -> Internet -> S3

엔드포인트 방식

Worker -> VPC Endpoint -> S3(AWS 내부망 전용 통로)


3.적용 과정

1. AWS 에서 VPC 로 이동

2. 엔드포인트 메뉴로 이동하여 엔드포인트 생성

3. 서비스 유형 AWS services 선택

4. 서비스 선택메뉴에서 [유형 = Gateway] 로 잡으면 나오는 com.amazonaws.[region].s3 을 선택한다.

5. 현재 적용중인 VPC 선택 (인스턴스가 속한 VPC)

6. 라우팅 테이블 선택 (인스턴스가 사용하는 서브넷 라우팅 테이블 선택)

7. 정책 선택

8. 인스턴스 아웃바운드 설정

워커 인스턴스의 아웃바운드 규칙에 S3으로의 443 포트 열어준다.





9. 적용 후 클라우드 아키텍처:

별도의 서브넷 설정,IAM 권한은 생략합니다.




5. 프로젝트 배포 서버에 적용 후 성능 테스트

왼(적용 전) , 오(적용 후)

1. 평균 처리 시간

  • 적용 전: 0.075s ~ 0.095s
  • 적용 후: 0.065s ~ 0.085s

엔드포인트를 통한 데이터 전송 경로 최적화로 개별 메시지 처리 속도 약 10% 내외 개선.


2. 최대 지연 시간

  • 적용 전: 최대 0.3s
  • 적용 후: 최대 0.2s

VPC 엔드 포인트를 이용하면서 네트워크 홉이 줄어들고 이로 인해 발생하던 간헐적인 네트워크 지연을 방지


3. 처리량

  • 1분당 처리량

    둘다 400건 이상의 처리량을 기록하지만 적용 전보다 적용 후가 조금 더 많이 처리한 것으로 보아 처리 시간이 줄어들어 상승한 듯 하다.

  • 누적 처리량

    • 적용 전: 1100 건
    • 적용 후: 1200 건

처리 속도가 빨라지면서 작업을 완료하는데에 걸리는 시간이 단축되었음.


6.배운점

  • VPC 엔드포인트 적용을 통해 Network Latency 가 약 10 ~ 15% 감소
  • 최대 지연 시간이 0.3s 에서0.2s 로 낮아지면서 시스템의 예측 가능성이 높아짐
  • 이는 외부망을 거치지않는 프라이빗한 연결이 데이터 전송 효율을 실질적으로 개선했음을 보여준다.








이미지 출처:https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-VPC-End-Point-%EA%B0%9C%EB%85%90-%EC%9B%90%EB%A6%AC-%EA%B5%AC%EC%B6%95-%EC%84%B8%ED%8C%85

0개의 댓글