EC2 인스턴스에 Elastic IP 할당하기

choiJaewon·2026년 3월 8일
post-thumbnail

Elastic IP (탄력적 IP)란?

EIP(Elastic IP Address)는 인터넷을 통해 접속할 수 있는 고정적인 공인 IP 주소를 할당할 수 있고, 인스턴스에 연결할 수 있는 서비스다.

모든 인스턴스 또는 네트워크 인터페이스에 탄력적 IP 주소를 연결 가능하다. EIP를 할당받고 삭제하기 전까지 IP 주소를 쭉 유지할 수 있다.

Tip: DNS 서버에서 도메인과 IP 주소를 연결해야 할 때, 또는 IP 주소가 바뀌지 않고 계속 유지해야 할 때 Elastic IP를 사용하면 된다.


Elastic IP를 사용해야 하는 이유

인스턴스의 Public IP는 고정된 IP 주소가 아니라 유동적인 IP 주소이다.

EC2 인스턴스를 STOP하고 상태가 중지 상태에서 새롭게 실행 상태로 변경하면, 기존에 할당받은 IP주소가 변경되어 버리는 현상이 생긴다. 만약 DNS 도메인에 EC2 인스턴스의 IP주소를 연결해놓았는데, 이 IP 주소가 바뀌게 된다면 문제가 발생할 것이다.

이를 해결하고자 AWS에서는 한 번 할당 받으면 절대 바뀌지 않은 Elastic IP를 제공한다.

ENI(Elastic Network Interface)와의 관계

EC2를 올리게 되면 ENI가 따라오게 되는데, ENI는 일종의 가상의 랜카드라고 생각하면 된다. ENI는 가상이긴 하지만 랜카드이기 때문에 MAC 주소와 보안그룹에 연결되어있고 IP도 가지고 있다. 그리고 이 ENI를 EC2 사이즈에 따라 여러대 달 수도 있다.

이 ENI에 퍼블릭 IP를 달게 되면 외부에서 접속할 수 있게 되는 것이다.

Elastic IP는 일종의 고정된 퍼블릭 IP로 ENI에 붙여준다. 그러면 유저가 서비스를 멈췄다가 다시 가동해도 Elastic IP는 변하지 않기 때문에 계속 같은 주소로 접속 가능하다.


Elastic IP 요금 정책

EIP는 유료 서비스이다.

Elastic IP는 사용 자체는 무료지만, 사용하지 않거나 ENI에 붙어있지 않을 때는 돈이 나가게 된다.

  • 실행 중인 인스턴스에 연결된 IP 주소 (EIP) 한 개는 무료로 사용
  • 해당 인스턴스에 추가 EIP를 연결하면 인스턴스와 연결된 추가 EIP당 시간에 비례하여 요금 부과

요금 (아시아 태평양 [서울])

항목비용
실행 중인 인스턴스와 연결된 각 추가 IP 주소시간당 0.005 USD (비례 할당)
실행 중인 인스턴스와 연결되지 않은 각 탄력적 IP 주소시간당 0.005 USD (비례 할당)
매달 처음 100개의 재매핑탄력적 IP 주소 재 매핑당 0.00 USD
매달 100개 이후 추가 재매핑탄력적 IP 주소 재 매핑당 0.10 USD

주의: AWS 리전당 5개의 탄력적 IP로 제한된다. 만약 더 필요하다면 AWS에 요청하면 된다.

핵심: 탄력적 IP는 인스턴스에 연결되어 있는 동안은 무료다. 할당만 해두고 연결 안 하면 요금이 발생한다. 쓰지 않을 때는 반드시 해제 후 릴리즈 해야 한다.


탄력적 IP 설정 방법

1단계: 탄력적 IP 할당

  1. EC2 콘솔 → 왼쪽 메뉴 → "네트워크 및 보안""탄력적 IP" 클릭
  2. 우측 상단의 "탄력적 IP 주소 할당" 버튼 클릭
  3. 탄력적 IP 주소 설정 화면에서 아래와 같이 설정한다:
    • 퍼블릭 IPv4 주소 풀: Amazon의 IPv4 주소 풀 (기본값)
    • 네트워크 경계 그룹: ap-northeast-2 (기존 리전 영역으로 세팅)
  4. "할당" 버튼을 클릭하면 탄력적 IP 할당이 완료된다.

2단계: 인스턴스에 연결

할당된 탄력적 IP와 본인의 인스턴스를 연결하는 작업을 한다.

  1. 할당된 IP 선택 → "작업""탄력적 IP 주소 연결"

  2. 인스턴스 선택 (예: RecycleProjTemporary) → "연결"

3단계: 확인

EC2 인스턴스 상세보기에서 퍼블릭 IP가 탄력적 IP로 바뀌면 완료다.


탄력적 IP 삭제 방법

Elastic IP를 삭제할 때는 아래 순서를 따른다:

  1. 연결 해제: 작업 드롭다운 메뉴에서 "탄력적 주소 연결해제"를 선택하여 인스턴스에서 IP를 해제한다.
  2. 릴리즈: 다시 작업 메뉴에서 "탄력적 IP 주소 릴리스" 항목을 누르면 정상적으로 삭제가 된다.

중요: 연결 해제 → 릴리즈 순서를 반드시 지켜야 한다. 릴리즈하지 않으면 요금이 계속 발생한다.


Elastic IP 사용시의 전체 구조

각 구성요소 역할

구성요소역할
탄력적 IP고정 IP, 재시작해도 주소 안 바뀜
보안그룹방화벽 역할, 허용된 포트만 통과
EC2 인스턴스실제 서버 컴퓨터
EBS 볼륨EC2에 붙은 하드디스크 (OS, jar 파일 저장)
VPC/서브넷EC2가 속한 가상 네트워크

현재 구조의 특징

  • 단순한 단일 서버 구조이다.
  • DB가 없으면 EC2 하나로 모든 걸 처리한다.
  • 나중에 필요하면 RDS(DB), S3(파일저장), 로드밸런서 등을 추가하는 방식이다.

접속 테스트

탄력적 IP 연결이 완료되면 아래 주소로 접속 테스트를 진행한다:

http://<퍼블릭IP>:8080

jar 배포 및 실행 확인

배포 방식 비교

배포 방식은 크게 2가지가 있다.

항목로컬 빌드 배포Docker Hub 이미지
방식jar 빌드 → scp 전송 → 실행EC2에서 이미지 pull → 실행
편의성번거로움간단
현재 상황-이미 이미지 있음

이미 Docker Hub에 이미지가 있으면 로컬 빌드/전송 과정이 필요 없고 훨씬 깔끔하다. 따라서 Docker Hub에서 이미지를 pull 받아서 사용하는 방식을 채택한다.
다음 번에는 프로젝트를 dokcer-hub에 올리는 법에 대해서 정리 하고자 한다.

0개의 댓글