Database Migration Service를 사용하여 소스 데이터베이스에서 대상 데이터베이스로 데이터를 마이그레이션하려면 데이터베이스 간에 연결을 설정해야 합니다.
소스 연결
Database Migration Service는 IP 허용 목록, 전달 SSH 터널, VPC 피어링 네트워크 연결 방법을 지원합니다.
다음 표에 있는 정보를 사용하여 특정 워크로드에 가장 적합한 방법을 결정할 수 있습니다.
네트워킹 방법 | 설명 | 장점 | 단점 |
---|---|---|---|
IP 허용 목록 | Database Migration Service의 공개 IP 주소에서 들어오는 연결을 허용하도록 소스 데이터베이스 서버를 구성하여 작동합니다. |
|
|
정방향 SSH 터널 |
정방향 SSH 터널을 통해 Database Migration Service와 소스 사이의 공개 네트워크를 통해 암호화된 연결을 설정합니다. SSH 터널에 대해 자세히 알아보기 |
|
|
VPC 피어링 | 비공개 연결 구성을 만들어 작동합니다. Database Migration Service는 이 구성을 사용하여 비공개 네트워크를 통해 데이터 소스와 통신합니다. 이 통신은 Virtual Private Cloud(VPC) 피어링 연결을 통해 이루어집니다. |
|
|
대상 연결
Private Service Connect를 사용하여 PostgreSQL용 AlloyDB 대상 데이터베이스에 대한 비공개 연결을 설정합니다.
IP 허용 목록을 사용하여 연결 구성
Database Migration Service가 소스 데이터베이스에서 대상 데이터베이스로 데이터를 전송하려면 Database Migration Service가 먼저 이 데이터베이스에 연결되어야 합니다.
이 연결을 구성하는 한 가지 방법은 IP 허용 목록을 사용하는 것입니다. 공개 IP 연결은 소스 데이터베이스가 Google Cloud 외부에 있고 Google Cloud 외부적으로 액세스할 수 있는 IPv4 주소 및 TCP 포트가 있을 때 가장 적합합니다.
소스 데이터베이스가 Google Cloud외부에 있으면 Database Migration Service의 공개 IP 주소를 소스 네트워크에서 인바운드 방화벽 규칙으로 추가합니다. 네트워크 설정이 각 경우마다 다를 수 있지만 일반적으로 다음을 수행합니다.
소스 데이터베이스 머신의 네트워크 방화벽 규칙을 엽니다.
인바운드 규칙을 만듭니다.
소스 데이터베이스의 IP 주소를 Database Migration Service의 IP 주소로 설정합니다.
프로토콜을
TCP
로 설정합니다.TCP
프로토콜과 연관된 포트를1521
로 설정합니다.방화벽 규칙을 저장한 후 종료합니다.
SSH 터널 사용
1단계: 터널을 종료할 호스트 선택
데이터베이스에 대해 SSH 터널 액세스를 설정하는 첫 번째 단계는 터널을 종료하는 데 사용할 호스트를 선택하는 것입니다. 데이터베이스 호스트 자체 또는 별도의 호스트(터널 서버)에서 터널을 종료할 수 있습니다.
데이터베이스 서버 사용
데이터베이스에서 터널을 종료하면 단순성 이점이 있습니다. 관련된 호스트가 하나 적기 때문에 추가적인 머신 및 관련 비용이 발생하지 않습니다. 단점은 데이터베이스 서버가 인터넷에 직접 액세스할 수 없는 보호 네트워크에 있을 수 있다는 것입니다.
터널 서버 사용
별도의 서버에서 터널을 종료하면 인터넷에서 데이터베이스 서버에 액세스할 수 없다는 이점이 있습니다. 터널 서버가 손상되면 데이터베이스 서버에서 한 단계가 삭제됩니다. 터널 서버에서 중요하지 않은 소프트웨어와 사용자를 모두 삭제하고 침입 감지 시스템(IDS)과 같은 도구를 사용하여 면밀하게 모니터링하는 것이 좋습니다.
터널 서버는 다음과 같은 모든 Unix/Linux 호스트일 수 있습니다.
- SSH를 통해 인터넷에서 액세스할 수 있습니다.
- 데이터베이스에 액세스할 수 있습니다.
2단계: IP 허용 목록 만들기
데이터베이스에 대해 SSH 터널 액세스를 설정하는 두 번째 단계는 일반적으로 TCP 포트 22에서 SSH를 사용하여 터널 서버 또는 데이터베이스에 연결하도록 네트워크 트래픽을 허용하는 것입니다.
Database Migration Service 리소스가 생성된 각 리전의 IP 주소에서 네트워크 트래픽을 허용합니다.
3단계: SSH 터널 사용
연결 프로필 구성에서 터널 세부정보를 제공합니다. 자세한 내용은 연결 프로필 만들기를 참고하세요.
SSH 터널 세션을 인증하려면 Database Migration Service에 터널 계정의 비밀번호 또는 고유한 비공개 키가 필요합니다. 고유한 비공개 키를 사용하려면 OpenSSL 명령줄 도구를 사용하여 비공개 키와 공개 키로 구성된 키 쌍을 생성하면 됩니다.
비공개 키는 Database Migration Service에서 연결 프로필 구성의 일부로 안전하게 저장됩니다. 공개 키를 배스천 호스트의 ~/.ssh/authorized_hosts
파일에 수동으로 추가해야 합니다.
소스 데이터베이스에 대한 비공개 연결 설정
비공개 연결은 VPC 네트워크와 Database Migration Service의 비공개 네트워크 사이의 연결로, Database Migration Service가 내부 IP 주소를 사용하여 내부 리소스와 통신할 수 있게 해줍니다. 비공개 연결을 사용하면 Database Migration Service 네트워크에서 전용 연결이 설정되어 다른 고객이 이를 공유할 수 없습니다.
소스 데이터베이스가 Google Cloud외부에 있는 경우 비공개 연결을 사용 설정하여 Database Migration Service가 VPN 또는 Interconnect를 통해 데이터베이스와 통신할 수 있습니다.
비공개 연결 구성이 생성되면 단일 구성으로 단일 리전 내 프로젝트의 모든 이전을 처리할 수 있습니다.
대략적으로 비공개 연결을 설정하려면 다음이 필요합니다.
- 기존 Virtual Private Cloud(VPC)
- 최소 CIDR 블록이 /29인 사용 가능한 IP 범위
프로젝트에 공유 VPC가 사용되는 경우 Database Migration Service 및 Google Compute Engine API를 사용 설정하고 호스트 프로젝트의 Database Migration Service 서비스 계정에 권한도 부여해야 합니다.
소스 데이터베이스의 비공개 연결 구성을 만드는 방법을 자세히 알아보세요.
대상 데이터베이스에 대한 비공개 연결 설정
Database Migration Service는 Private Service Connect를 사용하여 PostgreSQL용 대상 AlloyDB 인스턴스에 비공개로 연결합니다. 프로젝트에서 서비스 첨부파일을 설정하여 데이터베이스에 액세스할 수 있는 사용자를 계속 제어하면서 수신되는 보안 연결에 데이터베이스 TCP 포트를 노출할 수 있습니다.
대상 데이터베이스의 비공개 연결 구성을 만드는 방법을 자세히 알아보세요.