본문 바로가기

카테고리 없음

Elastic IP와 DNS 라우팅 구조 설명

반응형

클라우드 환경에서 서비스를 운영하다 보면 “IP는 왜 바뀌지?”, “도메인은 어떻게 서버를 찾지?”, “Elastic IP는 꼭 필요한가?” 같은 질문들이 자주 등장합니다.
클라우드는 자동 확장·자동 복구 같은 기능 때문에 인스턴스의 상태가 자주 변하며, 그 과정에서 네트워크 구조도 동적으로 바뀝니다. 이런 특성 때문에 고정된 주소 개념(EIP), 이름 기반 라우팅(DNS) 은 필수적인 구성요소가 됩니다.

이 글에서는 AWS를 중심 개념으로 하되, GCP·Azure 등 주요 클라우드에서 동일하게 적용되는
Elastic IP(EIP)의 개념, DNS 라우팅 구조, 그리고 둘의 관계를 명확하게 정리해드립니다.

1. Elastic IP란 무엇인가

Elastic IP(탄력적 IP)는 고정된 공인 IP 주소를 의미합니다.
클라우드 인스턴스(EC2, VM)는 언제든지 종료/재시작되면서 새로운 공인 IP를 받을 수 있는데, 이런 구조에서는 안정적인 서비스 운영이 어렵습니다.

예를 들어 서버를 재부팅했는데 IP가 바뀌어버리면,
사용자는 기존 주소로 접속할 수 없고, API 호출도 전부 끊기게 됩니다.

Elastic IP는 이러한 문제를 해결하기 위해 제공되는 기능으로,
변하지 않는 고정 공인 IP를 하나 발급받아 필요한 인스턴스에 지속적으로 연결할 수 있습니다.
심지어 인스턴스가 장애로 교체되더라도, Elastic IP만 다른 서버에 붙여주면 서비스 주소를 그대로 유지할 수 있습니다.

Elastic IP의 핵심 특징을 다시 정리하면 다음과 같습니다.

  • 공인 IP 주소를 고정적으로 부여
  • 인스턴스를 교체해도 IP는 유지
  • 장애 복구 시 EIP만 다른 인스턴스에 연결하면 즉시 서비스 복구
  • 고정 IP 기반 firewall rule, API 접근 제어 등에 유리

클라우드 환경에서 “변하지 않는 엔드포인트”를 제공해야 할 때 매우 유용합니다.

2. DNS와 라우팅의 기본 개념

DNS(Domain Name System)는
도메인 이름을 실제 IP 주소로 변환해주는 인터넷 전화번호부입니다.

사용자가 브라우저에 example.com을 입력하면,
DNS는 이 문자열을 서버의 실제 IP 주소로 변환해 사용자가 올바른 서버에 접속할 수 있도록 도와줍니다.

DNS는 여러 계층을 거쳐 조회가 이루어지며,
도메인 별로 A 레코드, CNAME 레코드 등 다양한 유형의 기록을 저장합니다.

대표적인 DNS 레코드 의미를 간단히 이해해보면,

  • A 레코드: 도메인 → IPv4 주소
  • AAAA 레코드: 도메인 → IPv6 주소
  • CNAME 레코드: 도메인 → 다른 도메인으로 연결
  • NS 레코드: 도메인의 네임서버 지정

도메인이 실제 서버로 연결될 때 가장 주요하게 사용되는 것은 A 레코드입니다.
이 A 레코드에 Elastic IP가 연결되는 구조로 서비스가 완성됩니다.

3. Elastic IP와 DNS가 함께 동작하는 구조

Elastic IP와 DNS는 함께 사용할 때 가장 강력한 효과를 냅니다.
동작 흐름을 이해하기 쉽게 정리해보면 다음과 같습니다.

  1. 먼저 AWS에서 Elastic IP를 발급받습니다.
  2. 이 EIP를 EC2 인스턴스에 연결합니다.
  3. DNS 설정(A 레코드)에 도메인을 EIP 주소로 연결합니다.
  4. 사용자가 브라우저에 도메인을 입력하면 DNS 조회가 진행됩니다.
  5. DNS가 EIP를 반환하고, 브라우저는 해당 IP로 연결합니다.
  6. EIP는 현재 연결된 EC2로 트래픽을 전달해 서비스가 응답합니다.

이렇게 구성하면 인스턴스가 교체되거나 장애가 나더라도
Elastic IP는 그대로 유지되기 때문에 DNS 레코드를 수정할 필요가 없습니다.
단지 EIP를 새 인스턴스에 붙여주기만 하면 즉시 복구됩니다.

4. 왜 클라우드에서는 DNS만으로는 부족한가?

DNS의 가장 큰 단점은 전파 시간(Propagation Delay) 입니다.
도메인의 A 레코드를 변경하면, TTL(Time To Live)에 따라
전세계 DNS 서버에 정보가 퍼지는 데 수 분에서 수 시간이 걸릴 수 있습니다.

즉, DNS만으로 IP를 변경하려 하면 “즉시 반영”이 어렵습니다.

반대로 Elastic IP는 DNS 전파 시간을 기다릴 필요 없이
“IP는 그대로 두고, 연결된 인스턴스만 바꿔치기”할 수 있습니다.

그래서 클라우드에서는 DNS만 의존하기보다
Elastic IP + DNS 조합을 사용하는 것이 일반적입니다.

5. 로드밸런서와 함께 사용할 때의 구조

단일 서버가 아니라 여러 서버를 운영한다면
Elastic IP보다 로드밸런서(LB) + DNS 조합이 더 효율적입니다.

왜냐하면 EC2 여러 대를 운영할 때 Elastic IP는 1:1 구조이기 때문입니다.
반면 로드밸런서는 여러 인스턴스와 연결되며,
DNS는 로드밸런서의 엔드포인트 주소로 연결됩니다.

구조는 다음과 같습니다.

  1. DNS 도메인 → 로드밸런서 주소로 연결
  2. 로드밸런서 → 여러 인스턴스에 트래픽 분배
  3. Auto Scaling으로 인스턴스를 자동 추가/제거
  4. 로드밸런서는 자동으로 새 인스턴스를 등록/제외
  5. DNS 수정은 필요 없음

이 구조에서는 Elastic IP가 필요하지 않을 수 있습니다.
AWS의 ALB처럼 고정 IP가 없는 로드밸런서도 DNS만으로 충분히 운영 가능합니다.

6. Elastic IP를 사용해야 하는 경우

다음 상황에서는 Elastic IP가 매우 유용합니다.

  • 고정 IP 기반 접근 제어가 필요한 API 서버
  • VPN 연결이 필요한 서비스
  • 외부 시스템에서 IP 화이트리스트 등록이 필요한 경우
  • 로드밸런서 없이 단일 서버 운영
  • 인스턴스 재생성·교체가 잦지만 주소는 유지하고 싶은 경우

반대로 대규모 트래픽이나 수평 확장이 필요한 서비스라면
로드밸런서 + DNS 조합이 더 적합합니다.

7. 결론

Elastic IP는 클라우드 환경에서 고정 IP 문제를 해결하는 핵심 기술이며,
DNS는 도메인 이름을 실제 IP로 연결하는 인터넷의 기본 구조입니다.
두 기술은 함께 사용할 때 가장 강력하며,
서비스 특성에 따라 혹은 로드밸런서 구조와 조합해 다양한 아키텍처를 구성할 수 있습니다.

클라우드에서 안정적인 서비스 운영을 위해서는
“DNS는 이름을 관리하고, Elastic IP는 주소를 고정한다”는 관점을 이해하는 것이 중요합니다.

반응형