이 페이지에서는 Database Migration Service를 사용하여 이질적인 Oracle에서 PostgreSQL용 Cloud SQL로 마이그레이션할 때 자체 호스팅 Oracle 소스에 대한 네트워크 연결을 구성하는 방법을 설명합니다.
자체 호스팅 Oracle 소스에서 마이그레이션하는 데 필요한 네트워크 연결을 구성하는 데 사용할 수 있는 세 가지 방법이 있습니다.
IP 허용 목록 연결 구성
공개 IP 허용 목록 연결 방법을 사용하려면 다음 단계를 따르세요.
- 소스 데이터베이스에 공개 인터넷에서 연결할 수 있는 IP 주소가 있는지 확인합니다. 연결하는 데 IP 주소를 사용할 필요가 없습니다. IP와 연결된 DNS 레코드가 있는 경우 이를 대신 사용할 수 있습니다.
- 소스 데이터베이스 서버에서 Database Migration Service의 연결을 허용하도록 인바운드 방화벽 규칙을 만듭니다. 다음 구성을 사용합니다.
- 규칙 유형에는
port
를 사용합니다. - 허용된 IP 주소 범위의 경우 마이그레이션 작업을 만드는 리전의 모든 Database Migration Service 공개 IP 주소를 추가합니다.
- 프로토콜을
TCP
로 설정합니다. - 규칙과 연결된 포트 번호를 소스 데이터베이스에서 수신 연결을 리슨하는 포트로 설정합니다. 소스 연결 프로필에 입력해야 하는 포트 번호와 동일합니다.
Oracle 서버는 기본적으로
1521
포트를 사용합니다.
방화벽 규칙을 구성하는 단계는 사용하는 서버 소프트웨어에 따라 다릅니다. 자세한 내용은 방화벽 제품의 문서를 참고하세요.
- 규칙 유형에는
- 나중에 소스 연결 프로필을 만들 때 연결 방법 정의 섹션에서 IP 허용 목록을 선택합니다.
정방향 SSH 터널을 통한 연결 구성
Secure Shell (SSH) 터널을 사용하여 소스 데이터베이스에 연결하려면 다음 단계를 따르세요.
- Database Migration Service와 소스 데이터베이스 간에 터널을 열 수 있는 가상 머신 (VM)을 만듭니다. 터널 서버는 다음과 같은 모든 Unix/Linux 호스트일 수 있습니다.
- SSH를 통해 공개 인터넷에서 액세스할 수 있습니다.
- 소스 데이터베이스의 비공개 IP 주소에 액세스할 수 있습니다.
SSH 서버에서 Database Migration Service가 SSH 터널에 연결하는 데 사용할 수 있는 사용자 계정을 만듭니다.
예를 들어 Ubuntu 시스템에서는 다음 명령어를 사용할 수 있습니다.
- 사용자 계정을 만듭니다.
adduser TUNNEL_ACCOUNT_USERNAME
- 보안을 강화하기 위해 사용자 계정의 셸 액세스를 제한합니다.
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
- SSH 터널에서 인바운드 방화벽 규칙을 만들어 이전 작업을 만드는 리전의 Database Migration Service 공개 IP 주소에서 들어오는 연결을 허용합니다.
- 나중에
소스 연결 프로필을 만들 때 다음을 실행합니다.
- 연결 세부정보 정의 섹션에서 소스 Oracle 인스턴스의 비공개 IP를 입력합니다.
- 연결 방법 정의 섹션에서 전달-SSH 터널을 선택합니다.
- SSH 서버의 공개 IP 주소 또는 호스트 이름을 입력합니다.
- 터널 서버의 SSH 연결에 지정한 포트를 입력합니다.
- 데이터베이스 마이그레이션 서비스에 연결할 사용자의 사용자 이름 (TUNNEL_ACCOUNT_USERNAME 값)을 입력합니다.
- 인증 방법 드롭다운 메뉴에서 TUNNEL_ACCOUNT_USERNAME 사용자와 함께 사용할 인증 방법을 선택합니다.
- 사용자 비밀번호를 사용하려면 비밀번호를 선택하고 양식에 TUNNEL_ACCOUNT_USERNAME 비밀번호를 입력합니다.
- 키 기반 인증을 사용하도록 SSH 서버를 구성한 경우 비공개/공개 키 쌍을 선택하고
ssh-keygen
명령어로 생성한 비공개 키를 업로드합니다.
VPC 피어링을 통한 비공개 연결 구성
이 연결 방법을 사용하려면 소스 데이터베이스 IP 주소 또는 호스트 이름에 Google Cloud VPC에서 연결할 수 있어야 합니다. Google Cloud외부의 네트워크에 있는 자체 호스팅 소스의 경우 Cloud VPN 또는 Cloud Interconnect와 같은 추가 네트워크 구성요소를 사용해야 할 수 있습니다.
Google Cloud의 자체 호스팅 소스
Compute Engine VM에 호스팅된 소스 Oracle 데이터베이스에 Virtual Private Cloud 피어링을 사용하여 비공개 연결을 사용하려면 다음 단계를 따르세요.
- VM에 IP 주소가 할당된 Virtual Private Cloud 네트워크가 비공개 서비스 액세스를 위해 구성되어 있는지 확인합니다. 자세한 내용은 비공개 서비스 액세스 구성을 참고하세요.
- Database Migration Service에서 비공개 연결 구성을 만들어 Compute Engine VM에 호스팅된 Oracle 데이터베이스가 있는 VPC 네트워크와 피어링합니다.
- 나중에
소스 연결 프로필을 만들 때 다음을 실행합니다.
- 연결 세부정보 정의 섹션에서 Oracle 데이터베이스를 호스팅하는 Compute Engine VM의 IP 주소를 입력합니다.
Google Cloud 콘솔에서 VM의 IP 주소를 확인할 수 있습니다.
- 연결 방법 정의 섹션에서 비공개 연결 (VPC 피어링)을 선택합니다.
- 드롭다운 메뉴에서 이전 단계에서 만든 비공개 연결 구성을 선택합니다.
- 연결 세부정보 정의 섹션에서 Oracle 데이터베이스를 호스팅하는 Compute Engine VM의 IP 주소를 입력합니다.
Google Cloud외부의 자체 호스팅 소스
Google Cloud외부의 네트워크에 있는 자체 호스팅 Oracle 소스 데이터베이스에 Virtual Private Cloud 피어링을 사용하여 비공개 연결을 사용하려면 다음 단계를 따르세요.
-
Cloud VPN을 사용하여 Oracle 소스에 대한 직접 연결을 설정합니다.
네트워크 아키텍처에 따라 시스템에 VPN 게이트웨이를 추가로 설정해야 할 수도 있습니다. 자세한 내용은 Cloud VPN 문서의 피어 VPN 게이트웨이에 대한 HA VPN 게이트웨이 만들기를 참고하세요.
- 선택사항: Cloud VPN이 있는 동일한 VPC 네트워크에서 비공개 연결 구성을 만들 수 없는 경우 Compute Engine에서 역 프록시 가상 머신 (VM)을 만들어 VPC 간의 연결을 전달합니다.
- Database Migration Service에서 비공개 연결 구성을 만들어 Cloud VPN이 있는 VPC 네트워크와 피어링합니다.
- 나중에
소스 연결 프로필을 만들 때 다음을 실행합니다.
- 연결 세부정보 정의 섹션에서 Oracle 소스의 비공개 IP를 입력합니다.
- 연결 방법 정의 섹션에서 비공개 연결 (VPC 피어링)을 선택합니다.
- 드롭다운 메뉴에서 이전 단계에서 만든 비공개 연결 구성을 선택합니다.
다음 단계
소스 데이터베이스 네트워크 연결에 대해 자세히 알아보려면 소스 네트워킹 방법 개요를 참고하세요.
단계별 마이그레이션 전체 과정을 보려면 Oracle에서 PostgreSQL용 Cloud SQL로 마이그레이션 가이드를 참고하세요.