와닿지 않으면 암기라도 하자....
VPC (Virtural Private Cloud) 가상 사설 네트워크.
AWS를 사용하는 회사라면 100% 사용하고 있으며
이를 통해 클라우드에서 가상의 네트워크 환경을 정의하고 제어할 수 있다.
필요에 따라 네트워크를 만들어서 Public subnet, Private subnet라는 하위 네트워크를 구분하여 사용할 수 있다.
* network : 2개 이상의 컴퓨터나 장치가 서로 데이터를 주고 받을 수 있도록 연결된 시스템
Public subnet vs Private Subnet
- Public subnet : 인터넷 게이트웨이와 직접 연결된 서브넷.
이 서브넷에 있는 EC2 인스턴스는 인터넷에 직접 접근할 수 있다.
일반적으로 웹 서버, 로드 밸런스와 같은 리소스를 배치한다.
- Private subnet : 인터넷과 직접 연결되지 않는 서브넷.
이 서브넷에 있는 인스턴스는 인터넷에 직접 접근할 수 없다.
외부와 통신하고 싶으면 NAT Gateway나 VPN을 사용한다.
* Public : 인터넷과 직접 연결되어 있다.
* sub + net : 하나의 네트워크를 더 작은 단위의 네트워크로 나눈 것.
서브넷은 VPC 내의 ip 주소 범위 내에서 특정 ip 주소 블록을 분할해서 할당하는 단위.
라우팅, 라우팅 테이블
네트워크에서 트래픽이 올바른 경로를 통해 목적지로 전달되도록 하는 중요한 요소.
VPC <-> Public/Private Subnet, NAT GateWay, Internet Gateway등의 요소와 결합되어
클라우드 네트워크에서의 데이터 흐름을 제어하고 관리.
Routing
네트워크 패킷이 출발지에서 목적지까지 전달되는 경로를 결정하는 과정.
Routing Table
패킷이 전달 될 경로를 기록한 표. 목적지 IP 주소, 경유할 네트워크 장비, 트래픽을 어디로 보내야하는지에 대한 정보 포함
=> VPC 내에서 트래픽이 이동할 때, AWS는 라우팅 테이블을 참조하여 네트워크 트래픽이 어디로 가야할 지 결정.
라우팅 테이블은 VPC 내의 각 서브넷에 어떤 경로로 트래픽을 보내야 할 지 명시.
이를 통해 Public subnet은 인터넷 게이트웨이와 연결되고,
Private subnet은 NAT Gateway를 통해 외부와 통신할 수 있도록 설정된다.
Internet Gateway (IGW) - 인터넷 게이트웨이
VPC와 외부 인터넷을 연결하는 장치.
이를 통해 VPC 내의 리소스가 인터넷과 통신할 수 있게 된다.
보통 public subnet에 있는 리소스가 이 인터넷 게이트웨이를 통해 외부와 연결.
NAT Gateway (Network Adrredd Translation Gateway)
Private subnet의 리소스들이 인터넷에 접속할 수 있도록 해주는 서비스.
ex) private subnet에 있는 EC2 인스턴스가 인터넷에 접근해야하는 경우, NAT Gateway 통해 가능.
-> Public subnet에 NAT 게이트웨이가 배치되고, 그 게이트웨이를 통해 private subnet의 리소스들이 공용 IP주소로 변환되어 외부와 통신.
즉, private subnet의 인스턴스는 공용 IP로 변환된 후 인터넷에 접속 가능.
[네트워크 보안 설정 도구]
네트워크 ACL (Network Access Control List)
: 서브넷 단위의 통제 시스템
Stateless : 상태를 추적하지 않는다.
인바운드(수신) 트래픽에 대해 규칙을 설정하면, 그에 대한 아웃바운드(송신) 응답에 대한 트래픽 별도로 지정해줘야 한다.
=> 요청과 응답을 각각 따로 관리 해야 함 !
ex)
서브넷 내에서 모든 트래픽을 차단하고, 특정 IP에서만 접근을 허용하거나, 서브넷 간의 트래픽을 제한하는 데 사용
보안그룹
: 개별 리소스 통제 시스템
기본적으로 모든 트래픽을 차단하며, 허용 규칙만 존재한다.
Stateful : 상태를 추적한다.
인바운드(수신) 트래픽을 허용해놨으면 그에 대한 아웃바운드(송신) 응답 트래픽도 자동으로 허용된다.
주로 EC2, RDS, Lambda등 특정 개별 리소스에 대해 적용한다.
ex)
웹 서버 (EC2)에는 80, 443 포트만 허용하는 보안 그룹을 설정하고, DB 서버에는 3306 포트만 허용하는 보안 그룹을 설정
네트워크 ACL은 보안그룹과는 별개로 서브넷 수준에서 넓은 범위의 트래픽을 관리하고자 할 때 사용한다.
- 여러 EC2 인스턴스나 리소스가 같은 서브넷에 있을 때, 서브넷에 대한 일괄적인 트래픽 필터링에 사용.
- Public subnet과 Private Subnet 사이의 트래픽을 관리하거나,
VPC Peering 연결에 대한 트래픽을 제어하는 경우에도 유용하다.
네트워크 ACL은 서브넷 전체의 트래픽 제어, 보안 그룹은 주로 인스턴스 레벨에서.
'공부 > AWS' 카테고리의 다른 글
AWS S3 이용하여 이미지 업로드 구현하기 (0) | 2024.08.24 |
---|---|
RDS 로컬 MySQL Workbench 연결 오류 해결 - VPC Public 변경 (0) | 2024.08.05 |
윈도우 cmd에서 ec2 접속하기 (0) | 2024.08.05 |
AWS) EC2에 docker설치 (0) | 2024.01.21 |
AWS) EC2 인스턴스 생성 (2) | 2024.01.20 |