Compute Engine에서 연결

이 페이지에서는 Compute Engine 인스턴스에 설치된 mysql 클라이언트를 사용하여 Cloud SQL에 연결하는 방법을 설명합니다.

비공개 IP, 공개 IP, Cloud SQL 인증 프록시 또는 Cloud SQL 인증 프록시 Docker 이미지를 사용할 수 있습니다.

Cloud SQL에 연결된 Compute Engine 샘플 웹 애플리케이션을 실행하는 방법에 대한 단계별 안내빠른 시작: Compute Engine에서 연결을 참조하세요.

시작하기 전에

이 태스크에는 Compute Engine 인스턴스를 설정하는 방법에 대한 안내가 포함되어 있지 않습니다. Compute Engine 인스턴스 만들기 및 구성에 도움이 필요한 경우 Compute Engine 문서를 참조하세요.

비공개 IP

비공개 IP를 사용하여 Compute Engine 인스턴스에서 Cloud SQL에 연결하려면 비공개 서비스 액세스가 사용 환경에 맞게 설정되어 있고 Cloud SQL 인스턴스가 비공개 IP를 사용할 수 있도록 구성되어 있어야 합니다. Compute Engine 인스턴스는 Cloud SQL 인스턴스와 같은 리전과 비공개로 연결할 수 있도록 구성된 네트워크에 있어야 합니다. 자세히 알아보기

1. 비공개 IP를 사용하도록 인스턴스 구성

비공개 IP 연결 구성의 안내를 따릅니다.

2. Compute Engine 인스턴스와의 Cloud Shell 터미널 연결을 엽니다.

인스턴스의 운영체제에 따라 적절한 안내를 사용합니다.

Compute Engine 인스턴스가 RHEL 또는 CentOS 공개 이미지를 실행할 경우 SELinux가 프록시 연결을 차단할 수 있습니다. 이 경우에는 SELinux 기능이 연결을 허용하도록 구성해야 합니다.

RHEL과 관련한 SELinux에 대한 자세한 내용은 RHEL 문서를 참조하세요. CentOS용 SELinux에 대한 자세한 내용은 CentOS 문서를 참조하세요.

3. 아직 설치되어 있지 않다면 Compute Engine 인스턴스에 mysql 클라이언트를 설치합니다.

  1. MySQL Community Server 다운로드 페이지에서 플랫폼에 맞는 MySQL Community Server를 다운로드합니다.
    Community Server에 MySQL 클라이언트가 포함되어 있습니다.
  2. 다운로드 페이지의 지시에 따라 Community Server를 설치합니다.

MySQL을 설치하는 방법에 대한 자세한 내용은 MySQL 설치 및 업그레이드를 참조하세요.

4. mysql 클라이언트에 연결합니다.

mysql -h CLOUD_SQL_PRIVATE_IP_ADDRESS -u USERNAME -p

Cloud SQL 인스턴스 페이지에서 또는 다음 gcloud 명령어를 실행하여 비공개 IP 주소를 찾을 수 있습니다.

gcloud sql instances list

공개 IP

공개 IP를 사용하여 연결하려면 다음 안내를 따르세요.


Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.

둘러보기


1. 아직 Compute Engine 인스턴스에 고정 IPv4 IP 주소가 없으면 지금 추가합니다.

IPv6을 사용하여 Compute Engine에 연결할 수는 없습니다. 고정 IP 주소를 추가하는 방법에 대한 자세한 내용은 Compute Engine 문서의 새 고정 외부 IP 주소 예약을 참조하세요.

2. Compute Engine 인스턴스의 고정 IP 주소를 Cloud SQL 인스턴스에 연결할 수 있는 네트워크로 승인합니다.

자세한 내용은 공개 IP 연결을 통한 액세스 구성을 참조하세요.

3. Compute Engine 인스턴스와의 Cloud Shell 터미널 연결을 엽니다.

인스턴스의 운영체제에 따라 적절한 안내를 사용합니다.

Compute Engine 인스턴스가 RHEL 또는 CentOS 공개 이미지를 실행할 경우 SELinux가 프록시 연결을 차단할 수 있습니다. 이 경우에는 SELinux 기능이 연결을 허용하도록 구성해야 합니다.

RHEL과 관련한 SELinux에 대한 자세한 내용은 RHEL 문서를 참조하세요. CentOS용 SELinux에 대한 자세한 내용은 CentOS 문서를 참조하세요.

4. 아직 설치되어 있지 않다면 Compute Engine 인스턴스에 mysql 클라이언트를 설치합니다.

  1. MySQL Community Server 다운로드 페이지에서 플랫폼에 맞는 MySQL Community Server를 다운로드합니다.
    Community Server에 MySQL 클라이언트가 포함되어 있습니다.
  2. 다운로드 페이지의 지시에 따라 Community Server를 설치합니다.

MySQL을 설치하는 방법에 대한 자세한 내용은 MySQL 설치 및 업그레이드를 참조하세요.

5. mysql 클라이언트에 연결합니다.

mysql -h CLOUD_SQL_PUBLIC_IP_ADDR -u USERNAME -p

