728x90
AWS
- AWS(Amazon Web Services)는 아마존이 제공하는 클라우드 컴퓨팅 서비스 플랫폼이다.
- 컴퓨팅, 스토리지, 데이터베이스, 모니터링, 머신러닝 등의 다양한 서비스를 제공한다.
VPC
- VPC(Virtual Private Cloud)는 AWS 클라우드 내에서 격리된 가상 네트워크를 생성할 수 있도록 하는 서비스이다.
- VPC를 통해 만든 네트워크에서 자체적인 IP 주소, 퍼블릭/프라이빗 서브넷, 라우팅 테이블, 네트워크 게이트웨이 등의 기능을 사용할 수 있다.
- 즉, 각각의 VPC는 격리되어 있으며 이를 통해 보안성을 높인다.
- 애플리케이션 중 일부는 VPC 클라우드에서, 일부는 온프레미스(on-premises)에서 실행할 수 있다.
- 온프레미스는 조직의 자체 공간에서 물리적인 서버와 인프라를 구축하고 운영하는 방법이다.
VPC 구성 요소
서브넷
- 서브넷은 VPC 내의 IP 주소 범위를 나누어 생성된 하위 망을 의미한다.
- 퍼블릭 서브넷은 인터넷과 직접 연결할 수 있으며 인터넷 게이트웨이를 통해 외부와 통신할 수 있다. EC2와 같은 리소스가 외부에서 접근할 수 있도록 설정된다.
- 프라이빗 서브넷은 인터넷과 직접 연결되지 않으며 내부 네트워크 통신에 사용된다.
- 서브넷을 퍼블릭, 프라이빗 서브넷으로 구분함으로써 보안성을 높인다.
- 서브넷은 CIDR(Classless Inter-Domain Routing) 표기법을 통해 IP 주소 범위를 정의한다.
- 서브넷 마스크는 서브넷의 크기를 정의한다. CIDR 표기법에서 / 뒤의 숫자이다.
- 예를 들어 10.0.1.0/24는 해당 서브넷의 네트워크 주소가 10.0.1.0이라는 의미이며, 32비트 IP 주소 중 처음 24비트가 네트워크 부분, 나머지 8비트가 호스트 부분임을 의미한다.
- 서브넷을 나누어 배치함으로써 네트워크 트래픽을 관리하고 서로 다른 서브넷 간 트래픽을 제어한다.
- 여러 가용 영역(AZ)에 서브넷을 생성하여 고가용성을 보장한다. 즉, 특정 AZ에 문제가 발생하도 다른 AZ에서 서비스를 계속 운영할 수 있다.
라우팅 테이블
- 라우팅 테이블은 VPC 내에서 네트워크 트래픽의 경로를 정의한다.
- 라우팅 테이블은 여러 개의 라우트로 구성되며, 각 라우트는 특정 목적지 IP 주소 범위와 해당 목적지로의 트래픽을 처리할 수 있는 Next Hop 정보를 포함한다.
- 목적지는 CIDR 표기법으로 작성된다.
- Main Routing Table은 VPC 생성 시 자동으로 생성되는 기본 라우팅 테이블로 일반적으로 모든 서브넷에 적용된다.
- 각 서브넷은 특정 라우팅 테이블에 연결될 수 있다.
인터넷 게이트웨이
- 인터넷 게이트웨이는 VPC와 인터넷 간의 연결을 제공한다. 즉, 인터넷 게이트웨이를 통해 VPC 내의 리소스가 인터넷과 통신을 할 수 있게 된다.
- VPC에 연결된 인터넷 게이트웨이는 송/수신 트래픽을 처리한다.
- Public IP 또는 Elastic IP 주소를 가진 인스턴스가 인터넷과 통신할 수 있도록 한다.
- 인터넷 게이트웨이는 주로 Public Subnet에 있는 리소스와 연결된다. Private Subnet의 인스턴스는 직접적으로 인터넷과 연결되지는 않지만 NAT 게이트웨이 등을 통해 트래픽을 처리할 수 있다.
NAT 게이트웨이
- NAT(Network Address Translation) 게이트웨이는 VPC 내에서 Private Subnet의 리소스가 인터넷에 아웃바운드 트래픽을 할 수 있게 하는 서비스이다.
- 내부 네트워크의 프라이빗 IP를 퍼블릭 IP로 변환하여 인터넷과 통신할 수 있도록 한다.
- 외부에서의 응답은 NAT 게이트웨이를 통해 다시 프라이빗 서브넷의 인스턴스로 전달된다.
보안 그룹
- 보안 그룹은 VPC 내에서 리소스에 대한 가상 방화벽 역할을 하는 기능이다.
- 상태 유지형(stateful)로 동작하며 인바운드, 아웃바운드 트래픽을 개별적으로 제어한다.
- 상태 유지형이란 트래픽의 상태를 기억하고 해당 세션의 응답 트래픽을 자동으로 허용하는 기능이다.
- 인바운드 규칙은 인스턴스로 들어오는 트래픽을 허용하는 규칙이다.
- 아웃바운드 규칙은 인스턴스에서 외부로 나가는 트래픽을 허용하는 규칙이다.
네트워크 ACL
- 네트워크 ACL(Access Control List)는 서브넷 수준에서 트래픽을 제어하는 보안 기능이다.
- NACL은 인바운드, 아웃바운드 트래픽에 대한 규칙을 설정하고 특정 조건에 맞는 트래픽을 허용 또는 차단할 수 있다.
- NACL은 상태 비유지형으로 작동한다. 즉, 인바운드 트래픽과 아웃바운드 트래픽을 별도로 설정해야 한다.
- NACL의 규칙은 우선 순위를 나타내느 규칙 번호를 가지며 낮은 숫자일수록 높은 우선 순위이다.
- 서브넷과 연결된 NACL을 변경하는 해당 서브넷의 모든 리소스에 즉시 적용된다.
VPC 피어링
- VPC 피어링(Peering)은 서로 다른 VPC 간 서로의 리소스에 접근할 수 있도록 하는 네트워크 연결이다.
- 서로의 IP 주소를 통해 통신한다.
- 여러 VPC 간 연결은 인터넷을 사용하지 않고 내부 네트워크를 통해 이루어진다.
- VPC 간 연결뿐만 아니라 서로 다른 지역 간 피어링도 지원한다.
- 상태 비유지형으로 인바운드, 아웃바운드 트래픽을 각각 설정해야 한다.
VPN 연결
- VPN(Virtual Private Network) 연결은 온프레미스 데이터 센터와 VPC 간 연결을 제공하는 서비스이다.
- VPN을 사용하면 암호화된 터널을 생성하며 두 네트워크 간 안전하게 데이터를 전송할 수 있다.
- AWS VPN Gateway는 VPC에 연결되는 VPN 장치로 VPN 연결을 설정하기 위해 생성해야 하는 것이다.
- Client Gateway는 온프레미스 네트워크의 VPN 장치이다.
Direct Connect
- Direct Connect는 온프레미스 데이터 센터와 AWS 클라우드 간 네트워크 연결을 제공하는 서비스이다.
- Direct Connect Locations는 Direct Connect를 사용할 수 있는 물리적 위치이다.
- VIF(Virtual Interface)는 Direct Connect를 통해 AWS 리소스에 접근하기 위해 설정하는 논리적 인터페이스이다.
- 퍼블릭 VIF는 AWS의 퍼블릭 서비스에 접근하기 위해, 프라이빗 VIF는 VPC의 프라이빗 IP를 통해 리소스에 접근하기 위해 사용된다.
- Direct Connect는 전용 회선을 통해 AWS와 온프레미스 간 안정적이고 고속의 연결을 제공한다. VPN은 암호화된 연결을 제공하며 적은 비용이 들지만 성능이 Direct Connect에 비해 낮을 수 있다.
728x90
'Web Development > BackEnd' 카테고리의 다른 글
[Spring Boot] ELK 스택 구축 - 1. Elasticsearch 설치 (0) | 2025.02.13 |
---|---|
[Network] Polling, Long Polling, SSE, Websocket이란? (0) | 2025.01.14 |
[Flask] 4. 게시판 기능 추가 (0) | 2024.09.03 |
[Flask] 3. Flask와 MySQL 연결하기 (1) | 2024.09.02 |
[Flask] 2. 회원가입, 로그인 기능 만들기 / Blueprint (0) | 2024.08.31 |