Cloud SQL 인스턴스 액세스 구성

이 문서에서는 Virtual Private Cloud 피어링을 설정하고, Cloud SQL 프록시를 설치하고, 여러 Google Cloud 프로젝트에서 내부 Cloud SQL IP 주소에 연결하는 방법을 자세히 설명합니다. 이 설정을 사용하면 Cloud SQL 인스턴스와 다음 커넥터 간에 보안이 강화되고 효율적인 통신이 보장됩니다.

이 문서에서는 BigQuery Data Transfer Service 커넥터 프로젝트에서 네트워크 첨부파일을 만드는 방법도 설명합니다.

시작하기 전에

다음이 있는지 확인합니다.

  • BigQuery Data Transfer Service 커넥터가 있는 Google Cloud 프로젝트와 Cloud SQL 인스턴스가 있는 다른 Google Cloud 프로젝트에 액세스합니다.
  • Google Cloud 프로젝트의 기존 MySQL 또는 PostgreSQL 데이터베이스
  • VPC를 만들고 방화벽 규칙을 만들고 소프트웨어를 설치하는 데 필요한 적절한 권한

VPC 피어링 설정

VPC 피어링을 설정하려면 BigQuery Data Transfer Service 커넥터 프로젝트에서 VPC 피어링을 만들고, Cloud SQL 데이터베이스 프로젝트에서 BigQuery Data Transfer Service 프로젝트로 VPC 피어링을 만들고, 경로 및 방화벽 규칙을 구성해야 합니다.

BigQuery Data Transfer Service 커넥터 프로젝트에서 VPC 피어링 만들기

  1. Google Cloud 콘솔에서 BigQuery 데이터 전송 서비스 커넥터 프로젝트의 VPC 네트워크 피어링 페이지로 이동합니다.

    VPC 네트워크 피어링으로 이동

  2. 피어링 연결 만들기를 클릭합니다.

  3. 이름 필드에 피어링 구성의 이름을 입력합니다.

  4. VPC 네트워크에서 BigQuery Data Transfer Service 커넥터 프로젝트에서 피어링할 VPC 네트워크를 선택합니다.

  5. 피어링된 VPC 네트워크에 대해 다른 프로젝트 내 옵션을 선택합니다.

  6. 프로젝트 ID에 Cloud SQL 프로젝트의 프로젝트 ID를 입력합니다.

  7. VPC 네트워크 이름에 Cloud SQL 프로젝트의 VPC 네트워크 이름을 입력합니다.

  8. 만들기를 클릭합니다.

Cloud SQL 데이터베이스 프로젝트에서 VPC 피어링 만들기

Cloud SQL 데이터베이스 프로젝트에서 BigQuery Data Transfer Service 프로젝트로 VPC 피어링을 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 BigQuery 데이터 전송 서비스 커넥터 프로젝트의 VPC 네트워크 피어링 페이지로 이동합니다.

    VPC 네트워크 피어링으로 이동

  2. 피어링 연결 만들기를 클릭합니다.

  3. 이름 필드에 피어링 구성의 이름을 입력합니다.

  4. Cloud SQL 데이터베이스 프로젝트에서 피어링할 VPC 네트워크를 선택합니다.

  5. 피어 프로젝트 ID에 BigQuery Data Transfer Service 프로젝트의 프로젝트 ID를 입력합니다.

  6. 피어링된 VPC 네트워크의 경우 BigQuery Data Transfer Service 커넥터 프로젝트에 VPC 네트워크의 이름을 입력합니다.

  7. 만들기를 클릭합니다.

경로 및 방화벽 규칙 구성

이전에 피어링 연결을 구성할 때 가져오기-내보내기 경로를 선택하지 않은 경우 다음 단계에 따라 지금 선택합니다.

  1. BigQuery Data Transfer Service 커넥터 프로젝트의 경로 페이지로 이동합니다.

    경로로 이동

  2. 피어링된 VPC 환경 간에 트래픽을 허용하는 경로가 있는지 확인합니다.

  3. 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  4. 피어링된 네트워크 간에 필요한 포트 (예: MySQL의 경우 포트 3306, PostgreSQL의 경우 포트 5432)의 트래픽을 허용하는 방화벽 규칙을 만듭니다.

  5. BigQuery Data Transfer Service 커넥터 프로젝트에 필요한 맞춤 방화벽 규칙을 Cloud SQL 데이터베이스 호스팅 프로젝트에 추가합니다.

  6. 이전 단계에서와 같이 Cloud SQL 인스턴스로 프로젝트의 경로 및 방화벽 규칙을 구성합니다.

Cloud SQL 프록시 설정

  1. SSH를 사용하여 BigQuery Data Transfer Service 커넥터 프로젝트의 가상 머신 (VM) 인스턴스에 연결합니다.

  2. 터미널에서 Cloud SQL 프록시를 다운로드합니다.

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  3. 다운로드한 파일의 권한을 업데이트합니다.

    chmod +x cloud_sql_proxy
    
  4. Cloud SQL 프록시를 실행합니다.

    ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &
    

    NAME을 Cloud SQL 인스턴스 연결의 이름으로 바꿉니다.

내부 Cloud SQL IP 주소에 연결

  1. 연결에 Cloud SQL 인스턴스의 내부 IP 주소를 사용합니다.
  2. 적절한 사용자 인증 정보와 데이터베이스 세부정보를 지정하여 내부 IP 주소에 연결하도록 애플리케이션 또는 도구를 구성합니다.

다른 Google Cloud 프로젝트에서 연결하는 경우 이전에 배포한 프록시 VM의 내부 IP 주소를 사용합니다. 이 솔루션은 전달 피어링 문제를 해결합니다.

네트워크 연결 만들기

BigQuery Data Transfer Service 커넥터 프로젝트에서 네트워크 첨부파일을 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 네트워크 첨부파일 페이지로 이동합니다.

    네트워크 연결로 이동

  2. 네트워크 연결 만들기를 클릭합니다.

  3. 네트워크 연결 이름을 입력합니다.

  4. 적절한 VPC 네트워크를 선택합니다.

  5. 리전: BigQuery Data Transfer Service 커넥터가 있는 리전을 지정합니다.

  6. 서브네트워크에서 설정에 맞는 적절한 옵션을 선택합니다.

  7. 네트워크 연결 만들기를 클릭합니다.

연결 테스트

  1. Cloud SQL 프록시가 있는 VM이 Cloud SQL 인스턴스에 연결할 수 있는지 확인합니다.

    mysql -u USERNAME -p -h IP_ADDRESS
    

    다음을 바꿉니다.

    • USERNAME: 데이터베이스 사용자의 사용자 이름
    • IP_ADDRESS: Cloud SQL 인스턴스의 IP 주소
  2. BigQuery Data Transfer Service 커넥터 프로젝트의 애플리케이션이 내부 IP를 사용하여 Cloud SQL 인스턴스에 연결할 수 있는지 확인합니다.

문제 해결

네트워크 구성을 설정하는 데 문제가 있는 경우 다음 단계를 따르세요.

  • VPC 피어링이 설정되고 경로가 올바르게 구성되었는지 확인합니다.
  • 방화벽 규칙이 필요한 포트의 트래픽을 허용하는지 확인합니다.
  • Cloud SQL 프록시 로그에서 오류가 있는지 확인하고 올바르게 실행 중인지 확인합니다.
  • 네트워크 연결이 올바르게 구성되고 연결되어 있는지 확인합니다.