- 연결되는 회발성 포트
- NACL은 무상태, SG는 상태유지
S3와 DynamoDB는 Interface Endpoint뿐 아니라 Gateway Endpoint도 있다.
- 허용/비허용 트래픽
- VPC Flow Logs는 VPC 서브넷이나 ENA(Elastic Network Adapter) 레벨에서 생성
- S3로 전송해 Athena로 분석 가능
- CloudWatchLogs로 CloudWatchLog Insights로 분석 가능
- 공공 인터넷을 통한 VPN 연결이기 때문에 AWS에서 가상 프라이빗 게이트웨이를 생성해야 함.
- 데이터 센터에도 고객 게이트웨이를 생성해야 함.
- 그 후 VPN 연결 설정한다.
- 공공 인터넷을 사용하지 않는 프라이빗한 연결
- 설립하는데 한달 걸림
- 데이터 센터를 Direct Connect 위치로 연결해야 작동한다.
- 보안과 안정성이 뛰어남
- 고객 VPC에 직접 생성한 VPC 내에서 서비스로 비공개적으로 연결하기 위한 것
- 장점: VPC 피어링이나 puvlic 인터넷, NAT GW나 라우팅 테이블을 요구하지 않는다.
- 주로 NLB와 ENI만 사용되고, 이는 VPC 내의 서비스를 네트워크에 노출시키지 않고 수 많은 고객 VPC에 노출시킬 수 있게 한다.
# 1. GB당 네트워크 비용
- 리전 하나에 AZ가 2개
- 첫 번째 AZ에 EC2가있다.
EC2로 들어오는 트래픽은 모두 무료이다.
- 또 다른 EC2가 같은 AZ에 위치한다면 가용 영역은 지리적으로 인접한 여러 데이터 센터의 집합이 되므로 두 EC2 간 사설 IP 통신 시 트래픽은 무료이다.
- 같은 서브넷, 서로 다른 AZ에 있는 EC2간 통신은 공용 IP나 탄력적 IP를 사용한다.
이때 비용은 GB당 0.02$ 이다.
두 EC2간 통신하기위해 AWS 밖 네트워크를 나갔다 들어오기 때문
대신 사설 IP를 사용하면 0.01$ 이다. -> 내부 AWS 네트워크 사용하기 때문
- 즉, 인스턴스간 통신할 때 속도는 높이고 비용을 줄이려면 최대한 사설IP 통신을 추천
- 가용 영역을 포함하는 리전이 하나 더 있는 경우 트래픽이 다른 리전으로 이동할 때 GB당 0.02$ 이다.
- 계산을 담당하는 클러스터가 있고 EC2 인스턴스 간 활발히 소통하기를 요구한다면 최대한 비용을 절감하도록 같은 가용 영역을 사용하자.
- 비용이 절감되는 만큼 가용성이 떨어질 수 있으니 적절히 사용
# 2. 송신 트래픽 네트워크 비용 최소화
- 아웃바운드 트래픽 = 송신 트래픽 (AWS -> 외부)
- 인바운드 트래픽 = 수신 트래픽 (외부 -> AWS) - 보통 무료
- 인터넷 트래픽을 최대한 AWS 내부에 두고 비용을 최소화하는 것이 좋다.
- DB가 있고 기업 데이터 센터에 사용자가 있을 때 기업 데이터 센터에서 애플리케이션을 실행한다면
- 애플리케이션은 DB에 쿼리를 보내 DB에서 데이터 100MB를 회수한 뒤 집계와 계산까지 마치면
- 사용자에게 쿼리 결과 50KB만을 반환한다 가정하자.
- 이대 송신 트래픽이 많이 발생해 비용이 많이든다.
AWS의 데이터 100MB를 가져와 인터넷을 통해 기업 데이터 센터로 전송했기 때문
- 해결 방법으로는 EC2로 애플리케이션을 이동하는 것.
- 동일 AZ에 데이터를 두니까 DB 쿼리 데이터 전송이 무료이다.
즉, 100MB의 비용이 생기지 않고 쿼리 결과인 50KB만 전송되기 때문
- 송신 트래픽 네트워크 비용을 줄이는 또 다른 방법은 Direct Connect를 사용한 경우
Direct Connect Location을 동일한 AWS 리전으로 설정해 비용을 절약
# 3. S3 데이터 전송 비용 - 미국 예시임..
- S3로 들어가는 데이터는 수신 트래픽이므로 무료이다.
- S3에서 인터넷을 통해 데이터를 내려받는다면 GB당 0.09$ 이다.
- S3 Transfer Acceleration을 사용하면 전송 속도가 50~500% 빨라지는 대신 추가 비용 발생
GB당 0.09+0.04~0.08 = 0.13$ ~ 0.17$
- S3에서 CloudFront로 발생하는 트래픽은 무료이다.
- S3 버킷상에 CloudFront 배포를 생성하면 S3와 CloudFront사이에서 데이터를 주고 받는건 무료이다.
- 그러나 CloudFront에서 인터넷으로 전송할 때는 GB당 0.085$ 이다.
S3보단 저렴 + 캐싱 기능(데이터 액세스 지연 시간이 줄어듬) + 요청을 보낼 때마다 비용이 절감된다.
- S3에 요청이 들어오면 비용을 부담하는데 CloudFront로 들어오면 7배나 저렴하다
- 사용 사례에 적합하다면 S3상에서 CloudFront를 사용해 비용을 절약하자.
- S3 버킷에 리전 간 복제를 수행하면 GB당 0.02$ 이다.
- 이 비용은 지역마다 다르니 확인하셈
# 4. NAT GW와 GW VPC 엔드포인트 비용
- 리전에 VPC가 있고 사설 서브넷 두 개는 각각 다른 유형의 EC2를 사용한다.
- 둘 다 S3 버킷으로 데이터를 액세스하고자 할 때 방법
1. 공용 인터넷 사용
2. VPC 엔드포인트 이용
- 1. 공용 인터넷은 NAT GW가 있는 공용 서브넷을 생성해야 하고 IGW가 필요
- 라우팅 테이블을 사용해 라우팅하면 EC2 -> NAT GW -> IGW -> 인터넷 -> S3
NAT GW 비용 = 시간당 0.045$ + 1GB당 0.045$
S3로 리전 간 데이터 송신 비용 = 시간당 0.09$ (같은 리전이면 무료)
- 2. VPC 엔드 포인트를 사용하면 S3 버킷에 비공개로 데이터를 액세스할 수 있고, VPC 인드포인트로 라우팅 설정한다.
데이터는 사설 서브넷에서 VPC 엔드 포인트와 S3 버킷으로 직접 흐르기 때문에 무료이다.
동일 리전에서 S3로 데이터를 주고 받을 때 데이터 1GB당 0.01$ 이다.