이 페이지에서는 PostgreSQL용 AlloyDB에서 제공하는 데이터베이스에 연결하는 방법을 요약합니다.
네트워킹: AlloyDB 인스턴스는 Virtual Private Cloud (VPC)에서 공개 또는 비공개 IP를 사용합니다. 다양한 기법을 통해 VPC 외부에서 실행되는 애플리케이션의 보안 연결을 허용할 수 있습니다.
승인: AlloyDB Auth Proxy를 사용하면 Identity and Access Management (IAM)를 사용하여 데이터에 액세스할 수 있는 사용자를 제어할 수 있습니다. VPC의 방화벽을 사용하면 AlloyDB 리소스에 대한 액세스를 추가로 조정할 수 있습니다.
인증: 표준 PostgreSQL 사용자 인증 기법을 사용하여 인스턴스에 로그인합니다. AlloyDB는 표준 PostgreSQL 사용자 역할을 사용하는 IAM 기반 인증도 지원합니다.
네트워킹
AlloyDB 인스턴스에 여러 노드가 포함되어 있지만 애플리케이션은 단일 고정 IP 주소를 통해 인스턴스에 연결됩니다. 이 주소는 인스턴스의 클러스터를 처음 설정할 때 지정한 VPC의 비공개 주소이거나 VPC 외부에서 직접 연결할 수 있는 공개 IP일 수 있습니다.
비공개 IP
비공개 IP로 AlloyDB를 구성하면 인스턴스에 VPC 내의 비공개 IP 주소가 할당됩니다.
비공개 IP 주소는 다음 두 가지 방식으로 애플리케이션 연결에 영향을 미칩니다.
프로젝트의 VPC 내 다른 위치에서 실행되는 애플리케이션은 추가 단계나 리소스 없이 인스턴스 또는 인스턴스를 나타내는 프록시에 연결할 수 있습니다.
예를 들어 인스턴스에 psql 클라이언트 연결에서는 VPC 내의 Compute Engine VM에서
psql
명령줄 프로그램을 실행하여 AlloyDB 인스턴스에 연결하는 방법을 보여줍니다.VPC 외부에서 실행되는 애플리케이션은 중개 서비스가 있어야 AlloyDB 인스턴스에 연결할 수 있습니다. 해결 방법에는 인스턴스의 VPC 내 VM에서 프록시 서비스를 실행하거나 다른Google Cloud 제품을 사용하여 애플리케이션과 VPC 간에 영구 연결을 설정하는 것이 포함됩니다.
자세한 내용은 VPC 외부에서 클러스터에 연결을 참고하세요.
일반적으로 비공개 IP를 통한 연결은 인터넷을 거칠 필요가 없으므로 지연 시간이 짧고 공격 벡터가 제한됩니다.
AlloyDB의 비공개 IP에 대해 자세히 알아보려면 비공개 IP 개요를 참고하세요.
공개 IP
공개 IP로 AlloyDB를 구성하면 인스턴스는 공개 인터넷에서 액세스할 수 있는 수신 연결용 공개 IP 주소를 가져옵니다. 원하는 경우 승인된 외부 네트워크를 사용하여 인스턴스에 액세스할 수 있는 IP 주소 범위를 CIDR 형식으로 지정할 수 있습니다.
클라이언트와 인스턴스 간의 보안 연결을 보장하려면 AlloyDB 언어 커넥터와 함께 공개 IP를 사용하는 것이 좋습니다.
인스턴스에 공개 IP 및 승인된 외부 네트워크를 추가하는 방법에 관한 자세한 내용은 공개 IP를 사용하여 연결을 참고하세요.
AlloyDB는 인스턴스에 대한 아웃바운드 연결도 지원합니다. Database Migration Service 또는 자체 관리형 pglogical
설정을 사용하여 외부 소스에서 직접 AlloyDB로 데이터베이스를 마이그레이션하기 위해 아웃바운드 공개 IP를 사용 설정할 수 있습니다. AlloyDB는 postgres_fdw
또는 oracle_fdw
와 같은 외부 데이터 래퍼를 사용하여 외부 데이터 소스에 연결하는 기능도 지원합니다.
아웃바운드 공개 IP를 사용 설정하는 방법에 관한 자세한 내용은 인스턴스에 아웃바운드 연결 추가를 참고하세요.
승인
AlloyDB 언어 커넥터, AlloyDB 인증 프록시 또는 VPC 방화벽 규칙을 사용하여 AlloyDB 클러스터에 대한 액세스를 제어할 수 있습니다.
AlloyDB 언어 커넥터
AlloyDB 언어 커넥터는 AlloyDB 클러스터에 연결할 때 TLS 1.3 및 IAM 승인을 사용하여 자동화된 mTLS를 제공하는 클라이언트 라이브러리입니다.
이러한 라이브러리는 각 프로그래밍 언어에서 직접 사용할 수 있습니다. 외부 프로세스를 사용할 필요 없이 AlloyDB 프록시와 동일한 기능을 제공합니다. 보안이 개선되고 AlloyDB에 연결하기 위한 구성 요구사항이 줄어듭니다.
자세한 내용은 AlloyDB 언어 커넥터 개요를 참고하세요.
IAM 및 AlloyDB 인증 프록시로 액세스 제어
IP 주소를 통해 인스턴스에 직접 연결할 수 있지만 프로덕션 환경에서는 AlloyDB 인증 프록시를 사용하는 것이 좋습니다. 프록시와 클러스터 간에 IAM 기반 액세스 제어 및 엔드 투 엔드 암호화를 제공합니다.
자세한 내용은 AlloyDB 인증 프록시 정보를 참고하세요.
방화벽 규칙으로 VPC 액세스 제한
다른 클라우드 기반 프로젝트와 마찬가지로 VPC의 방화벽 규칙을 조정하여 애플리케이션이 연결되는 IP 범위 또는 서브넷으로만 네트워크 액세스를 제한해야 합니다. 이는 VPC 외부에서 클러스터에 연결에 자세히 설명된 대로 외부 애플리케이션의 경우 특히 중요합니다.
VPC 방화벽 구성에 관한 자세한 내용은 VPC 방화벽 규칙을 참고하세요.
인증
AlloyDB는 두 가지 종류의 데이터베이스 사용자를 지원하며, 각 사용자는 데이터베이스에서 자체 인증 방법을 사용합니다.
표준 PostgreSQL 사용자 역할은 사용자 이름과 비밀번호를 사용하여 인증합니다. 이러한 계정은 일반적인 PostgreSQL 사용자 관리 기법을 사용하여 관리합니다. 자세한 내용은 AlloyDB 사용자 역할 관리를 참고하세요.
IAM 사용자 및 서비스 계정은 OAuth 2.0 토큰을 사용하여 데이터베이스 사용자로 인증됩니다.Google Cloud IAM 시스템을 사용하여 이러한 계정을 관리합니다. 자세한 내용은 IAM 인증 관리를 참고하세요.
AlloyDB 인스턴스로 인증되면 애플리케이션은 인스턴스를 일반 PostgreSQL 서버처럼 취급할 수 있습니다. 인스턴스에 대한 네트워킹 및 승인 경로를 설정한 후 표준 PostgreSQL 기법을 사용하여 인스턴스에 로그인하고 데이터에 액세스할 수 있습니다. 이는 psql
과 같은 도구로 수동으로 로그인하거나 PostgreSQL 코드 라이브러리를 사용하여 프로그래매틱 방식으로 데이터베이스에 연결하는 경우에도 마찬가지입니다.
일반적으로 새 AlloyDB 클러스터로 처음 인증할 때는 클러스터를 만들 때 지정한 비밀번호를 사용하여 postgres
사용자로 기본 인스턴스에 로그인해야 합니다. 그런 다음 애플리케이션에서 사용할 관리자 권한이 없는 데이터베이스 사용자를 만들어야 합니다.
다음 단계
psql
명령줄 셸을 사용하여 AlloyDB 인스턴스에 연결하는 방법을 알아보세요. 여기에는 VPC 내에서 VM을 설정하고psql
를 설치하는 방법에 관한 안내가 포함되어 있습니다.데이터베이스를 만드는 방법을 알아보세요.
AlloyDB 인증 프록시를 설치하고 사용하여 AlloyDB 인스턴스와 안전하게 연결하는 방법을 알아보세요.
AlloyDB 언어 커넥터를 사용하여 연결하는 방법을 알아보세요.