AlloyDB 언어 커넥터는 다음을 사용하여 클러스터에 대한 안전한 연결을 설정하는 간소화된 프로세스를 제공하는 라이브러리입니다.
- 자동화된 mTLS 연결
- Identity and Access Management (IAM) 기반 승인 지원
- 자동화된 IAM 인증
네트워크 경로가 아직 없는 경우 AlloyDB 언어 커넥터는 AlloyDB 클러스터에 대한 네트워크 경로를 제공할 수 없습니다.
AlloyDB 언어 커넥터에 관한 자세한 내용은 AlloyDB 언어 커넥터 개요를 참고하세요.
이 페이지에서는 다음 AlloyDB 언어 커넥터에 대해 설명합니다.
- AlloyDB Java 커넥터
- AlloyDB Go 커넥터
- AlloyDB Python 커넥터
시작하기 전에
AlloyDB Admin API를 사용 설정합니다.
AlloyDB 인스턴스를 만들고 기본 사용자를 구성합니다.
인스턴스 만들기에 관한 자세한 내용은 기본 인스턴스 만들기를 참고하세요.
사용자 역할에 대한 자세한 내용은 사전 정의된 AlloyDB IAM 역할을 참고하세요.
AlloyDB 인스턴스에 연결하는 데 필요한 다음 역할 및 권한을 구성합니다.
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
필요한 역할 및 권한에 관한 자세한 내용은 IAM 인증 관리를 참고하세요.
AlloyDB 언어 커넥터 설치
자바
AlloyDB Java 커넥터는 AlloyDB 인스턴스에 연결할 때 IAM 기반 승인 및 암호화를 제공하는 라이브러리입니다.
설치
Maven의 경우 프로젝트의 pom.xml
에 다음을 추가하여 AlloyDB Java 커넥터를 설치할 수 있습니다.
<!-- Add the connector with the latest version -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>alloydb-jdbc-connector</artifactId>
<version>0.4.0</version>
</dependency>
<!-- Add the driver with the latest version -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>46.6.0<</version>
</dependency>
<!-- Add HikariCP with the latest version -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
Gradle의 경우 프로젝트의 gradle.build
에 다음을 포함하여 AlloyDB Java 커넥터를 설치할 수 있습니다.
// Add connector with the latest version
implementation group: 'com.google.cloud.alloydb', name: 'alloydb-jdbc-connector', version: '0.4.0'
// Add driver with the latest version
implementation group: 'org.postgresql', name: 'postgresql', version: '46.6.0'
// Add HikariCP with the latest version
implementation group: 'com.zaxxer', name: 'HikariCP', version: '5.1.0'
Python (pg8000)
AlloyDB Python 커넥터는 데이터베이스 드라이버와 함께 사용할 수 있는 라이브러리로, 충분한 권한이 있는 사용자가 IP를 직접 허용 목록에 추가하지 않고도 AlloyDB 데이터베이스에 연결할 수 있습니다.
설치
pip install
를 사용하여 AlloyDB Python 커넥터 라이브러리를 설치할 수 있습니다.
pg8000을 사용하는 경우 다음 명령어를 실행합니다.
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
AlloyDB Python 커넥터는 데이터베이스 드라이버와 함께 사용할 수 있는 라이브러리로, 충분한 권한이 있는 사용자가 IP를 직접 허용 목록에 추가하지 않고도 AlloyDB 데이터베이스에 연결할 수 있습니다.
설치
pip install
를 사용하여 AlloyDB Python 커넥터 라이브러리를 설치할 수 있습니다.
asyncpg를 사용하는 경우 다음 명령어를 실행합니다.
asyncpg의 경우 다음을 사용합니다.
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
비동기 드라이버 사용에 관한 자세한 내용은 비동기 드라이버 사용을 참고하세요.
Go (pgx)
AlloyDB Go 커넥터는 Go 언어와 함께 사용할 수 있도록 설계된 AlloyDB 커넥터입니다.
설치
go get
를 사용하여 AlloyDB Go 커넥터를 설치할 수 있습니다.
pgx를 사용하는 경우 다음 명령어를 실행합니다.
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
AlloyDB Go 커넥터는 Go 언어와 함께 사용할 수 있도록 설계된 AlloyDB 커넥터입니다.
설치
go get
를 사용하여 AlloyDB Go 커넥터를 설치할 수 있습니다.
database/sql을 사용하는 경우 다음 명령어를 실행합니다.
go get cloud.google.com/go/alloydbconn
AlloyDB 언어 커넥터 구성
자바
AlloyDB Java 커넥터를 사용하여 AlloyDB 클러스터에 연결하려면 다음 단계에 따라 구성합니다.
웹 애플리케이션의 컨텍스트에서 이 스니펫을 사용하려면 GitHub의 리드미를 참고하세요.
공개 IP 사용
공개 IP를 사용하여 AlloyDB 클러스터에 연결하는 경우 다음을 포함합니다.
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Private Service Connect 사용
Private Service Connect를 사용하여 AlloyDB 인스턴스에 연결하는 경우 다음을 포함합니다.
config.addDataSourceProperty("alloydbIpType", "PSC");
자동 IAM 인증
기본적으로 AlloyDB Language Connectors는 기본 제공 인증을 사용합니다. AlloyDB Java 커넥터에서 자동 IAM 인증을 사용할 수 있습니다. 사용 설정하려면 다음을 포함하세요.
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
AlloyDB Python 커넥터를 사용하여 AlloyDB 클러스터에 연결하려면 pg8000
를 사용하는 경우 다음 단계에 따라 커넥터를 구성합니다.
웹 애플리케이션의 컨텍스트에서 이 스니펫을 사용하려면 GitHub의 리드미를 참고하세요.
공개 IP 사용
공개 IP를 사용하여 AlloyDB 클러스터에 연결하는 경우 다음과 같이 연결 함수를 바꿉니다.
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Private Service Connect 사용
Private Service Connect를 사용하여 AlloyDB 인스턴스에 연결하는 경우 다음을 포함합니다.
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
자동 IAM 인증
기본적으로 AlloyDB Language Connectors는 기본 제공 인증을 사용합니다. AlloyDB Python 커넥터에서 자동 IAM 인증을 사용할 수 있습니다. 사용 설정하려면 연결 함수를 다음과 같이 바꿉니다.
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Python (asyncpg)
AlloyDB Python 커넥터를 사용하여 AlloyDB 클러스터에 연결하려면 async
를 사용하는 경우 다음 단계에 따라 커넥터를 구성합니다.
웹 애플리케이션의 컨텍스트에서 이 스니펫을 사용하려면 GitHub의 리드미를 참고하세요.
공개 IP 사용
공개 IP를 사용하여 AlloyDB 클러스터에 연결하는 경우 연결 함수를 다음으로 바꿉니다.
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Private Service Connect 사용
Private Service Connect를 사용하여 AlloyDB 인스턴스에 연결하는 경우 다음을 포함합니다.
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
자동 IAM 인증
기본적으로 AlloyDB Language Connectors는 기본 제공 인증을 사용합니다. AlloyDB Python 커넥터에서 자동 IAM 인증을 사용할 수 있습니다. 사용 설정하려면 연결 함수를 다음과 같이 바꿉니다.
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Go (pgx)
AlloyDB Go 커넥터를 사용하여 AlloyDB 클러스터에 연결하려면 pgx
를 사용하는 경우 다음 단계에 따라 커넥터를 구성합니다.
웹 애플리케이션의 컨텍스트에서 이 스니펫을 사용하려면 GitHub의 리드미를 참고하세요.
공개 IP 사용
공개 IP를 사용하여 AlloyDB 클러스터에 연결하는 경우 d.Dial
함수를 다음으로 바꿉니다.
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Private Service Connect 사용
Private Service Connect를 사용하여 AlloyDB 인스턴스에 연결하는 경우 다음을 포함합니다.
d.Dial(ctx, instURI, alloydbconn.WithPSC())
자동 IAM 인증
기본적으로 AlloyDB Language Connectors는 기본 제공 인증을 사용합니다.
AlloyDB Go 커넥터에서 자동 IAM 인증을 사용할 수 있습니다. 사용 설정하려면 alloydbconn.NewDialer
함수를 다음으로 바꿉니다.
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Go (database/sql)
AlloyDB Go 커넥터를 사용하여 AlloyDB 클러스터에 연결하려면 database/sql
를 사용하는 경우 다음 단계에 따라 커넥터를 구성합니다.
웹 애플리케이션의 컨텍스트에서 이 스니펫을 사용하려면 GitHub의 리드미를 참고하세요.
공개 IP 사용
공개 IP를 사용하여 AlloyDB 클러스터에 연결하는 경우 RegisterDriver
함수를 다음으로 바꿉니다.
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Private Service Connect 사용
Private Service Connect를 사용하여 AlloyDB 인스턴스에 연결하는 경우 다음을 포함합니다.
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
자동 IAM 인증
기본적으로 AlloyDB Language Connectors는 기본 제공 인증을 사용합니다.
AlloyDB Go 커넥터에서 자동 IAM 인증을 사용할 수 있습니다. 사용 설정하려면 RegisterDriver
함수를 다음과 같이 바꿉니다.
cleanup, err := pgxv4.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)