비공개 IP로 SQL Server용 Cloud SQL 인스턴스에 연결
이 페이지에서는 비공개 IP를 사용하여 SQL Server 인스턴스를 만들고 연결하는 방법을 보여줍니다. 이 빠른 시작에서 만든 리소스는 삭제 단계까지 모든 단계를 적시에 완료한다고 가정할 때 1달러 미만의 비용이 소요됩니다.
시작하기 전에
- 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 Google Cloud, 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 이 빠른 시작을 완료하는 데 필요한 권한이 있는지 확인합니다.
-
필요한 Google Cloud API를 사용 설정합니다.
콘솔
Google Cloud 콘솔에서 API 페이지로 이동합니다.
Cloud SQL Admin API를 사용 설정합니다. 이 API를 사용 설정하여 Cloud SQL 인증 프록시를 실행할 수 있습니다.gcloud
다음 버튼을 클릭하여 브라우저에서 직접 Google Cloud 리소스에 대해 명령줄 액세스를 제공하는 Cloud Shell을 엽니다. Cloud Shell을 사용하여 이 빠른 시작 전체에 표시된
gcloud명령어를 실행할 수 있습니다.Cloud Shell을 사용하여 다음과 같이
gcloud services enable명령어를 실행해 이 빠른 시작에 필요한 API를 사용 설정합니다.gcloud services enable sqladmin.googleapis.com
이 명령어는 다음 API를 사용 설정합니다.
- Cloud SQL Admin API. 이 API를 사용 설정하여 Cloud SQL 인증 프록시를 실행할 수 있습니다.
필요한 역할
비공개 IP 주소로 Cloud SQL을 설정하는 데 필요한 권한을 얻으려면 관리자에게 설정하고 연결하려는 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
인스턴스, 데이터베이스, 사용자 만들기 또는 삭제:
Cloud SQL 관리자 역할 (
roles/cloudsql.admin) -
IAM 서비스 계정 만들기 또는 삭제:
IAM 서비스 계정 관리자 역할 (
roles/iam.serviceAccountAdmin) -
컴퓨팅 인스턴스 만들기 또는 삭제:
-
Compute 관리자 역할 (
roles/compute.admin) -
Compute 인스턴스 관리자 역할 (
roles/compute.instanceAdmin.v1)
-
Compute 관리자 역할 (
-
연결 만들기:
-
서비스 네트워킹 관리자 (
roles/servicenetworking.networksAdmin)) -
서비스 사용량 관리자 (
roles/serviceusage.serviceUsageAdmin)
-
서비스 네트워킹 관리자 (
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
개요
소스 위치에 따라 비공개 IP 주소를 사용하여 Cloud SQL 인스턴스에 연결하는 방법은 여러 가지가 있습니다. 핵심 요소는 소스 머신이 Cloud SQL 인스턴스와 동일한 VPC 네트워크에 있어야 한다는 것입니다. 소스가 Google Cloud 에 없거나 동일한 Google Cloud 프로젝트에 없으면 여기에 표시된 것과 다르게 연결을 구성해야 합니다.
이 빠른 시작에서는 가장 직접적인 경로를 통해 연결을 구성합니다. 소스 및 대상은 동일한 Google Cloud 프로젝트 및 동일한 VPC 네트워크에 있습니다. 비공개 IP 주소(대상) 및 Compute Engine VM(소스)으로 Cloud SQL 인스턴스를 만듭니다. VM을 사용하여 VM에서 Cloud SQL 인스턴스로 연결하는 데 필요한 도구를 설치하고 사용합니다.
다음 작업을 실행합니다.
- 비공개 IP 주소로 Cloud SQL 인스턴스 만들기
이후 사용을 위해 인스턴스의
connection name을 찾아서 저장하세요. - Compute Engine VM 만들기
- Compute Engine VM에 대해 2개의 SSH 연결 열기
첫 번째 창에서는 sqlcmd를 설치하고 Cloud SQL 인증 프록시를 설치 및 시작합니다. 그런 후 두 번째 창에서는 Cloud SQL 인증 프록시에 연결하여 Cloud SQL 인스턴스에 연결합니다.
- SSH 창 #1에서 다음을 수행합니다.
- sqlcmd 클라이언트를 설치합니다.
- Cloud SQL 인증 프록시를 설치합니다.
Cloud SQL 인증 프록시는 sqlcmd 클라이언트와 Cloud SQL 인스턴스 사이의 커넥터로 작동합니다.
- Cloud SQL 인증 프록시를 시작합니다.
성공하면 Cloud SQL 인증 프록시가 연결 요청을 리슨합니다.
- SSH 창 2번에서 sqlcmd 클라이언트가 Cloud SQL 인증 프록시에 연결하도록 설정하여 Cloud SQL 인스턴스에 연결합니다.
성공하면 이 창에서 sqlcmd 프롬프트가 표시되고 Cloud SQL 인증 프록시가 실행되는 SSH 창 1번에 연결 성공 메시지가 표시됩니다.
- 삭제합니다.
비공개 IP 주소로 Cloud SQL 인스턴스 만들기
비공개 IP 연결을 사용하는 인스턴스를 만들려면 다음 단계를 따르세요.
-
콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다. Google Cloud
- SQL Server 탭을 선택하고 샌드박스 인스턴스 만들기를 클릭합니다. 샌드박스 상자에서 또는 인스턴스 만들기 를 클릭하고 다음 단계를 따를 수 있습니다.
- SQL Server 선택 을 클릭합니다.
- Enterprise 버전을 선택합니다.
- 샌드박스 사전 설정을 선택합니다.
- Compute API를 사용 설정하라는 메시지가 표시되면 API 사용 설정 버튼을 클릭합니다.
- 인스턴스 정보 섹션에서 인스턴스 ID 의 이름을 입력합니다.
- sqlserver 사용자의 비밀번호를 입력합니다. 나중에 필요하므로 만든 비밀번호 를 기록해 둡니다.
- 리전 및 영역 가용성 선택 섹션에서 단일 영역 옵션을 선택합니다.
- 구성 옵션 표시 를 펼칩니다.
- 연결을 펼칩니다.
- 공개 IP를 선택 해제합니다.
- 비공개 IP 를 선택합니다.
- 비공개 서비스 액세스 (PSA) 를 선택합니다.
- VPC 네트워크 드롭다운에서 기본값 을 선택합니다.
- 새 프로젝트를 사용하는 경우 네트워크 연결이 설정되지 않음 이라는 메시지가 표시되고 네트워크 설정 확인 필요 라는 상자가 PSA 설정을 위한 VPC 문서로 안내합니다.
- 콘솔에서 VPC 네트워크 페이지로 이동합니다. Google Cloud
- 기본 VPC 네트워크를 선택합니다.
- TCP 포트 22에 대한 액세스를 허용하는 방화벽 규칙을 설정합니다.
- 방화벽 탭을 선택합니다.
- VPC 방화벽 규칙에서 VPC 방화벽 규칙 만들기를 선택합니다.
- 방화벽 규칙의 이름을 지정합니다.
- **대상** 에서 **네트워크의 모든 인스턴스** 를 선택합니다.
- 소스 IPv4 범위에
0.0.0.0/0을 입력합니다. - 프로토콜 및 포트에서 TCP를 선택한 후 바로 아래의 포트 상자에
22를 입력합니다. - 만들기 를 선택합니다.
- IP 주소 범위를 할당합니다.
- 비공개 서비스 액세스 탭을 선택합니다.
- 비공개 서비스 액세스 탭에서 서비스에 할당된 IP 범위 탭을 선택합니다.
- IP 범위 할당 을 클릭합니다.
- 할당된 범위의 이름 과 선택적으로 설명 을 입력합니다.
- Google에서 사용 가능한 범위를 선택하도록 하려면 자동 을 선택합니다.
- 접두사 길이 (할당된 주소 수는 2의 (32 - 접두사 길이) 제곱과 같음)를
16~124 사이로 입력합니다. - 할당 을 클릭하여 할당된 범위를 만듭니다.
- 비공개 연결을 만듭1니다.
- 비공개 서비스 액세스 탭에서 서비스에 대한 비공개 연결 탭으로 전환합니다.
- 연결 만들기 버튼을 클릭합니다.
- **비공개 연결 만들기 상자** 의 **할당된 할당** 드롭다운에서 방금 만든 IP 주소 범위의 이름을 선택합니다.
- 연결 을 클릭합니다.
- 연결이 생성되면 Cloud SQL 인스턴스를 만들던 위치로 돌아가서 연결 확인을 클릭합니다.
- PSA 연결이 생성되면 인스턴스 만들기 를 클릭합니다.
새 인스턴스가 생성되는 동안 인스턴스 개요 페이지가 표시됩니다.
인스턴스 생성이 완료되면 이 인스턴스에 연결 섹션으로 스크롤하고 인스턴스의 연결 이름 을 저장합니다.
connection name은 projectID:region:instanceID 형식입니다.
나중에 Cloud SQL 인증 프록시를 시작할 때 이 connection name을 사용합니다.
Compute Engine VM 만들기
다음 단계에 따라 VM을 만듭니다.
-
콘솔에서 VM 인스턴스 페이지로 이동합니다. Google Cloud
- 인스턴스 만들기를 클릭합니다.
- 인스턴스의 이름 을 입력합니다.
- 탐색창에서 데이터 보호 를 선택하고 백업 없음 을 선택합니다.
- 탐색창에서 보안을 선택하고 액세스 범위에서 모든 Cloud API에 대한 전체 액세스 허용을 선택합니다.
- 만들기 를 클릭하고 VM 만들기가 완료될 때까지 기다립니다.
Compute Engine VM에 대해 2개의 SSH 연결 열기
VM에서 2개의 창을 사용합니다. 첫 번째 창에서는 sqlcmd 클라이언트 및 Cloud SQL 인증 프록시를 설치하고, 인스턴스 연결 이름을 가져오고, 이 이름을 사용하여 프록시를 시작합니다. 두 번째 창에서는 프록시를 통해 Cloud SQL 인스턴스에 연결합니다.
- Compute Engine VM 인스턴스의 연결 열에서 SSH 메뉴를 펼칩니다.
- 브라우저 창에서 열기를 선택하여 SSH 창 1번을 엽니다.
창에서 프롬프트가 표시될 때까지 몇 초 정도 걸릴 수 있습니다.
- 메시지가 표시되면
pwd를 입력하여/home/$USER디렉터리에 있는지 확인합니다.sqlcmd 클라이언트 및 Cloud SQL 인증 프록시를 설치하고 이 창에서 Cloud SQL 인증 프록시도 시작합니다.
- 브라우저 창에서 열기를 다시 선택하여 SSH 창 2번을 엽니다.
이 창을 사용하여 Cloud SQL 인스턴스에 연결합니다.
sqlcmd 클라이언트 설치
이 단계에서는 SSH 창 1번을 사용합니다.
안내에 따라 Ubuntu용 SQL Server 명령줄 도구 (mssql-tools)를 설치합니다.
Cloud SQL 인증 프록시 설치
이 단계에서는 SSH 창 1번을 사용합니다.
wget을 설치합니다.sudo apt-get install wget
- Cloud SQL 인증 프록시를 다운로드합니다.
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \ -O cloud-sql-proxy
- Cloud SQL 인증 프록시 실행 파일을 만듭니다.
chmod +x cloud-sql-proxy
Cloud SQL 인증 프록시 시작
이 단계에서는 SSH 창 1번을 사용합니다.
출력을 모니터링할 수 있도록 Cloud SQL 인증 프록시를 시작합니다. INSTANCE_CONNECTION_NAME을 Cloud SQL 인스턴스를 만들 때 복사한 connection name으로 바꿉니다.
./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME
Cloud SQL 인증 프록시가 성공적으로 시작되면 다음과 비슷한 메시지가 SSH 창에 표시됩니다.
Listening on 127.0.0.1:1433 for myInstance Ready for new connections
Cloud SQL 인스턴스에 연결
이 단계에서는 SSH 창 2번을 사용합니다.
USER_NAME을 SQL Server 사용자 이름으로 바꿔서 다음 명령어를 실행합니다.
sqlcmd -S 127.0.0.1 -U USER_NAME
Cloud SQL 인증 프록시를 시작한 터미널 창으로 돌아갑니다. 다음과 유사한 메시지가 표시됩니다.
New connection for myInstance
삭제합니다.
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
myinstance인스턴스를 선택하여 인스턴스 세부정보 페이지를 엽니다.- 페이지 상단의 아이콘 표시줄에서 삭제를 클릭합니다.
- 인스턴스 삭제 창에서 인스턴스 이름을 입력한 후 삭제를 클릭합니다.
선택적인 삭제 단계
이 빠른 시작을 진행하는 동안 사용 설정된 API를 사용하지 않을 때는 이를 사용 중지할 수 있습니다.
- 이 빠른 시작 내에서 사용 설정된 API:
- Cloud SQL Admin API
Google Cloud 콘솔에서 API 페이지로 이동합니다.
Cloud SQL Admin API를 선택한 후 API 사용 중지 버튼을 클릭합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
인스턴스 이름을 선택합니다.
추가 작업 메뉴에서 삭제를 선택합니다.
다음 단계
Cloud SQL 인스턴스 만들기 자세히 알아보기(필요한 경우)
Cloud SQL 인스턴스의 SQL Server 사용자 및 데이터베이스를 만드는 방법도 알아볼 수 있습니다.
또한 다른 Google Cloud 애플리케이션에서 Cloud SQL 인스턴스에 연결하는 방법을 알아보세요.