본문 바로가기
[AWS-SM]/VPC Endpoint

[AWS] VPC 엔드포인트 (S3 엔드포인트)

by SAMSUNG Metaverse-Cloud 2023. 2. 23.
728x90

 

ㅇ VPC Endpoint란?

> AWS 내부에서 트래픽을 주고 받기 쉽도록 설정하는 것
> S3에 접속하기 위해서는 Public망을 통해서 접근을 수행
(Public: Instance > IGW > S3 / Private: Instance > NAT > S3)

> Endpoint를 통해 Instance에서 바로 S3를 향할 수 있음


ㅇ Endpoint Interface, Gateway 차이

1) Interface
> Endpoint가 AZ내의 ENI로 생성하고, 해당 서비스에 대한 도메인 LookUp을 해당 ENI 응답
> Kinesis, EC2, SSM, ELB API 등을 지원
> Interface Endpoint로 생성 시에는 어느 VPC의 어떤 AZ의 어떤 Subnet을 사용할지 선택
> Interface Endpoint는 생성 시에 지정한 각 서브넷의 IP를 각각 할당받음
> Interface Endpoint를 이용해서 서비스를 호출하는 경우, AWS에서는 기본적으로 사용하는 도메인을 사용하거나, 별도의 서비스 도메인을 지정하여 VPC내에서 서비스 도메인 Lookup시 Inerface Endpoint의 IP로 응답하여 접근하도록 설정 가능
> 기존 AWS Public 서비스를 사용하도록 어플리케이션이 만들어진 경우, 기본 도메인으로 Interface Endpoint를 사용하게 되면 어플리케이션에서 AWS 서비스 호출 시 별도 변경 과정없이 Endpoint를 이용한 서비스 호출 가능

> Interface Endpoint를 생성하기 전에는 공인 IP를 보유한 리소스만이 IGW를 통해 Kinesis에 접근할 수 있었지만, Interface Endpoint를 생성한 이후에는 공인 IP없이도 Kinesis에 접근이 가능

Amazon Kinesis (실시간으로 비디오 및 데이터 스트림을 손쉽게 수집, 처리 및 분석)




2) Gateway
> EndPoint가 Gateway 타입으로 지원하여 AWS 서비스 접근 시, 라우팅으로 접근
> 라우팅 테이블에서 S3나 DynamoDB의 목적지 네트워크에 대한 Target으로 Gateway Endpoint를 지정
> S3와 DynamoDB 접근 지원

> Interface Endpoint와는 달리, 라우팅테이블에만 추가로 등록되어, 라우팅 테이블 경로를 보고 VPC Endpoint를 통해 S3 접근이 가능




ㅇ Endpoint Gateway를 사용한 S3와의 통신


> [VPC 서비스] - [엔드포인트] - [엔드포인트 생성] 선택


> VPC Endpoint를 생성할 서비스 선택(이번 실습에서는 S3와 연결할 것이므로 S3 선택)


> Endpoint와 연결될 VPC와 라우팅 테이블을 선택(라우팅 테이블 선택을 통해 Gateway 방식임을 알 수 있음)




> 이후 Endpoint의 상태가 "사용 가능"임을 통해 정상 제작되었음을 확인 가능


> 이후 Endpoint 생성 시 선택했던 라우팅 테이블 내부에, "vpce-~"를 대상으로 한 라우팅이 자동적으로 추가되었음을 확인 가능




> 이후 해당 서브넷에 존재하는 인스턴스에 접속해 s3 목록 확인 수행
(Endpoint가 연결되어있지 않다면, NAT 연결도 되어있지 않아 접속이 불가능할 것)

aws configure

aws s3 ls


> 통신 확인을 수행하기 위해 인스턴스에 있는 텍스트 파일을 s3로 이동
(private 서브넷에 존재하는 두 인스턴스에서 동일한 과정을 수행)

ls

aws s3 cp (파일명) s3://(s3 경로)




> 해당 버킷을 콘솔로 확인할 경우, 정상적으로 데이터가 들어간 것을 확인 가능

 

 






참조 :
https://sweetysnail1011.tistory.com/60

728x90