AWS

AWS VPC와 서브넷

진진리 2025. 2. 24. 19:26

AWS ECS로 서버를 운영하고자 하는 몇 번의 시도를 실패하고 차근차근 공부해야 할 필요성을 느꼈다.

일단 VPC부터 공부해보고자 한다.

 

VPN (Virtual Private Network)

  • VPN: 가상사설망
  • 인터넷을 통해 디바이스 간에 사설 네트워크 연결을 생성
  • 공인 인터넷을 사이에 둔 사설망과 사설망이 사설 IP를 이용해 통신할 수 있도록 지원

 

VPC (Virtual Private Cloud)

  • 기업이 공유 퍼블릭 클라우드 인프라에 프라이빗 클라우드와 같은 자체 컴퓨팅 환경을 구축할 수 있도록 제공하는 서비스
  • VPC 별로 네트워크를 구성할 수 있고 각각의 VPC는 완전히 독립된 네트워크처럼 작동

 

Amazon VPC

출처: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

  • VPC에는 리전의 각 가용성 영역에 하나의 서브넷이 있고, 각 서브넷에는 EC2 인스턴스가 있고 VPC의 리소스와 인터넷 간의 통신을 허용하는 인터넷 게이트웨이가 있음
  • 서브넷: VPC의 IP 주소 범위. 단일 가용 영역에 상주해야 함

출처: https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

  • 라우팅 테이블: 서브넷 또는 게이트웨이의 네트워크 트래픽이 전달되는 위치를 결정
    • 네트워크 요청이 발생하면 데이터를 라우터로 향함
    • 데이터는 정의된 라우팅 테이블에 따라 작동
    • 서브넷 A의 라우팅 테이블은 172.31.0.0/16 즉 VPC 안의 네트워크 범위를 갖는 네트워크 요청은 로컬에서 찾음
  • 인터넷 게이트웨이: VPC를 다른 네트워크에 연결. 예를 들면, 인터넷 게이트웨이를 사용하여 VPC를 인터넷에 연결
    • 서브넷 B의 라우팅 테이블은 0.0.0.0/0으로 정의되어 있음
    • 모든 트레픽에 대하여 IGA(인터넷 게이트웨이)로 향하라는 뜻
    • 목적지의 주소가 172.31.0.0/16에 매칭되지 않으면 IGA로 보냄

출처: https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

  • 네트워크 ACL과 보안그룹: 방화벽과 같은 역할을 하며 인바운트 트래픽과 아웃바운드 트래픽 보안정책을 설정 가능
    • 보안그룹은 Stateful한 방식으로 모든 트래픽을 차단하도록 기본설정 되어 있음
    • 네트워크 ACL은 Stateless하게 모든 트래픽을 허용하도록 기본설정 되어 있음
      • 서브넷 단위로 적용되며 리소스별로 설정 불가능. 보안그룹이 더 높은 우선순위를 가짐 

출처: https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

  • NAT 게이트웨이: 프라이빗 서브넷이 인터넷과 통신하기 위한 아웃바운드 인스턴스
    • 퍼블릭 네트워크 상에서 동작하는 NAT 게이트웨이는 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 인터넷 게이트웨이와 연결
  • 엔드포인트: 인터넷 게이트웨이 또는 NAT 장치를 사용하지 않고 AWS 서비스에 비공개로 연결

 


VPC에 Public/Private Subnet 구성하기

기존 서비스들과의 충돌을 막기 위해 다른 Region(ap-northeast-1)에서 연습, default VPC 사용

 

 

0. 초기 네트워크 상태

- 이 상태에서 퍼블릿 서브넷 D와 프라이빗 서브넷 C를 만들고자 함

 

1. 라우팅테이블 설정

1-1. 퍼블릿 서브넷과 프라이빗 서브넷을 위한 라우팅 테이블을 각각 생성해준다.

 

1-2. 각각에 맞는 서브넷을 연결해준다.

 

1-3. 퍼블릭 라우팅 테이블에 인터넷 게이트웨이를 추가한다.

목적지가 172.31.0.0/16이면 로컬에서 찾고, 그 외에는 인터넷 게이트웨이로 전송함

 

 

2. NAT 게이트웨이 구성

프라이빗 서브넷의 인스턴스에서 외부 서비스로 접근할 수 있도록 하기 위함

 

2-1. NAT 게이트웨이 생성

- 서브넷의 경우 퍼블릭 서브넷인 D를 선택

- 탄력적 IP를 할당한다.

 

 

2-2. 프라이빗 라우팅 테이블 편집

모든 패킷을 생성한 nat 게이트웨이로 보내도록 추가한다.

 

 

 

'AWS' 카테고리의 다른 글

ECS CD 적용  (0) 2025.02.26
AWS 로드밸런서와 https  (0) 2025.02.26
AWS ECS  (0) 2025.02.26
AWS 로드밸런서와 오토스케일링 그룹  (0) 2025.02.24
AWS IAM 계정으로 배포하기  (0) 2024.06.27