Cloud SQL 인스턴스 페이지에서 또는 다음 gcloud 명령어를 실행하여 공개 IP 주소를 찾을 수 있습니다.

gcloud sql instances list

SSL을 사용하여 연결하는 방법의 예시는 SSL로 연결하기를 참조하세요.

6. mysql 프롬프트가 표시됩니다.

7. 사용하지 않은 연결을 활성화 상태로 유지해야 하는 경우:

TCP 연결 유지를 설정합니다.

자세한 내용은 Compute Engine 문서의 인스턴스 및 인터넷 간의 커뮤니케이션을 참조하세요.

인스턴스의 연결은 자동으로 유지됩니다.

Cloud SQL 인증 프록시

Compute Engine에서 Cloud SQL 인증 프록시를 사용하여 연결하려면 다음 안내를 따르세요.

1. Cloud SQL Admin API를 사용 설정합니다.

Enable the API

2. 서비스 계정 만들기.

  1. Google Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.

    서비스 계정으로 이동

  2. Cloud SQL 인스턴스가 포함된 프로젝트를 선택합니다.
  3. 서비스 계정 만들기를 클릭합니다.
  4. 서비스 계정 이름 필드에 서비스 계정의 설명이 포함된 이름을 입력합니다.
  5. 서비스 계정 ID를 고유하고 인식할 수 있는 값으로 변경한 후 만들고 계속하기를 클릭합니다.
  6. 역할 선택 필드를 클릭하고 다음 역할 중 하나를 선택합니다.
    • Cloud SQL > Cloud SQL 클라이언트
    • Cloud SQL > Cloud SQL 편집자
    • Cloud SQL > Cloud SQL 관리자
  7. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.
  8. 새 서비스 계정의 작업 메뉴를 클릭한 후 키 관리를 선택합니다.
  9. 키 추가 드롭다운 메뉴를 클릭한 후 새 키 만들기를 클릭합니다.
  10. 키 유형이 JSON인지 확인한 후 만들기를 클릭합니다.

    비공개 키 파일이 머신에 다운로드됩니다. 파일을 다른 위치로 이동할 수 있습니다. 키 파일을 안전하게 보관하세요.

Compute Engine 인스턴스가 Cloud SQL 인스턴스와 다른 프로젝트에 있는 경우, Cloud SQL 인스턴스가 포함된 프로젝트에서 서비스 계정에 적절한 권한이 있는지 확인합니다.

  1. Google Cloud 콘솔에서 Compute Engine 인스턴스 목록으로 이동합니다.

    Compute Engine 인스턴스 목록으로 이동

  2. 필요한 경우 Compute Engine 인스턴스와 연결된 프로젝트를 선택합니다.
  3. Compute Engine 인스턴스를 선택하여 속성을 표시합니다.
  4. Compute Engine 인스턴스 속성에서 서비스 계정의 이름을 복사합니다.
  5. Google Cloud 콘솔에서 IAM 및 관리자 프로젝트 페이지로 이동합니다.

    IAM 및 관리자 프로젝트 페이지로 이동

  6. Cloud SQL 인스턴스가 포함된 프로젝트를 선택합니다.
  7. 서비스 계정 이름을 검색합니다.
  8. 이미 서비스 계정이 있고 이 계정의 역할에 cloudsql.instances.connect 권한이 포함되어 있으면 4단계를 진행합니다.

    Cloud SQL Client, Cloud SQL Editor, Cloud SQL Admin 역할은 모두 기존 EditorOwner 프로젝트 역할과 마찬가지로 필요한 권한을 제공합니다.

  9. 그렇지 않은 경우 추가를 클릭하여 서비스 계정을 추가합니다.
  10. 주 구성원 추가 대화상자에서 서비스 계정 이름을 지정하고 cloudsql.instances.connect 권한이 있는 역할을 선택합니다. 뷰어를 제외하고 사전 정의된 모든 Cloud SQL 역할을 선택할 수 있습니다.

    또는 프로젝트 > 편집자를 선택하여 기본 편집자 역할을 사용할 수 있지만 편집자 역할에는 Google Cloud전반에 대한 권한이 포함됩니다.

    이러한 역할이 표시되지 않으면 Google Cloud 사용자에게 resourcemanager.projects.setIamPolicy 권한이 없는 것일 수 있습니다. Google Cloud 콘솔의 IAM 페이지로 이동하고 사용자 ID를 검색하여 권한을 확인할 수 있습니다.

  11. 추가를 클릭합니다.

    이제 지정한 역할을 포함한 서비스 계정이 나열된 것을 볼 수 있습니다.

3. Compute Engine 인스턴스와의 터미널 연결을 엽니다.

인스턴스의 운영체제에 따라 적절한 안내를 사용합니다.

Compute Engine 인스턴스가 RHEL 또는 CentOS 공개 이미지를 실행할 경우 SELinux가 프록시 연결을 차단할 수 있습니다. 이 경우에는 SELinux 기능이 연결을 허용하도록 구성해야 합니다.

RHEL과 관련한 SELinux에 대한 자세한 내용은