이 페이지에서는 Database Migration Service를 사용하여 이기종 Oracle에서 PostgreSQL용 Cloud SQL로 마이그레이션하기 위해 Oracle용 Amazon RDS 소스에 대한 네트워크 연결을 구성하는 방법을 설명합니다.
Oracle용 Amazon RDS 소스에서 마이그레이션하는 데 필요한 네트워크 연결을 구성하는 데 사용할 수 있는 세 가지 방법이 있습니다.
- 공개 IP 허용 목록
- 정방향 SSH 터널
- 비공개 IP 연결. 이러한 방법에는 Cloud VPN 또는 Cloud Interconnect가 필요합니다.
소스 데이터베이스 네트워크 연결에 대한 자세한 내용은 소스 네트워킹 방법 개요를 참조하세요.
IP 허용 목록 연결 구성
공개 IP 허용 목록 연결 방법을 사용하려면 다음 단계를 따르세요.
- AWS Management Console에서 다음 단계를 수행합니다.
- 소스 Amazon RDS 데이터베이스가 공개 IP 연결을 위해 구성되어 있는지 확인합니다.
- 엔드포인트 이름과 포트 번호를 식별합니다. 연결 프로필을 만들 때 이러한 값을 입력해야 합니다.
Oracle용 Amazon RDS 인스턴스 준비에 대한 자세한 내용은 Amazon RDS 문서의 Oracle DB 인스턴스에 연결을 참조하세요.
Database Migration Service 에서 Amazon RDS VPC로 트래픽을 허용하는 보안 그룹을 만듭니다. 보안 그룹을 만들어 VPC의 DB 인스턴스에 대한 액세스 권한 제공을 참조하세요.
마이그레이션 작업을 만드는 리전에 대해 모든 Database Migration Service 공개 IP 주소를 허용해야 합니다.
- 나중에
소스 연결 프로필을 만들 때 다음 단계를 따르세요.
- 연결 세부정보 정의 섹션에서 인스턴스의 엔드포인트 이름을 소스 데이터베이스 IP에 사용합니다.
- 연결 방법 정의 섹션에서 IP 허용 목록을 선택합니다.
정방향 SSH 터널을 통한 연결 구성
Secure Shell (SSH) 터널을 사용하여 소스 데이터베이스에 연결하려면 다음 단계를 따르세요.
-
전용 정방향 SSH 터널 역할을 하는 Amazon EC2 인스턴스를 시작합니다. Oracle용 Amazon RDS 소스가 있는 동일한 Amazon VPC에서 구성해야 합니다.
자세한 내용은 Amazon 문서의Amazon EC2 시작하기를 참조하세요.
-
EC2 인스턴스에 연결하고 SSH 터널을 설정합니다.
다음 단계를 따르세요.
- Database Migration Service가 연결할 전용 사용자 계정을 별도로 만듭니다.
adduser TUNNEL_ACCOUNT_USERNAME - Database Migration Service 서비스 계정의 셸 액세스를 제한하여 보안을 강화합니다.
usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
터널에 연결할 때 Database Migration Service에서 사용할 인증 방법을 결정합니다.
간단한 비밀번호를 사용하거나 나중에 소스 연결 프로필을 만들 때 Database Migration Service에 업로드할 수 있는
PEM형식으로 SSH 키를 생성할 수 있습니다.- 비밀번호를 사용하려면 추가로 구성할 필요가 없습니다. TUNNEL_ACCOUNT_USERNAME 계정에 만든 비밀번호를 기억하세요.
- 키 기반 인증을 사용하려면
비공개-공개 키 쌍을 생성해야 합니다. 예를 들어
ssh-keygen유틸리티를 사용할 수 있습니다.- 키 쌍을 생성합니다.
ssh-keygen -m PEM -f YOUR_KEY_NAME
- 공개 키 (
YOUR_KEY_NAME.pub) 를 터널 서버의~/.ssh/디렉터리에 복사합니다. - 비공개 키를 저장합니다. 나중에 소스 연결 프로필을 만들 때 Database Migration Service 에 업로드해야 합니다.
- 키 쌍을 생성합니다.
/etc/ssh/sshd_config파일을 수정하여 조직의 요구사항에 맞게 정방향 SSH 터널을 구성합니다. 다음 설정을 사용하는 것이 좋습니다.# Only allow the Database Migration Service user to connect. AllowUsers TUNNEL_ACCOUNT_USERNAME # Send keep-alive packets every 60 seconds to ensure that # the tunnel doesn't close during the migration ServerAliveInterval=60 # Optional: Force key-based authentication PasswordAuthentication no # Enables Database Migration Service to connect from a different host PermitTunnel yes GatewayPorts yes
ssh명령어를 실행하여 터널을 시작합니다.아래 명령어 데이터를 사용하기 전에 다음을 대체하세요.
- TUNNEL_SERVER_SSH_PORT를 서버가 SSH 연결을 리슨하는 포트 번호 로 바꿉니다.
- SOURCE_DATABASE_PRIVATE_IP를 소스 데이터베이스의 비공개 IP 주소로 바꿉니다. SSH 서버가 해당 IP에 도달할 수 있어야 합니다.
- SOURCE_DATABASE_PORT를 소스 데이터베이스가 연결을 리슨하는 포트 번호
로 바꿉니다. Oracle의 TCP 연결의 기본 포트
번호는
1433입니다. - USERNAME을 터널을 실행할 사용자 계정의 이름으로 바꿉니다. 이는 TUNNEL_ACCOUNT_USERNAME과는 별도의 계정입니다.
- TUNNEL_SERVER_PUBLIC_IP를 SSH 터널 서버의 공개 IP 로 바꿉니다.
ssh -N -L \ TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \ USERNAME@TUNNEL_SERVER_PUBLIC_IP
- Database Migration Service가 연결할 전용 사용자 계정을 별도로 만듭니다.
- 나중에
소스 연결 프로필을 만들 때 다음 단계를 따르세요.
- 연결 세부정보 정의 섹션에서 인스턴스의 엔드포인트 이름을 소스 데이터베이스 IP에 사용합니다.
- 연결 방법 정의 섹션에서 정방향 SSH 터널을 선택합니다.
- SSH 서버의 공개 IP 주소 또는 호스트 이름을 제공합니다.
- 터널 서버의 SSH 연결에 지정한 포트를 제공합니다.
- Database Migration Service가 연결할 사용자 (즉, TUNNEL_ACCOUNT_USERNAME의 값)의 사용자 이름을 입력합니다.
- 인증 방법 드롭다운 메뉴에서 TUNNEL_ACCOUNT_USERNAME과 함께 사용할 인증 방법을 선택합니다.
- 사용자 비밀번호를 사용하려면 비밀번호를 선택하고 양식에 TUNNEL_ACCOUNT_USERNAME 비밀번호를 입력합니다.
- 키 기반 인증을 사용하도록 SSH 서버를 구성한 경우,
비공개/공개 키 쌍을 선택하고 비공개 키
를 업로드합니다.
ssh-keygen명령어로 생성한
Private Service Connect 인터페이스를 사용한 비공개 연결 구성
이 연결 방법을 사용하면 소스 데이터베이스의 비공개 IP에 연결할 수 있습니다. VPC 피어링 할당량을 사용하지 않고도 Private Service Connect 인터페이스는 비공개 IP 연결에 권장되는 방법입니다.
이 방법을 사용하려면 네트워크 연결을 만들려는 동일한 VPC 네트워크에 Cloud VPN 또는 Cloud Interconnect가 구성되어 있어야 합니다. Cloud VPN 또는 Cloud Interconnect가 있는 VPC 네트워크에서 네트워크 연결을 만들 수 없는 경우 Compute Engine의 역방향 프록시 가상 머신 (VM)도 연결을 설정하는 데 필요합니다.
Cloud VPN 또는 Cloud Interconnect를 사용할 수 없는 경우 다음과 같은 정방향 SSH 터널 또는 IP 허용 목록 연결 방법을 대신 사용하는 것이 좋습니다.
Private Service Connect 인터페이스를 구성하는 데 필요한 권한을 얻으려면 관리자에게 마이그레이션 프로세스에 관련된 다음 계정에 대해 프로젝트에 필요한 IAM 역할을 부여해 달라고 요청하세요.
- 마이그레이션을 실행하는 사용자 계정:
- 네트워크 연결을 만들고 관리하려면
Compute 네트워크 관리자 (
roles/compute.networkAdmin) - 비공개 연결 구성을 만들고 관리하려면
Database Migration 관리자 (
roles/datamigration.admin)
- 네트워크 연결을 만들고 관리하려면
Compute 네트워크 관리자 (
Database Migration Service와 다른 프로젝트에서 네트워크 연결 또는 기본 서브네트워크를 만들어야 하는 경우 (예: 공유 VPC 호스트 프로젝트를 사용하는 경우) Database Migration Service 서비스 계정 (
service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com)에 Compute 네트워크 뷰어 (roles/compute.networkViewer) 역할을 부여해야 합니다.
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 Database Migration Service로 동종 SQL Server 마이그레이션을 실행하는 데 필요한 권한이 포함되어 있습니다. 정확히 필요한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
Database Migration Service로 동종 SQL Server 마이그레이션을 실행하려면 다음 권한이 필요합니다.
- 마이그레이션을 실행하는 사용자 계정:
datamigration.*compute.networkAttachments.createcompute.networkAttachments.getcompute.networkAttachments.listcompute.networkAttachments.updatecompute.networkAttachments.delete
- Database Migration Service 서비스 계정:
compute.networkAttachments.getcompute.networkAttachments.updatecompute.subnetworks.getcompute.subnetworks.list
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
Private Service Connect 인터페이스 연결을 사용하려면 다음 단계를 따르세요.
-
Cloud VPN을 사용하여 PostgreSQL용 Amazon RDS 인스턴스에 직접 연결을 설정합니다.
자세한 내용은 Cloud VPN 문서의 Google Cloud와 AWS 간에 HA VPN 연결 만들기 를 참조하세요.
- 선택사항: Cloud VPN이 있는 동일한 VPC 네트워크에서 네트워크 연결을 만들 수 없는 경우 Compute Engine에서 역방향 프록시 가상 머신 (VM)을 만들어 VPC 간의 연결을 전달합니다.
- Cloud VPN이 있는 VPC에서 네트워크 연결을 만듭니다. 다음 단계를 따르세요.
- Google Cloud 콘솔에서 네트워크 연결 페이지로 이동합니다.
- 네트워크 연결 만들기 를 클릭합니다.
- 연결 이름을 입력합니다.
- 네트워크 메뉴에서 소스가 있는 VPC를 선택합니다.
-
리전의 경우 대상 데이터베이스를 만들려는 동일한 리전을 사용합니다.
Database Migration Service는 완전한 리전 제품입니다. 즉, 마이그레이션과 관련된 모든 항목 (소스 및 대상 연결 프로필, 마이그레이션 작업, 대상 데이터베이스, 변환 작업공간)은 단일 리전에 저장해야 합니다.
- 서브네트워크 메뉴에서 Database Migration Service에 사용할 수 있는 무료 IP 주소가 6개 이상 있는 서브넷 (즉,
/29범위)을 선택합니다. -
연결 환경설정 에서 선택한 프로젝트의 연결 수락 을 선택합니다.
Database Migration Service는 나중에 비공개 연결 구성을 만들 때 프로듀서 프로젝트를 수락된 프로젝트 목록에 자동으로 추가합니다.
- 수락된 프로젝트 또는 거부된 프로젝트를 추가하지 마세요.
- 네트워크 연결 만들기 를 클릭합니다.
- Database Migration Service에서 Private Service Connect 인터페이스의 비공개 연결 구성을 만듭니다.
- 나중에
소스 연결 프로필을 만들 때 다음 단계를 따르세요.
- 연결 세부정보 정의 섹션에서 소스 Amazon RDS 인스턴스의 비공개 IP를 입력합니다.
- 연결 방법 정의 섹션에서 비공개 연결을 선택합니다.
- 드롭다운 메뉴에서 이전 단계에서 만든 비공개 연결 구성 을 선택합니다.
VPC 피어링을 사용한 비공개 연결 구성
Oracle용 Amazon RDS 소스와 비공개 연결을 사용하려면 Database Migration Service의 비공개 연결 구성을 만들려는 동일한 VPC 네트워크에 Cloud VPN 또는 Cloud Interconnect가 구성되어 있어야 합니다. Cloud VPN 또는 Cloud Interconnect가 있는 VPC 네트워크에서 비공개 연결 구성을 만들 수 없는 경우 Compute Engine의 역방향 프록시 가상 머신 (VM)도 연결을 설정하는 데 필요합니다.
Cloud VPN 또는 Cloud Interconnect를 사용할 수 없는 경우 다음과 같은 정방향 SSH 터널 또는 IP 허용 목록 연결 방법을 대신 사용하는 것이 좋습니다.
VPC 피어링 및 Cloud VPN을 사용하여 비공개 연결을 사용하려면 다음 단계를 따르세요.
-
Cloud VPN을 사용하여 PostgreSQL용 Amazon RDS 인스턴스에 직접 연결을 설정합니다.
자세한 내용은 Cloud VPN 문서의 Google Cloud와 AWS 간에 HA VPN 연결 만들기 를 참조하세요.
- 선택사항: Cloud VPN이 있는 동일한 VPC 네트워크에서 비공개 연결 구성을 만들 수 없는 경우 Compute Engine에서 역방향 프록시 가상 머신 (VM)을 만들어 VPC 간의 연결을 전달합니다.
- Database Migration Service에서 Cloud VPN이 있는 VPC 네트워크와 피어링할 비공개 연결 구성을 만듭니다.
- 나중에
소스 연결 프로필을 만들 때 다음 단계를 따르세요.
- 연결 세부정보 정의 섹션에서 소스 Amazon RDS 인스턴스의 비공개 IP를 입력합니다.
- 연결 방법 정의 섹션에서 비공개 연결을 선택합니다.
- 드롭다운 메뉴에서 이전 단계에서 만든 비공개 연결 구성 을 선택합니다.