AWS 퍼블릭 IP와 탄력적 IP
AWS EC2에서 백엔드 서버와 프론트엔드 서버를 돌리는 와중,
백엔드 서버의 PM2 리스트 전체가 다운이 되면서 멈추는 일이 발생했다.
이래저래 복구를 하다가, 프리티어 t2의 메모리 부족 현상때문이라는 결론에 다달았고
ec2를 재부팅하였다.
AWS 퍼블릭 IP 주소가 바뀌었다?
EC2 재부팅 결과,
서버의 퍼블릭 IPv4 주소가 바뀌는 일이 발생했다.
왜 그런가 찾아보니 AWS 기술문서에 다음과 같은 안내가 있었다.
퍼블릭 IP 주소1
다음과 같은 경우 인스턴스의 퍼블릭 IP 주소가 변경됩니다.
- 중지되었거나 최대 절전 모드로 전환된 인스턴스는 다시 시작될 때 새 퍼블릭 IP 주소를 받습니다.
- 인스턴스의 연결된 엘라스틱 IP 주소가 인스턴스에서 연결 해제되는 경우, 새 퍼블릭 IP 주소를 받습니다.
퍼블릭 IP 주소가 더 이상 인스턴스와 연결되지 않으면 해당 주소는 퍼블릭 IP 풀로 돌아갑니다. 중지된 인스턴스에 대해 동일한 퍼블릭 IP 주소를 복구할 수 없습니다.
문제는 바뀐 주소를 프론트엔드 코드에서 다시 설정 해줘야 한다는 부분이었다.
다행히 프론트엔드 코드에서 백엔드 서버 주소는 .env 또는 config 파일로 변수처리를 해줬기때문에 간단한 작업만으로 가능했지만,
절대주소처럼 돌아가야 할 서버 주소가 앞으로도 언제든 바뀔 수 있다는 점은 그 때마다 프론트의 코드를 만져줘야 한다는 부분에서 큰 불편요소로 다가왔다.
AWS 퍼블릭 IP주소를 고정값으로 쓰려면?!
탄력적 IP 주소1
탄력적 IP 주소를 사용하는 것이 가장 좋습니다. 탄력적 IP 주소는 인스턴스가 아닌 계정에 할당됩니다.
필요에 따라 탄력적 IP 주소를 인스턴스와 연결할 수 있습니다.계정에 할당된 탄력적 IP 주소는 해제 시 복구할 수 있습니다. 자세한 내용은 탄력적 IP 주소 복구를 참조하십시오.
모든 인스턴스는 중지될 때 연결된 탄력적 IP 주소를 유지합니다. AWS는 중지된 인스턴스와 연결된 탄력적 IP 주소에 대한 요금을 계속 청구합니다.
참고: 자동 할당된 동적 퍼블릭 IP 주소를 탄력적 IP 주소로 변환할 수 없습니다.
탄력적 IP의 비용은 어떻게 될까?
탄력적 IP 주소 요금 부과 2
실행 중인 인스턴스에 연결된 엘라스틱 IP 주소(EIP) 한 개는 무료로 사용할 수 있습니다.
해당 인스턴스에 추가 EIP를 연결하면 인스턴스와 연결된 추가 EIP당 시간에 비례하여 요금이 부과됩니다.
추가 EIP는 Amazon VPC에서만 사용할 수 있습니다.탄력적 IP 주소의 효율적인 사용을 보장하기 위해 IP 주소가 실행 중인 인스턴스와 연결되어 있지 않거나, 중지된 인스턴스 또는 분리된 네트워크 인터페이스와 연결되어 있는 경우 소액의 시간당 요금이 부과됩니다. Bring Your Own IP를 사용하여 AWS로 가져온 IP 주소 접두사에서 생성하는 탄력적 IP 주소에 대해서는 요금이 부과되지 않습니다.
AWS를 사용중이라면 1개까지는 무료로 사용가능하지만,
주의할 점은
탄력적 IP 주소를 생성 후, **사용하지 않는다면!! 요금이 부과된다는 점이다. **
(AWS 문서를 찾아보면 ip주소 점유 방지를 위함이라고 한다.)
탄력적 IP 생성과 사용 적용 및 삭제는 아래 블로그에서 아주 잘 설명되어있다.
Related Content
- AWS Public IP 요금 부과에 따른 대처 및 EC2를 이용한 RDS 외부 연결하기
- AWS EC2 서버에 HTTPS 적용하기(2) - Cloudflare 이용 방법
- AWS EC2 서버에 HTTPS 적용하기(1) - Route53과 로드밸런서 이용
- AWS EC2에서 Product 서버와 개발용 서버 같이 사용하기
- AWS RDS 데이터 - 다른 계정으로 이전하기