개요
소스 데이터베이스가 VPN (예: AWS 또는 온프레미스 VPN) 내에 있는 경우 목적지 측에서도 VPN을 사용하여 소스에 연결해야 합니다.
사용할 수 있는 VPN 제품은 많습니다. VPN을 구성하는 단계는 제품마다 다르지만 기본적으로는 모두 비슷합니다. 이 섹션에는 AWS 및 Google Cloud VPN을 사용하는 예가 포함되어 있습니다.
Cloud SQL 대상 인스턴스가 사용할 VPC 네트워크의 비공개 서비스 연결에 할당된 전체 내부 IP 범위를 허용하도록 소스 데이터베이스 서버의 방화벽을 구성해야 합니다.
콘솔에서 내부 IP 범위를 찾으려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
사용할 VPC 네트워크를 선택합니다.
비공개 서비스 연결 탭을 선택합니다.
예시 1: 정적 경로가 있는 Google Cloud 기존 VPN을 사용하는 AWS
다음 링크에서 더 완성도 높은 단계별 문서를 확인하세요.
전체적인 단계 순서는 다음과 같습니다.
- Google Cloud 콘솔 > VPC 네트워크 > 외부 IP 주소에서 Cloud VPN에 사용할 고정 IP 주소를 예약합니다.
- AWS VPC 콘솔에서 다음 단계를 따르세요.
- 고객 게이트웨이를 만듭니다.
- 새 가상 비공개 게이트웨이를 만들거나 데이터베이스와 연결된 VPC에 기존 게이트웨이를 추가합니다.
- 경로 테이블에서 경로 전파를 추가합니다.
- 수정을 클릭하고 전파 체크박스를 선택한 다음 저장을 클릭하여 Google Cloud VPC 네트워크의 IP 주소 범위를 대상 범위로 추가합니다.
- AWS VPC 콘솔에서 VPN을 만듭니다.
- VPN 연결에서 사이트 간 VPN 연결을 선택합니다.
- VPN 연결 만들기를 선택합니다.
- VPN 연결의 이름을 입력합니다.
- 가상 비공개 게이트웨이의 경우 이 절차의 앞부분에서 만들거나 선택한 비공개 게이트웨이를 선택합니다.
- 고객 게이트웨이의 경우 이 절차에서 이전에 만든 고객 게이트웨이를 선택합니다.
- 라우팅 옵션에서 정적을 선택하고 Cloud VPN에 예약한 정적 IP 주소를 CIDR(/32 추가)로 지정합니다.
- 구성을 다운로드하여 설정을 저장합니다.
- 파일을 Default로 저장합니다.
- IP Sec 터널 섹션 1과 2를 찾습니다.
- 각 터널의 IKE 버전 및 사전 공유 키를 확인합니다.
- 각 터널의 가상 프라이빗 게이트웨이 IP 주소를 확인합니다.
- 각 터널의 정적 경로 구성 옵션의 IP 주소를 확인합니다.
- Google Cloud에서 정적 라우팅을 사용하는 기존 VPN을 만듭니다.
- Google Cloud 콘솔 > 하이브리드 연결 > VPN에서 다음을 실행합니다.
- VPN 연결 만들기를 클릭합니다.
- VPC 네트워크와 리전을 선택합니다.
- Cloud VPN의 경우 이 절차에서 앞서 예약한 고정 IP 주소를 사용합니다.
- 이 절차의 앞부분에서 다운로드한 AWS 구성의
Pre-shared key
및 키 유형을 사용합니다. - 경로 기반 라우팅 옵션을 선택하고 터널 2개를 추가합니다. 각 터널의 원격 네트워크 IP 범위 필드에는 이 절의 앞부분에서 다운로드한 AWS 구성 파일의
IP Sec Tunnel
섹션에 있는 정적 경로 구성 옵션의 IP 주소를 사용합니다. - 만들기를 클릭합니다.원격 네트워크 IP 범위
- AWS RDS 콘솔에서 다음을 실행합니다.
- 보안 그룹을 선택합니다.
- Cloud VPN의 모든 프로토콜과 포트를 허용하는 인바운드 방화벽 규칙을 추가합니다.
VPN 터널이 곧 통신을 시작합니다. AWS 측의 VPC 대시보드에서 터널 상태는 UP
입니다. GCP 측에서는 Cloud VPN gateway
프로젝트의 Cloud Logging 콘솔에서 VPN 간의 트래픽을 확인합니다.
예시 2: 동적 경로가 있는 Google Cloud HA VPN을 사용하는 AWS
AWS에 HA VPN (동적 경로)을 사용하는 VPC 피어링을 사용하려면 BGP 경로를 Cloud SQL 피어링된 VPC로 내보내고 Cloud Router에서 Cloud SQL 피어링된 VPC 가져온 경로의 커스텀 공지 경로를 만들어야 합니다. 이 시점에서 Cloud Router는 Cloud SQL VPC에 AWS 경로를 공지하고 그 반대의 경로를 공지합니다. 또한 양쪽의 방화벽 규칙이 Cloud SQL 피어링 경로 CIDR과 일치해야 합니다.AWS 측에서는 예 1의 처음 세 단계를 따르되 라우팅 옵션에서 정적 대신 동적을 선택합니다.
- Console에서 Cloud SQL VPC 피어링 구성을 선택하고 가져온 경로에서 대상 IP 범위를 확인합니다. 자세한 내용은 커스텀 경로 가져오기 및 내보내기를 참고하세요.
- 이 VPC 피어링을 수정하고 VPC 피어링 연결 세부정보에서
Import Custom Routes
및Export Custom Routes
를 선택한 다음 저장을 클릭합니다.이제 피어링은 BGP 피어로부터 오는 경로와 마찬가지로 VPC에서 동적 경로를 수신합니다. 이렇게 하면 VPN에서 피어링된 네트워크로의 트래픽이 허용됩니다. 하지만 Cloud Router는 아직 이 경로를 다른 네트워크에 공지하고 있지 않습니다. 이렇게 하려면 VPC가 가져온 경로를 다른 네트워크에 공지하도록 Cloud Router에 커스텀 공지 경로를 추가해야 합니다. 자세한 내용은 커스텀 경로 가져오기 및 내보내기를 참고하세요.
- Cloud Router 구성 공지 경로에서 DESTINATION_IP_RANGE 커스텀 IP 범위를 커스텀 경로로 추가합니다. 이제 BGP 피어링된 네트워크에서 가져온 Cloud SQL 네트워크 경로 DESTINATION_IP_RANGE의 광고를 수신합니다. 이제 Cloud SQL 피어링된 VPC로 연결된 VPN 연결 네트워크의 트래픽이 VPN 터널을 통해 라우팅됩니다.
- AWS 경로 테이블에서 경로가 전파되도록 허용합니다. 소스 데이터베이스가 포함된 서브넷의 AWS 경로 테이블에 VPN 가상 비공개 게이트웨이로 라우팅되는 DESTINATION_IP_RANGE 범위의 항목이 포함되어 있는지 확인합니다.
- DESTINATION_IP_RANGE
TCP port 5432
의 트래픽을 허용하는 보안 그룹 방화벽 인바운드 규칙을 추가합니다. 이제 연결을 설정할 수 있습니다.