네트워킹 - VPC(4)

이기태·2024년 8월 20일
0

AWS

목록 보기
58/62

요약

# NACL: 서브넷 레벨에서 인바운드/아웃바운드 접근을 정의하는 방화벽 규칙

- 연결되는 회발성 포트
- NACL은 무상태, SG는 상태유지

# VPC 피어링: 두 개 이상의 VPC 연결, 비전이적

# Transit Gateway: VPC, VPN, Direct Connect를 위한 전송 피어링 연결, 전이적

# VPC 엔드포인트: 프라이빗 접근을 허용(S3, DynamoDB, CloudFormation, SSM 등등)

S3와 DynamoDB는 Interface Endpoint뿐 아니라 Gateway Endpoint도 있다.

# VPC Flow Logs: VPC 내의 모든 패킷에 대한 로그 메타데이터를 갖는다.

- 허용/비허용 트래픽
- VPC Flow Logs는 VPC 서브넷이나 ENA(Elastic Network Adapter) 레벨에서 생성
- S3로 전송해 Athena로 분석 가능
- CloudWatchLogs로 CloudWatchLog Insights로 분석 가능

# Site-to-Site VPN: 기업 데이터 센터 연결 방식 1

- 공공 인터넷을 통한 VPN 연결이기 때문에 AWS에서 가상 프라이빗 게이트웨이를 생성해야 함.
- 데이터 센터에도 고객 게이트웨이를 생성해야 함.
- 그 후 VPN 연결 설정한다.

#VPN CloudHub: 여러개의 VPN 연결을 생성할 때 같은 VGW를 사용하면 VPN CloudHub로 허브&스포크 모델로 사이트들을 연결

# Direct Connect : 기업 데이터 센터 연결 방식 2

- 공공 인터넷을 사용하지 않는 프라이빗한 연결
- 설립하는데 한달 걸림
- 데이터 센터를 Direct Connect 위치로 연결해야 작동한다.
- 보안과 안정성이 뛰어남

# Direct Connect Gateway: 다른 리전의 많은 VPC와 Direct Connect를 만들기 위한 것

# PrivateLink/VPC Endpoint Services

- 고객 VPC에 직접 생성한 VPC 내에서 서비스로 비공개적으로 연결하기 위한 것
- 장점: VPC 피어링이나 puvlic 인터넷, NAT GW나 라우팅 테이블을 요구하지 않는다.
- 주로 NLB와 ENI만 사용되고, 이는 VPC 내의 서비스를 네트워크에 노출시키지 않고 수 많은 고객 VPC에 노출시킬 수 있게 한다.

# Traffic Mirroring: 네트워크 트래픽을 ENI에서 복사해 분석

# EIGW: VPC 내의 IPv6로 인터넷에 접근은 가능하지만 인터넷에서 IPv6로 접근은 불가하게 함.




네트워킹 비용

# 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$ 이다.



네트워크 보호(Firewall) 정리

  • 네트워크 보호 하기위해..
    • NACL
    • VPC 보안 그룹
    • WAF
    • Shield & Shield Advanced
    • Firewall Manager: 여러 계정에 적용할 WAF, Shield 규칙 관리자
  • 전체 VPC를 보호하는 정교한 보호 방법은? ===> AWS Network Firewall

AWS Network Firewall

  • 전체 VPC를 방화벽으로 보호하는 서비스(VPC 수준의 방화벽)
  • Network Firewall는 3계층에서 7계층까지 보호한다.
  • 모든 방향에서 들어오는 모든 트래픽을 검사
    • VPC간 트래픽
    • 인터넷 인바운드/아웃바운드
    • Direct Connect & Site-to-Site VPN
  • 인터넷과의 모든 트래픽과 피어링된 VPC와의 모든 트래픽, Direct Connect과 Site-to-Site VPN을 오가는 모든 트래픽을 보호
  • 규칙을 정의하기만 하면 모든 동작을 제어
  • 내부적으로는 Gateway Load Balancer를 사용한다.
    단 타사 어플라이언스가 아니라 AWS 자체 어플라이언스를 통해 트래픽을 관리해 Network Firewall에 자체 규칙을 갖추고 있다.
  • 이 규칙들은 중앙 집중식으로 관리되고, 여러 계정과 VPC에 적용된다.
    AWS Firewall Manager의 역할

Network Firewall - 세밀한 제어

  • VPC 수준에서 수천 개의 규칙을 지원
    • 수만 IP를 IP와 포트별로 필터링 가능
    • 프로토콜별로 필터링 가능
      EX: 아웃바운드 통신에서는 SMB 프로토콜을 비활성화 하기
    • 도메인별로 필터링 가능
      VPC의 아웃바운드 트래픽에 대해서는 기업 도메인에만 액세스 허용하기
      타사 소프트웨어 리포지토리에만 액세스 허용하기 등..
    • regex 같은걸 이용해 일반 패턴 매칭 가능
  • 트래픽 허용/차단, 알림 등을 설정해 설정한 규칙에 맞는 트래픽을 필터링 가능.
  • AWS가 관리하는 Gateway Load Balancer 처럼 플로우 검사를 활성화해 침입 방지 능력을 갖출 수 있다.
  • 모든 규칙 일치 로그는 S3와 CloudWatch Logs, Kinesis Data Firehose로 전송해 분석할 수 있다.

0개의 댓글

관련 채용 정보