제 작품에서 기존의 일부 엔터프라이즈 Java 응용 프로그램을 AWS로 옮겨야합니다. 나는 aws.amazon.com에 많은 페이지를 훑어보고 또한 충분히 googled했다. 또한, stackoverflow에서 모든 관련 질문을 통해 갈려고했습니다. 이 모든 것들이 많은 것들을 분명하게 만들었지 만, 나는 아직도 혼란 스러움을 가지고 있습니다. 다음은 우리의 애플리케이션 구조입니다 :MySQL을 사용하는 Java EE 웹 응용 프로그램의 Amazon Cloud 구성
- 스프링 MVC를 표현 레이어로 사용하고 비즈니스 및 데이터 로직을 처리하기위한 일반 Java 인터페이스 및 클래스를 사용하는 스프링 기반 응용 프로그램입니다.
- MySQL은 지속성을 위해 사용됩니다.
따라서 응용 프로그램 아키텍처는 충분히 간단합니다. 그러나이 응용 프로그램의 많은 인스턴스를 배포해야한다는 것이 문제입니다. 이 수는 현재 15이며 30을 초과 할 수 있습니다. 한 가지 더 요점은이 모든 인스턴스가 공통 데이터베이스를 공유한다는 것입니다. 응용 프로그램에 대한
- 높은 내결함성을 : 지금 여기
우리가 AWS로 이동하여 달성하는 데 필요한 것입니다. 최근에 우리는 몇 시간의 다운 타임을 야기하는 전용 호스팅에서 서버/전원 장애를 경험했습니다.
- 응답 시간 및 처리량면에서 모든 응용 프로그램 인스턴스의 성능이 향상되었습니다.
- MySQL의 내결함성이 향상되었습니다. 근본적으로 MySQL이 예기치 않게 중지되는 일부 하드웨어 (하드 드라이브)로 인해 응용 프로그램 인스턴스가 우리 서버 중 하나에 최근에 다운되었습니다. 하드 드라이브의 전체 파일 시스템이 읽기 전용으로되어 해당 서버에서 호스팅되는 응용 프로그램 인스턴스가 오작동을 일으켰습니다.
- 분명히 인프라 관리의 총 비용과 오버 헤드를 줄입니다.
지금까지 내가 지금까지 AWS 인프라를 이해할 수 나처럼, 우리가 우리의 설치에 AWS에 필요한 것 인 것이다 : 일부 EBS의,
- 4 경우, 각각의 호스팅 약 10 응용 프로그램 인스턴스 Tomcat과 MySQL이 설치된 LINUX AMI를 기반으로합니다.
- 나는 4 인스턴스 각각에 대해 내결함성을 위해 1 인스턴스가 필요하다고 추측하고있다.
- 모든 서버 인스턴스에는 약 160GB의 EBS가 있습니다. 스냅 샷 등 같은
- 4 개 탄성 IP를 이
- 4 탄성로드 밸런서
- 다른 물건
지금 여기 내 질문은 :
- 난 정말 그 여분의 서버 인스턴스를해야합니까 EBS가 AWS에 의해 자동으로 백업된다는면을 고려하여 각 주 서버 인스턴스에 대해 (내결함성을 위해) 하드웨어 장애 발생시 새로운 EBS에 동일한 데이터를 제공합니까?
위 시나리오에서 모든 서버 인스턴스 (4x2)간에 어떻게 데이터베이스를 공유합니까? 하나의 옵션은 MySQL 클러스터링을 구현하는 것입니다. MySQL 클러스터에는 1 개의 관리 노드, 3 개의 SQL 노드 및 4 개의 데이터 노드가 포함됩니다.그러나이 경우 클러스터를 유지 관리하는 것은 추가 오버 헤드가 될 수 있으며 인프라 관리를 없애기 위해 허용되지 않을 수 있습니다.
데이터베이스 대신 RDS가 있어야하고 모든 서버 인스턴스 (4x2)에서 MySQL 인스턴스를 제거해야합니까? 그렇다면 EC2 인스턴스 외에도 RDS 인스턴스를 구입해야합니까 (RDS에 대해 별도의 인스턴스를 구입해야한다면 전체 인프라 비용이 적어도 75 % 증가 할 것입니다). RDS 인스턴스는 또한 계산 단위 응용 프로그램 개발을 위해 응용 프로그램 배포를위한 총 인스턴스 수를 줄이십시오?
RDS 구현의 경우 실제로 EBS 기반 EC2 인스턴스가 필요합니까? RDS 인스턴스가있는 EC2 인스턴스에서 EBS 요구 사항을 제거하는 방법이 있으면 전체 비용을 줄일 수 있습니다.
아무런 도움이 필요 하시겠습니까? 제 문제를 명시하고 어떤 점에 대해 더 명확히해야하는지 명확하지 않은 경우 알려주십시오.
응용 프로그램의 다른 인스턴스를 호스팅 할 때 4 개의 주 서버에 대해 4 개의 서로 다른 IP를 가지므로 각 서버는 내결함성을 위해 적어도 하나의 인스턴스가 필요합니다. 전혀 관용. 또한 RDS의 경우 Multi-AZ 배포를 통해 2 개의 작은 인스턴스를 고려 중입니다. – vikas
괜찮습니다. 4 개의 "외부"IP 주소가있는 것 같으므로 하나 이상의 각 IP 주소를 호스팅하는 4 개의 ELB (탄성 부하 분산) 인스턴스를 구성한 다음 둘 이상의 EC2 컴퓨팅 노드를 추가하여 주문형 내결함성을 추가 할 수 있습니다 필요에 따라 각 ELB에RDS에 관해서는 설정이 좋아 보이며 Multi-AZ는 반드시가는 길입니다. 응용 프로그램에 DB 읽기가 너무 많으면 일부 읽기 복제본을 추가로 구성 할 수 있습니다. – Viccari