AWS

누구나 이해할 수 있는 AWS VPC 개념 & 서브넷

ITIbiza 2024. 8. 1. 15:54

VPC

안녕하세요! ITibiza 입니다.

 

백엔드 개발자로 IT업계에서 일을 하신다면 클라우드 기반에 서비스로 인프라 & 서버 등등을 구축하는 것은 어려우면서도 중요한 일이라는 것을 알고 계실 겁니다.

 

필자도 기업에서 AWS 활용해서 다양한 서비스를 구축했습니다.

 

필자는 VPC 인프라를 쉽게 이해하면

구축할 때 큰 빌딩을 만들고 빌딩 안에 각각에 층들이 독립된 네트워크라고 개념으로 VPC를 구축했습니다.

 

백엔드 개발자에게 정말 중요한 개념이며 이 글을 통해서 VPC에 대해서 알아보겠습니다.

 

개발자 기초 지식

2024.08.01 - [개발/Hardware] - [하드웨어 시리즈] 메모리와 메모리 구조

 

[하드웨어 시리즈] 메모리와 메모리 구조

안녕하세요! ITibiza입니다. 이 글은 메모리란 무엇인지 메모리 구조는 어떻게 되어 있고 어떻게 처리되는지 알아 보려고 합니다. TMI긴 하지만 제가 첫 면접 봤을 때 면접관이 메모리란 무엇인지

itibiza.tistory.com

 

본론에 앞서 VPN 먼저 개념 잡기

 

VPN(가상사설망)은 실제 네트워크 사설망이 아닌 가상의 네트워크입니다.

VPN을 사용하면 특정 사용자들만 네트워크에 접근할 수 있도록 보안을 강화할 수 있으며, 사용자 별로 네트워크를 분리할 수도 있습니다.

 

2024.07.30 - [IT소식] - IT 필수 용어 VPN (Virtual Private Network) 알아보기

 

IT 필수 용어 VPN (Virtual Private Network) 알아보기

안녕하세요! ITibiza입니다. VPN은 Virtual Private Network 약자이며 가상 사설망으로 번역됩니다.인터넷과 같은 공공 네트워크를 통해 사설 네트워크를 구축하여 안전하고 익명적으로 데이터를 송수신

itibiza.tistory.com

 

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와 서브넷 설정 구조

  1. VPC 생성:
    • CIDR 블록: 10.0.0.0/16
  2. 서브넷 생성:
    • 퍼블릭 서브넷: 10.0.1.0/24
    • 프라이빗 서브넷: 10.0.2.0/24
  3. 인터넷 게이트웨이 연결:
    • 인터넷 게이트웨이를 생성하고 VPC에 연결합니다.
  4. 라우팅 테이블 설정:
    • 퍼블릭 서브넷 라우팅 테이블: 인터넷 게이트웨이로의 경로 설정.
    • 프라이빗 서브넷 라우팅 테이블: NAT 게이트웨이로의 경로 설정 (필요시).
  5. 보안 그룹과 네트워크 ACL 설정:
    • 각 인스턴스와 서브넷에 대해 적절한 보안 규칙을 설정합니다.

 

AWS VPC 개념 & 서브넷 정리하면서

이번 글에서 VPN, VPC, VPC 구축방법, 서브넷에 대해서 알아봤습니다.

 

인프라 구축은 보안과 관리 측면에서 매우 중요합니다.

잘 구성된 인프라는 네트워크를 안전하고 효율적으로 운영할 수 있게 합니다.

 

AWS에서는 다양한 서비스를 제공하지만 각각에 서비스에 개념과 사용방법을 이해하며 인프라를 구축한다면 보안과 관리하기 쉽게 네트워크를 분리할 수 있습니다.

 

 


 

 

필자의 잘못된 부분이나 피드백은 언제든지 댓글로 남겨주세요!

감사합니다^^

 

 

https://itibiza.tistory.com/entry/%EB%8F%84%EC%BB%A4-%EC%9E%85%EB%AC%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-MacOS%EC%97%90%EC%84%9C-Docker-%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

[도커 입문 시리즈] MacOS에서 Docker 설치하는 방법

이 글에서는 입문자를 위한 도커 시리즈로 도커 입문 시리즈 - MacOS에서 Docker 설치하는 방법에 대해서 소개합니다. 안녕하세요! ITibiza입니다. 본론에 앞서 입문자를 위한 도커 시리즈로 도커를

itibiza.tistory.com

 

 

https://itibiza.tistory.com/entry/Jenkins-Setting

 

[젠킨스] Jenkins 설치 및 구동

/etc/init.d/jenkins start운영체제 : CentOS8 1. 설치작업 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.keyyum install jenkins 2. 설

itibiza.tistory.com

 

 

https://itibiza.tistory.com/entry/Swagger-Error-Example-Customize

 

[스웨거] Swagger Error Example Customize

프로젝트 기한이 2달 밖에 되지않아 Swagger Error Document작업을 하지 못했는데 작업 방법을 찾아보다 여러 블로그 글들 중 좋은 포스팅이 보여 참고 하여 작업을 시작했다.   https://devnm.tistory.com/29

itibiza.tistory.com

 

'AWS' 카테고리의 다른 글

[AWS] ECR(Elastic Container Registry) 개념  (0) 2024.08.19