AWS : 단일 RDS 인스턴스를 사용한 다중 리전 설정


11

다중 지역 체계로 웹 응용 프로그램 (PHP, MySQL, memcache)을 확장하려고합니다. 현재 우리는 ELB와 RDS 인스턴스 뒤에 2 개의 EC2 인스턴스가있는 설정을 사용하고 있으며, 모두 US-EAST (버지니아) 리전에서 사용됩니다.

우리는 EU (아일랜드) 지역에도 진출하고 싶습니다. 이는 적어도 새로운 EC2 인스턴스 (다른 애플리케이션과 동일하며 동일한 애플리케이션을 제공함)를 의미합니다.

원하는 AMI를 복사하고 새 인스턴스를 설정하고 동일한 ELB 구성 (SSL 종료에 필요)을 설정하고 Route53에서 대기 시간 기반 라우팅을 구성했습니다. 그리고 그것은 제안대로 작동합니다.

그러나 EU 고객은 속도 문제가 있습니다. 이는 EU EC2 인스턴스가 미국 기반 RDS 인스턴스에 연결되어 있기 때문입니다. 내가 아는 한 아마존은 아직 RDS 다중 리전 복제를 활성화하지 않았습니다.

단일 RDS 인스턴스를 사용하는 동안 전체 설정 속도를 올바르게 높이는 방법에 대한 제안이 있습니까?

또한 확장하는 방법에 대한 일반적인 아이디어가 있습니까? 이상적으로 우리는 다양한 이유로 RDS 기술을 계속 사용하고 싶습니다. 그럼에도 불구하고, 나는 제안에 열려 있습니다 (다음 아이디어는 우리 자신의 MySQL 서버를 호스팅하는 것이라고 생각합니다).

답변:


5

왜 미국과 EU에서 동일한 데이터를 가져야하는지 신중하게 생각해야합니다. 결국 이들은 다른 사용자입니다.

다중 지역 환경에서 실행하는 것은 훨씬 더 복잡하며 일반적으로 미국과 EU 간의 고유 한 대기 시간으로 인해 성능을 저하시킵니다.

RDS에서 벗어나 비동기 또는 동기로 리전간에 데이터를 복제하려고해도 지연 성능 문제가 발생하여 사용자에게 성능이 저하 될 수 있습니다.

가장 쉬운 방법은 EU에 전용 RDS 서버를 설정하고 이러한 인스턴스간에 아무 것도 공유하지 않는 것입니다.


안녕하세요 Guy, 여기서 문제는 EU와 미국 고객이 동일한 데이터에 액세스 할 수 있어야한다는 것입니다. 해결 방법 / 아이디어가 있습니까?
Ion

이 데이터는 얼마나 자주 업데이트됩니까? (빈번하지 않은 경우 리전간에 쉽게 복제 할 수 있습니까?)
Guy

데이터는 일반적으로 자주 업데이트됩니다. 또한 응용 프로그램이 사용자가 늘어남에 따라 더 자주 업데이트되기 시작합니다. 다른 해결책을 찾아야한다고 생각합니다.
Ion

4

RDS는 대기 시간이 짧기 때문에 단일 지역 배포에 적합하지만 다른 지역으로 확장하기 시작하면 다른 이야기가됩니다. RDS 인스턴스를 유지하려는 경우 EU 지역에 고유 한 MySQL 서버를 설정하고 복제를 수행 할 수 있습니다. 이런 식으로 속도가 훨씬 더 수용 가능할 것입니다.


1
RDS 인스턴스를 일정한 간격으로 복제하는 (반) 자동 방법이 있습니까? 어떤 아이디어? 이 복제본도 읽기 전용이라고 가정합니다.
이온

AWS는 기본적으로 읽기-복제본을 지원합니다. aws.amazon.com/rds/faqs/#86- 읽기 / 쓰기 복제는 가능하지만 SF 범위를 벗어납니다. DBA 사이트).
Nathan C

예, 그러나 읽기-복제본은 동일한 지역에서 생성됩니다. 다른 지역에 읽기 전용 복제본이 필요하며 마지막으로 확인한 후에는이를 지원하지 않습니다.
Ion


1

나는 이것이 당신이 원하는 것이라고 믿습니다. 다른 지역에서 mysql을 실행하는 EC2에 대한 RDS 복제

https://aws.amazon.com/about-aws/whats-new/2013/09/05/amazon-rds-new-data-migration-capabilities-mysql/


서버 결함에 오신 것을 환영합니다! 이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
slm

고마워, 흥미로운 것 같아! 이것은 더 관련있는 링크입니다. docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
Ion

0

지연 시간을 개선하는 한 가지 가능한 솔루션은 Amazon ElastiCache (기본적으로 덮개 아래 Memcached)를 사용하는 것입니다.

각 리전 (US-EST 및 EU)에 ElastiCache 노드를 생성하고 애플리케이션 로직 (EC2)이 가능할 때마다 캐시 노드를 사용하도록해야합니다. 이 경로를 사용하는 경우 1) 캐시 할 대상과시기 및 2) 로컬 ElastiCache 노드에서 최대한 많이 가져 오기 위해 애플리케이션을 다시 아키텍처해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.