배포 / 클라우드

VPC(Virtual Private Cloud)

VPC는 클라우드 자원을 배치하고 통신 경로와 접근 규칙을 정하는 가상 네트워크입니다.

쉬운 설명

클라우드에서 서버나 데이터베이스를 만들 때 “어느 VPC에 넣을까요?”라는 설정을 만날 수 있어요. VPC는 서버 한 대가 아니라, 자원들이 어떤 주소를 쓰고 어디와 통신할지 구성하는 네트워크예요. 예를 들어 앱 서버는 사용자의 요청을 받고 데이터베이스는 앱 서버의 접속만 받도록 구성할 수 있어요. VPC를 선택하는 것만으로 이런 규칙이 모두 완성되지는 않아요.

이런 상황에서 만나요

AI로 만든 앱에 데이터베이스를 연결하다가 “앱 서버에서 DB로 접속이 안 된다”는 상황을 만났다고 해 볼게요. 접속 주소와 비밀번호뿐 아니라 두 자원이 속한 네트워크와 허용 규칙도 살펴봐야 해요.

데이터베이스에 누가 접속할지 정해요

설명용 화면
1같은 네트워크에 배치

VPC study-network

앱 서버 / 데이터베이스

2허용하려는 통신

앱 서버 → 데이터베이스

DB 접속에 필요한 통신 허용

3연결 실패 시 확인

통신 경로 → 접근 규칙 → DB 계정

  1. 1두 자원을 어느 네트워크에 배치했는지 확인해요.
  2. 2모든 외부 주소가 아니라 앱 서버에서 오는 접속을 허용하는 예시예요.
  3. 3각 단계가 맞아야 실제 연결이 이루어져요.
앱과 DB의 접근 범위를 설명하기 위한 구성 예시입니다. 실제 클라우드의 입력 양식이나 완성된 보안 설정이 아닙니다.

아래는 앱 서버만 데이터베이스에 접속하도록 정한 구성 예시예요. 실제로는 통신 경로와 방화벽 역할을 하는 규칙, 데이터베이스의 계정 권한을 함께 확인해요. 같은 VPC에 있다는 사실만으로 접속 성공이 보장되지는 않아요.

헷갈리기 쉬운 점

VPC 안에 있으면 인터넷에서는 무조건 접근할 수 없나요?

아니에요. 외부 연결 경로와 주소, 접근 규칙에 따라 공개되는 자원도 있을 수 있어요. “사설”이라는 이름보다 해당 자원의 실제 설정을 확인해야 해요.

접속 문제를 해결하려고 데이터베이스 접근을 모든 주소에 허용하지 않아요. 어느 프로그램이 어디에서 접속해야 하는지 먼저 정하고 필요한 범위만 허용해요.

왜 알아야 할까요?

DB 연결이 실패할 때 코드·계정 문제와 네트워크 문제를 나누어 확인할 수 있어요. 앱을 공개하더라도 데이터베이스까지 같은 방식으로 공개할 필요가 없다는 점도 이해할 수 있어요.

조금 더 자세히

VPC는 Virtual Private Cloud의 줄임말입니다. 클라우드 안에서 다른 네트워크와 논리적으로 구분된 네트워크를 구성합니다. 서브넷은 이 안의 주소 범위를 나누는 단위이고, 라우팅은 트래픽이 갈 경로를 정합니다.

AWS에서는 보안 그룹 등으로 자원의 통신을 허용할 범위를 정합니다. 다른 VPC나 외부 네트워크와 연결하려면 별도 연결과 경로 설정이 필요할 수 있습니다. 제공자마다 네트워크 단위와 설정 이름은 다릅니다.

직접 사용할 때 확인해 보세요

  • 앱과 DB가 속한 네트워크를 확인한다
  • 접속 경로와 허용 규칙을 대조한다
  • 네트워크 연결과 DB 계정 권한을 따로 확인한다

관계 지도

VPC(Virtual Private Cloud) 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
VPC(Virtual Private Cloud)의 정의와 관련 개념 간 관계를 설명한 계층형 그래프