안녕하세요! ITibiza 입니다.
백엔드 개발자로 IT업계에서 일을 하신다면 클라우드 기반에 서비스로 인프라 & 서버 등등을 구축하는 것은 어려우면서도 중요한 일이라는 것을 알고 계실 겁니다.
필자도 기업에서 AWS 활용해서 다양한 서비스를 구축했습니다.
필자는 VPC 인프라를 쉽게 이해하면
구축할 때 큰 빌딩을 만들고 빌딩 안에 각각에 층들이 독립된 네트워크라고 개념으로 VPC를 구축했습니다.
백엔드 개발자에게 정말 중요한 개념이며 이 글을 통해서 VPC에 대해서 알아보겠습니다.
2024.08.01 - [개발/Hardware] - [하드웨어 시리즈] 메모리와 메모리 구조
본론에 앞서 VPN 먼저 개념 잡기
VPN(가상사설망)은 실제 네트워크 사설망이 아닌 가상의 네트워크입니다.
VPN을 사용하면 특정 사용자들만 네트워크에 접근할 수 있도록 보안을 강화할 수 있으며, 사용자 별로 네트워크를 분리할 수도 있습니다.
2024.07.30 - [IT소식] - IT 필수 용어 VPN (Virtual Private Network) 알아보기
VPN 사용 예로
- 재택근무하는 직원이 회사 내부 네트워크에 접근해야 할 때 VPN을 사용합니다.
- 직원은 집에서 VPN을 통해 회사의 네트워크에 안전하게 접속할 수 있습니다.
- 이렇게 하면 외부에서 회사 네트워크로 접근할 때 발생할 수 있는 보안 위협을 줄일 수 있습니다.
VPC(Virtual Private Cloud)란?
VPC(가상 사설 클라우드)는 AWS 클라우드에서 가상 네트워크 환경을 설정할 수 있게 도와주는 서비스입니다.
VPC를 통해 AWS 리소스를 더 안전하고 세부적으로 제어할 수 있습니다.
VPC를 구축하면 VPC 별로 네트워크를 구성할 수 있고 각각의 VPC에 따라 다르게 네트워크 설정을 할 수 있습니다.
예를 들어 개발, 베타, 운영 환경을 가구를 독립적으로 관리 운영할 수 있습니다.
필자의 경험 사용예시
- 개발 환경:
- 우리 팀원들이 테스트하고 코드를 수정하는 환경입니다.
- VPC를 통해 외부와 격리된 안전한 개발 환경을 구성할 수 있습니다.
- 베타 환경:
- 새로운 기능을 출시하기 전에 제한된 사용자 or 관리자에게 테스트하는 환경입니다.
- VPC를 사용해 운영 환경과 분리된 독립적인 테스트 환경을 제공합니다.
- 운영 환경:
- 실제 서비스 사용자들이 사용하는 환경입니다.
- VPC를 통해 가장 높은 수준의 보안을 유지하면서 서비스를 제공합니다.
VPC(Virtu al Private Cloud) 구축하는 방법?
다음과 같은 요소로 VPC를 구축합니다.
- CIDR 블록: VPC의 IP 주소 범위를 정의합니다. 예를 들어, 10.0.0.0/16와 같은 형식입니다. 이 범위 내에서 서브넷을 나누고, IP 주소를 할당합니다.
- 서브넷: VPC 내에서 더 작은 네트워크 세그먼트입니다. 서브넷을 통해 리소스를 논리적으로 그룹화하고, 네트워크 트래픽을 관리할 수 있습니다. VPC의 CIDR 블록을 서브넷으로 나눕니다.
- 라우팅 테이블: 네트워크 트래픽이 어디로 갈지 정의합니다. 각 서브넷은 하나의 라우팅 테이블과 연결됩니다. 라우팅 테이블은 대상(CIDR 블록)과 이를 향해 트래픽을 보내는 경로(게이트웨이)를 정의합니다.
- 인터넷 게이트웨이: VPC가 인터넷과 통신할 수 있게 해주는 가상 장치입니다. 인터넷과의 트래픽을 허용하려면 서브넷의 라우팅 테이블에 인터넷 게이트웨이로의 경로를 설정해야 합니다.
- NAT 게이트웨이: 프라이빗 서브넷의 리소스가 인터넷에 접근할 수 있게 해 줍니다. 예를 들어, 보안상의 이유로 인터넷에서 직접 접근할 수 없는 데이터베이스가 소프트웨어 업데이트를 위해 인터넷에 접속해야 할 때 사용합니다.
- 보안 그룹: VPC 내의 인스턴스에 대한 트래픽을 제어하는 가상 방화벽입니다. 인바운드 및 아웃바운드 트래픽 규칙을 설정할 수 있습니다.
- 네트워크 ACL(Access Control List): 서브넷 단위로 트래픽을 제어하는 또 다른 방화벽입니다. 서브넷에 들어오거나 나가는 트래픽을 허용하거나 거부하는 규칙을 정의할 수 있습니다.
서브넷
서브넷은 VPC를 더 작은 네트워크 단위로 나누는 것입니다.
서브넷을 나누는 이유는 더 많은 네트워크망을 만들기 위해서입니다.
서브넷은 2가지로 분리됩니다.
- 퍼블릭 서브넷: 인터넷 게이트웨이와 연결되어 있어 인터넷에서 접근할 수 있는 서브넷입니다. 웹 서버와 같이 인터넷에 직접 접근이 필요한 리소스를 배치하는 데 사용합니다.
- 프라이빗 서브넷: 인터넷에서 직접 접근할 수 없는 서브넷입니다. 데이터베이스나 내부 애플리케이션 서버와 같이 외부 접근이 필요 없는 리소스를 배치하는 데 사용합니다. 필요시 NAT 게이트웨이를 통해 아웃바운드 인터넷 연결을 설정할 수 있습니다.
인터넷과 연결되어 있는 서브넷을 퍼블릭 서브넷, 인터넷과 연결되어있지 않는 서브넷을 프라이빗서브넷이라고 합니다.
VPC와 서브넷 설정 구조
- VPC 생성:
- CIDR 블록: 10.0.0.0/16
- 서브넷 생성:
- 퍼블릭 서브넷: 10.0.1.0/24
- 프라이빗 서브넷: 10.0.2.0/24
- 인터넷 게이트웨이 연결:
- 인터넷 게이트웨이를 생성하고 VPC에 연결합니다.
- 라우팅 테이블 설정:
- 퍼블릭 서브넷 라우팅 테이블: 인터넷 게이트웨이로의 경로 설정.
- 프라이빗 서브넷 라우팅 테이블: NAT 게이트웨이로의 경로 설정 (필요시).
- 보안 그룹과 네트워크 ACL 설정:
- 각 인스턴스와 서브넷에 대해 적절한 보안 규칙을 설정합니다.
AWS VPC 개념 & 서브넷 정리하면서
이번 글에서 VPN, VPC, VPC 구축방법, 서브넷에 대해서 알아봤습니다.
인프라 구축은 보안과 관리 측면에서 매우 중요합니다.
잘 구성된 인프라는 네트워크를 안전하고 효율적으로 운영할 수 있게 합니다.
AWS에서는 다양한 서비스를 제공하지만 각각에 서비스에 개념과 사용방법을 이해하며 인프라를 구축한다면 보안과 관리하기 쉽게 네트워크를 분리할 수 있습니다.
필자의 잘못된 부분이나 피드백은 언제든지 댓글로 남겨주세요!
감사합니다^^
https://itibiza.tistory.com/entry/Jenkins-Setting
https://itibiza.tistory.com/entry/Swagger-Error-Example-Customize
'AWS' 카테고리의 다른 글
[AWS] ECR(Elastic Container Registry) 개념 (0) | 2024.08.19 |
---|