자바용 Cloud SQL 커넥터는 Cloud SQL 인스턴스에 연결할 때 IAM 기반 승인 및 암호화를 제공하는 라이브러리입니다. Cloud SQL 인스턴스가 아직 없으면 해당 인스턴스에 대한 네트워크 경로를 제공 할 수 없습니다 . Cloud SQL 인스턴스 연결에 대한 자세한 내용은 연결 개요 페이지를 참조하세요.
데이터베이스 엔진 및 드라이버와 관련된 사용 정보는 아래 페이지를 참조하세요.
JDBC를 사용하여 Cloud SQL에 연결
R2DBC를 사용하여 Cloud SQL에 연결
애플리케이션 컨텍스트에서 사용되는 이 라이브러리의 예를 보려면 여기에 있는 샘플 애플리케이션을 확인하세요.
이 라이브러리는 자격 증명을 확인하기 위해 ADC(애플리케이션 기본 자격 증명) 전략을 사용합니다. ADC(Google Cloud 애플리케이션과 로컬 개발, IAM 사용자와 서비스 계정 자격 증명)를 설정하는 방법은 다음 지침을 참조하세요.
---
번들 소켓 팩토리 종속성과 함께 JDBC 드라이버가 포함된 대용량 JAR을 빌드하려면 pom.xml 프로젝트가 포함된 위치에서 다음 Maven 명령을 실행할 수 있습니다.
mvn -P jar-with-dependencies clean package -DskipTests
그러면 각 모듈 디렉터리 내에 대상 하위 폴더가 생성됩니다. 이러한 대상 디렉터리 내에서 JDBC 드라이버 파일을 찾을 수 있습니다.
예:
mysql-socket-factory-connector-j-8–1.8.0-jar-with-dependencies.jar postgres-socket-factory-1.8.0-jar-with-dependencies.jar
Java 커넥터는 백그라운드 인증서 새로 고침 관련 문제를 진단하는 데 도움이 되는 선택적 디버그 로깅을 지원합니다. 이를 활성화하려면 /src/main/resources/application.yml
파일에 다음을 추가하십시오.
logging.level.root=DEBUG
Cloud SQL 프록시는 포트 3307을 사용하여 Cloud SQL 인스턴스에 대한 연결을 설정합니다. 방화벽으로 보호되는 애플리케이션은 TCP 포트 3307에서 나가는 연결을 허용하도록 구성해야 할 수 있습니다. 방화벽에 의해 연결이 차단되면 일반적으로 연결 실패를 나타내는 오류가 발생합니다( 예: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
).
IntelliJ를 Cloud SQL 인스턴스에 연결하려면 드라이버 설정 페이지의 '추가 파일' 섹션에 종속 항목이 있는 jar로 이 라이브러리를 추가해야 합니다. 미리 만들어진 fat jar는 더 이상 제공되지 않습니다(v1.14.0부터).
다음은 Java 커넥터를 사용할 때 발생하는 일반적인 문제를 해결하기 위한 몇 가지 문제 해결 팁입니다.
비호환성을 방지하려면 최신 버전의 Cloud SQL 커넥터와 데이터베이스 드라이버를 사용하고 있는지 확인하세요. 일부 이전 버전의 드라이버는 지원되지 않습니다.
Java 커넥터는 연결에 대한 인증을 제공하지만 연결에 대한 새 경로를 제공하지는 않습니다. 예를 들어 비공개 IP 주소를 사용하여 Cloud SQL 인스턴스에 연결하려면 애플리케이션에 이미 VPC 액세스 권한이 있어야 합니다.
이 프로젝트는 의미 체계 버전 관리를 사용하며 주요 버전 지원과 관련하여 다음 수명 주기를 사용합니다.
활성 - 활성 버전에는 모든 새로운 기능과 보안 수정 사항이 적용됩니다(다른 방법으로는 주요 변경 사항이 적용되지 않음). 새로운 주요 버전은 최소 1년 동안 "활성" 상태로 유지됩니다. 더 이상 사용되지 않음 - 더 이상 사용되지 않는 버전에는 보안 및 중요한 버그 수정이 계속 제공되지만 새로운 기능은 제공되지 않습니다. 더 이상 사용되지 않는 버전은 1년 동안 공개적으로 지원됩니다. 지원되지 않음 - 1년 이상 사용되지 않은 주요 버전은 공개적으로 지원되지 않는 것으로 간주됩니다.
우리는 최소한 공개적으로 지원되는 모든 LTS JDK 버전을 테스트하고 지원합니다. 지원되는 버전의 변경 사항은 사소한 변경 사항으로 간주되어 실제 릴리스 노트에 나열됩니다.
이 프로젝트는 최소 월간 릴리스 주기를 목표로 합니다. 새로운 기능이나 수정 사항이 추가되지 않은 경우 최신 종속성을 갖춘 새로운 PATCH 버전이 출시됩니다.