외부 서버에서 복제하는 방법

이 페이지에서는 소스 데이터베이스 서버에서 Cloud SQL 2세대 복제본으로 데이터를 복제하는 구성을 설명합니다. 이 구성은 때로 외부 마스터 구성이라고도 합니다.

다른 GCP 서비스(예: Compute Engine) 또는 다른 클라우드 제공업체(예: AWS RDS)에서 실행 중인 서버를 포함하여 어떠한 MySQL 서버든 요구사항을 충족한다면 소스 데이터베이스 서버가 될 수 있습니다.

이 구성 설정을 위한 단계별 안내는 외부 서버에서 복제를 참조하세요.

사용 사례

이 구성은 다음과 같은 목표를 달성하는 방법을 제공합니다.

  1. 최소한의 다운타임으로 데이터를 자체 관리형 MySQL 서버에서 GCP로 이전합니다.

    이전 사용 사례의 경우 복제 구성은 일시적입니다. 자세한 내용은 Cloud SQL로 데이터 이전을 참조하세요.

  2. 복제본 관리를 Cloud SQL로 오프로드하면서 서버의 코로케이션 및 제어를 유지합니다.

    이 사용 사례를 하이브리드 클라우드라고도 합니다. 자체 관리형 서버와 Cloud SQL 복제본 간의 복제는 무기한으로 지속됩니다.

구성 설명

이 구성에는 다음과 같은 인스턴스가 포함됩니다.

  • 사용자가 관리하는 MySQL 서버. 소스 데이터베이스 서버라고도 합니다.
  • Cloud SQL 복제본

    하나의 소스 데이터베이스 서버에 여러 개의 복제본이 있을 수 있습니다.

  • 소스 표현 인스턴스

    소스 표현 인스턴스는 Cloud SQL 복제본에 소스 데이터베이스 서버를 표현하는 Cloud SQL 인스턴스입니다. GCP 콘솔에 표시되며 정규 Cloud SQL 인스턴스와 동일하게 나타납니다. 하지만 데이터를 포함하지 않으며 구성 또는 유지관리가 필요하지 않고 결제에 영향을 미치지 않습니다. 소스 표현 인스턴스는 업데이트할 수 없습니다.

다음 다이어그램은 이러한 인스턴스를 보여줍니다.

외부 복제 구성을 이루는 3개의 인스턴스 다이어그램

SSL/TLS 구성

외부 서버에서 복제할 때 데이터에 대한 모든 변경사항이 공개 네트워크를 통해 소스 데이터베이스 서버와 Cloud SQL 복제본 간에 전송됩니다. 이러한 이유로 소스 데이터베이스 서버와 복제본 간 연결에 항상 SSL/TLS를 사용해야 합니다.

SSL/TLS 옵션

다음과 같은 두 가지 SSL/TLS 구성 옵션이 있습니다.

  • 서버 전용 인증

    복제본이 마스터에 연결될 때 복제본이 마스터를 인증합니다. 즉, 복제본이 올바른 호스트에 연결되어 있음을 확인하고 중간자 공격을 방지합니다. 마스터는 복제본을 인증하지 않습니다.

  • 서버 클라이언트 인증

    복제본이 마스터에 연결될 때 복제본이 마스터를 인증하고 마스터가 복제본을 인증합니다.

일반적으로 가장 강력한 보안을 제공하는 서버 클라이언트 인증을 사용해야 합니다. 하지만 복제본을 만들 때 클라이언트 인증서 및 비공개 키를 제공하고 싶지 않을 경우 서버 전용 인증을 사용하면 됩니다.

서버 전용 인증 준비

서버 전용 인증을 사용하려면 외부 서버의 인증서에 서명한 인증서 권한(CA)의 x509 PEM 인코딩 인증서를 복제본 생성 시간에 제공해야 합니다. CA에는 하나의 인증서만 포함되어야 하며 자체 서명되어야 합니다. 즉, 서버의 인증서에 서명한 인증서 권한은 루트 CA여야 합니다.

외부 서버에 대한 인증서 및 키를 만드는 방법에 대한 자세한 내용은 MySQL을 사용하여 SSL 및 RSA 인증서 및 키 만들기를 참조하세요.

서버 클라이언트 인증 준비

서버 클라이언트 인증을 사용하려면 복제본을 만들 때 다음과 같은 항목을 제공해야 합니다.

  • 소스 데이터베이스 서버의 인증서에 서명한 x509 PEM 인코딩 인증서(caCertificate)
  • 복제본이 소스 데이터베이스 서버에 대한 인증을 위해 사용할 x509 PEM 인코딩 인증서(clientCertificate)
  • clientCertificate와 연결된 암호화되지 않은 PKCS#1 또는 PKCS#8 PEM 인코딩 비공개 키(clientKey)

소스 데이터베이스 서버에 대한 인증서 및 키를 만드는 방법에 대한 자세한 내용은 MySQL을 사용하여 SSL 및 RSA 인증서 및 키 만들기를 참조하세요.

동일한 소스 데이터베이스 서버에서 여러 개의 복제본을 만드는 방법

동일한 소스 데이터베이스 서버에서 여러 개의 복제본을 만들 수 있습니다. 더 넓은 대역폭을 제공하거나 다른 지역에서 복제본을 만드는 것이 좋습니다.

동일한 지역에서 여러 개의 복제본을 만드는 경우 모두 동일한 소스 표현 인스턴스를 사용할 수도 있고 다른 소스 표현 인스턴스를 사용할 수도 있습니다. GCP 콘솔을 사용하여 여러 개의 복제본을 만드는 경우 각기 다른 소스 표현 인스턴스를 가지게 됩니다.

다른 지역에서 여러 개의 복제본을 만드는 경우 각기 다른 소스 표현 인스턴스를 가져야 합니다.

동일한 작업에서 2개 이상의 복제본을 만들 수 없습니다. 첫 번째 복제본에 대한 복제본 구성 만들기를 완료하자마자 다른 복제본에 대한 복제본 구성 만들기를 시작할 수 있습니다. 다른 복제본 만들기 시작하기 위해 첫 번째 복제본이 온전히 기능할 때까지 기다릴 필요가 없습니다. 하지만 각 복제본을 만들 때마다 15분 이내에 네트워크 액세스 승인 단계를 완료해야 합니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

MySQL용 Cloud SQL