ㅁ 풀어야 할 문제
서버를 패치하거나 서버를 업그레이드 할 때 서버의 정비 필요함 이와 같은 서버의 정지 시간을 최소화 하기 위하여 웹 서버의 경우 DNS 구조를 이용해 서버 변경 가능하다. 하지만 그런 경우 일반적으로 TTL(Time to Live) 값보다 서버가 변경되는 시간을 짧게 할 수 없어서 즉시 변경하려는 구성에 적합하지 않음
기존 물리 서버의 경우, 서버 정지에 대비하여 예비 서버를 준비해 놓음.
서비스용 서버가 정지한 후 예비 서버를 가동하여 (서비스용 서버의) IP Address 설정 시 서비스용 서버를 대신하여 처리가 가능
클라우드에서는 서버 이미지를 준비해두면 필요할 때 필요한 가상 서버를 가동 가능 또한 IP 어드레스를 지정하는 API도 있으므로 서버의 가동부터 IP 어드레스 설정까지 스크립트를 이용하여 자동화
AWS에서 허용할 수 있는 고정 IP 어드레스를 [EIP(Elastic IP Address)라고 함
이를 이용하면 IP 어드레스를 변경할 수 있음.
기존 EC2 인스턴스의 EIP를 분리하여 다른 EC2 인스턴스에 연결하면 서비스를 제공하는 가상 서버를 변경 가능
- EC2 인스턴스에 EIP를 할당
- 장애나 업그레이드 시 새로운 EC2 인스턴스를 가동, 가동 할 때 Stamp 패턴 등을 이용해도 좋음 또한 보다 빨리 변경하기 위해 다른 EC2 인스턴스를 가동해둬도 됨
- 인스턴스를 가동하고 현재 EC2 인스턴스로부터 EIP를 분리하여 새로운 EC2 인스턴스에 연결
- EIP를 바꾸는 것이기 때문에 DNS의 TTL 영향을 주지 않고 바로 서버 변경 가능
- 업그레이드 시 만약 변경할 서버에 에러가 발생해도 바로 기존 서버에 EIP를 설정 시 FullBack 가능
- EIP는 다른 가용존에도 적용되므로 가용존 레벨의 장애 발생 시 다른 가용존에 있는 서버의 EIP 변경 가능
- EIP 변경 시 몇 초 정도 시간이 소요
- VPC(Virtual Private Cloud)의 경우 네트워크 카드에 고정 사설 IP Address 할당 가능, 따라서 네트워크 카드를 다른 EC2 인스턴스에 부여할 수 있어 사설 네트워크에서도 이 패턴 적용 가능
- 그러나 VPC에서는 서브넷을 넘는 어드레스를 바꿀 수 없는 점에 주의하여야 함
- 또한 EIP에 SSH 접속을 하고 있을 경우 같은 IP로 서버가 바뀌므로 로그인이 되지 않는 경우가 발생