Search

[AWS] VPC Endpoint로 S3와 Private 통신

PublishDate
2022/08/15
Category
AWS
Network
Tag & Keyword
Interface Endpoint
Gateway Endpoint
Private

1. 들어가기 전에

EC2 → S3는 기본적으로 IGW를 거쳐서 통신한다.
그래서 Routing, Security Group등의 설정 오류가 있거나, Internet Gateway가 없는 Private VPC에서는 S3로의 통신이 안 된다.
하지만 Private VPC와 같은 Architecture 요구사항은 늘 존재하고, VPC와 S3 모두 AWS 서비스이기 때문에 AWS Backend 통신을 하면 훨씬 효율적인 통신이 가능하다. (hop, speed, security 등 대부분의 측면에서)
이런 통신을 가능하게 해주는 것이 VPC Endpoint 이다.
인터넷 통신이 안 되는 EC2에서 S3에 통신하는 과정을 통해 VPC Endpoint에 대해 이해해보자.

2. VPC Endpoint를 사용한 Private 통신

1.
인터넷 통신이 가능한 상태에서 ec2 → s3 통신 테스트
2.
엔드포인트 생성하기 전에 IGW로의 통신을 막은 상태에서 ec2 → s3 통신 테스트
3.
VPC Endpoint (Gateway Type) 생성 후 private하게 S3 조회해보기
DNS 호스트 이름 활성화해준다.
VPC → Endpoint 생성
aws s3 ls s3://[Bucket-Name] 명령어로 s3 조회 → 정상적으로 출력됨
EC2의 SG Outbound를 제한한 상태라면 Outbound Rule에 S3 Managed Prefix List를 추가해줘야한다. (TCP/443) S3 Managed Prefix List는 S3 VPCE 생성시에 자동으로 생성된다.

3. 참고사항

Gateway Endpoint는 기본적으로 온프레미스에서 활용할 수 없다.
또한 해당 Region의 S3 Public IP를 사용하기 때문에, 다른 Region에서 활용할 수 없다.
VPC 외부에서 Endpoint를 사용해서 AWS Service에 Private하게 통신하기 위해서는 Interface Endpoint를 활용해야한다.