1. 퍼블릭 IP

1) 정의

퍼블릭 IP는 인터넷을 통해 직접 접근할 수 있는 IP 주소.

2) 장점

  • 설정이 간단: 초기 설정이 쉽고, 어디서든 접근 가능.
  • 다른 네트워크 연결 지원: 서로 다른 네트워크 간 통신에 적합.

3) 단점

  • 보안 위험: 외부 접근이 가능하여 방화벽 설정이 필수.
  • 비용 발생: 퍼블릭 IP 사용 시 데이터 전송 비용 추가.
  • 네트워크 비효율: 같은 VPC 내에서도 인터넷을 경유하게 되어 비효율적.

4) 권장 사례

  • 초기 테스트 환경에서 빠른 설정이 필요할 때.
  • Nginx와 백엔드 서버가 서로 다른 네트워크나 VPC에 있을 때.


2. 프라이빗 IP

1) 정의

프라이빗 IP는 동일한 네트워크(VPC) 내부에서만 접근 가능한 IP 주소.

2) 장점

  • 보안성: 외부 접근이 불가능하여 보안 위협이 감소.
  • 비용 절감: VPC 내부 통신은 데이터 전송 요금이 없음.
  • 성능 최적화: 데이터가 인터넷을 거치지 않아 지연 시간이 감소.

3) 단점

  • 제한된 접근성: 같은 네트워크 내에서만 접근 가능.
  • 추가 설정 필요: VPN 또는 VPC 피어링 같은 구성이 필요.

4) 권장 사례

  • Nginx와 백엔드 서버가 같은 VPC에 있을 때.
  • 내부 통신만 필요한 프로덕션 환경.


3. 퍼블릭 IP vs 프라이빗 IP: 비교 표

항목 퍼블릭 IP 프라이빗 IP
보안 외부 접근 가능 (보안 위험 높음) 외부 접근 불가 (보안성 높음)
비용 인터넷 전송 요금 발생 같은 VPC 내에서는 무료
설정 간단 (기본적으로 접근 가능) 네트워크 설정 필요
성능 인터넷 경유로 성능 약간 저하 VPC 내 직접 연결로 성능 최적화
권장 환경 서로 다른 네트워크에서의 통신 필요 시 같은 VPC 내에서 운영 시


4. 추가 내용

1) 프라이빗 IP와 외부 접근

프라이빗 IP를 사용하면서 외부에서 접근이 필요한 경우,

  • NAT 게이트웨이를 활용하여 인터넷 액세스를 제공.
  • 로드 밸런서를 사용해 외부 요청은 퍼블릭 IP로 처리하고, 내부 통신은 프라이빗 IP로 처리.

2) AWS 보안 그룹 설정

퍼블릭 IP를 사용할 경우, 보안 그룹 설정을 통해 필요한 포트(예: 8080)만 허용하여 보안을 강화.


5. Nginx에서 사용 예시

1) 같은 VPC에 배포된 경우

프라이빗 IP를 사용하여 비용 절감 및 성능 최적화를 달성합니다.

upstream backend_servers {
    server 10.0.1.10:8080;  # EC2-1 프라이빗 IP
    server 10.0.1.11:8080;  # EC2-2 프라이빗 IP
}

2) 서로 다른 네트워크나 인터넷 통신이 필요한 경우

퍼블릭 IP를 사용하여 원활한 통신을 지원합니다.

upstream backend_servers {
    server 3.38.150.101:8080;  # EC2-1 퍼블릭 IP
    server 3.38.150.102:8080;  # EC2-2 퍼블릭 IP
}