공개 IP로 psql 클라이언트 연결

이 페이지에서는 psql 클라이언트를 클라이언트 머신에서 로컬로 실행하거나 Cloud Shell에서 실행하여 Cloud SQL 인스턴스에 연결하는 방법을 설명합니다.

도움이 필요하신가요? 프록시 문제를 해결하는 데 도움이 필요하면 Cloud SQL 프록시 연결 문제해결 또는 Cloud SQL 지원 페이지를 참조하세요.

시작하기 전에

클라이언트 사용을 시작하기 전에 다음 작업을 수행해야 합니다.

로컬 클라이언트 사용

로컬 클라이언트를 사용하여 Cloud SQL 인스턴스에 연결하려면 다음 3가지 상위 작업을 수행해야 합니다.

  1. 클라이언트를 설치합니다.
  2. Cloud SQL 인스턴스에 대한 액세스를 구성합니다.
  3. Cloud SQL 인스턴스에 연결합니다.

클라이언트 설치

클라이언트를 설치하려면 다음 안내를 따르세요.

Debian/Ubuntu

패키지 관리자에서 psql 클라이언트를 설치합니다.

sudo apt-get update
sudo apt-get install postgresql-client

CentOS/RHEL

패키지 관리자에서 psql 클라이언트를 설치합니다.

sudo yum install postgresql

openSUSE

패키지 관리자에서 psql 클라이언트를 설치합니다.

sudo zypper install postgresql

기타 플랫폼

  1. PostgreSQL 다운로드 페이지에서 플랫폼에 맞는 PostgreSQL Core Distribution을 다운로드합니다.
    Core Distribution에는 psql 클라이언트가 포함되어 있습니다.
  2. 다운로드 페이지의 안내에 따라 PostgreSQL 데이터베이스를 설치합니다.

Cloud SQL 인스턴스에 대한 액세스 구성

인스턴스에 대한 액세스를 구성하려면 다음 안내를 따르세요.

  1. 클라이언트 머신에서 내 IP는 무엇인가요?를 사용하여 클라이언트 머신의 IP 주소를 확인합니다.
  2. IP 주소를 복사합니다.
  3. Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스 페이지로 이동

  4. 인스턴스를 클릭하여 개요 페이지를 열고 IP 주소를 기록합니다.
  5. 연결 탭을 선택합니다.
  6. 승인된 네트워크에서 네트워크 추가를 클릭하고 클라이언트가 설치된 머신의 IP 주소를 입력합니다.
  7. 완료를 클릭합니다. 그런 다음 페이지 하단에 있는 저장을 클릭하여 변경사항을 저장합니다.
  8. SSL을 사용하거나 SSL을 사용하지 않고 인스턴스에 연결합니다.

암호화 없이 Cloud SQL 인스턴스에 연결

인스턴스에 연결하려면 다음 안내를 따르세요.

  1. 클라이언트를 설치했으며 인스턴스에 대한 액세스를 구성했는지 확인합니다.
  2. psql 클라이언트를 시작합니다.
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=[INSTANCE_IP]"
    
  3. 비밀번호를 입력합니다.
  4. psql 프롬프트가 표시됩니다.

SSL을 사용하여 Cloud SQL 인스턴스에 연결

SSL을 사용하여 연결하려면 다음 항목이 필요합니다.

  • server-ca.pem 파일의 인증 기관(CA) 인증서
  • client-cert.pem 파일의 클라이언트 공개 키 인증서
  • client-key.pem 파일의 클라이언트 비공개 키

클라이언트 인증서와 해당 비공개 키가 없는 경우 새 클라이언트 인증서를 생성합니다.

시작하기 전에 클라이언트를 설치했고 인스턴스에 대한 액세스를 구성했는지 확인하세요.

SSL을 사용하여 인스턴스에 연결하려면 다음 안내를 따르세요.

  1. psql 클라이언트를 시작합니다.
    psql "sslmode=verify-ca sslrootcert=server-ca.pem \
          sslcert=client-cert.pem sslkey=client-key.pem \
          hostaddr=[INSTANCE_IP] \
          user=postgres dbname=[DB_NAME]"
    

    예:

    psql "sslmode=verify-ca sslrootcert=server-ca.pem \
          sslcert=client-cert.pem sslkey=client-key.pem \
          hostaddr=01.23.45.67 \
          user=postgres dbname=postgres"
    

    verify-full의 SSL 모드는 필요하지 않습니다. CA가 인스턴스 전용이므로 verify-ca이면 충분합니다.

    특히 둘 이상의 인스턴스에 연결하는 경우 연결 서비스 파일을 만들어 연결 매개변수를 관리할 수도 있습니다. 자세한 내용은 PostgreSQL 문서를 참조하세요.

  2. 비밀번호를 입력합니다.
  3. 연결 정보에서 암호화를 검색하여 연결이 암호화되었는지 확인할 수 있습니다.
    SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
    

Cloud Shell에서 클라이언트 사용

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 툴바 오른쪽에 있는 Cloud Shell 아이콘()을 클릭합니다.

    Cloud Shell이 초기화되는 데 시간이 다소 걸립니다.

  3. Cloud Shell 프롬프트에서 기본 제공 클라이언트를 사용하여 Cloud SQL 인스턴스에 연결합니다.
    gcloud sql connect [INSTANCE_ID] --user=postgres
    
  4. 비밀번호를 입력합니다.

gcloud sql 명령어 그룹은 SSL/TLS를 사용한 Cloud SQL 인스턴스 연결을 지원하지 않습니다.

다음 단계