실습 설정 안내 및 요구사항
계정과 진행 상황을 보호하세요. 이 실습을 실행하려면 항상 시크릿 브라우저 창과 실습 사용자 인증 정보를 사용하세요.

PostgreSQL용 Cloud SQL 인스턴스 만들고 관리하기: 챌린지 실습

실습 1시간 universal_currency_alt 크레딧 1개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
이 콘텐츠는 아직 휴대기기에 최적화되지 않음
최상의 경험을 위해 데스크톱 컴퓨터에서 이메일로 전송된 링크를 사용하여 방문하세요.

GSP355

Google Cloud 사용자 주도형 실습 로고

개요

챌린지 실습에서는 특정 시나리오와 일련의 작업이 주어집니다. 단계별 안내를 따르는 대신, 과정의 실습에서 배운 기술을 사용하여 스스로 작업을 완료하는 방법을 알아내 보세요. 이 페이지에 표시되어 있는 자동 채점 시스템에서 작업을 올바르게 완료했는지 피드백을 제공합니다.

챌린지 실습을 진행할 때는 새로운 Google Cloud 개념에 대한 정보가 제공되지 않습니다. 학습한 기술을 응용하여 기본값을 변경하거나 오류 메시지를 읽고 조사하여 실수를 바로잡아야 합니다.

100점을 받으려면 시간 내에 모든 작업을 성공적으로 완료해야 합니다.

이 실습은 PostgreSQL용 Cloud SQL 인스턴스 만들고 관리하기 기술 배지 과정에 등록한 학습자에게 권장됩니다. 챌린지에 도전할 준비가 되셨나요?

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드(권장) 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간(실습을 시작하고 나면 일시중지할 수 없음)
참고: 이 실습에는 학습자 계정만 사용하세요. 다른 Google Cloud 계정을 사용하는 경우 해당 계정에 비용이 청구될 수 있습니다.

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 대화상자가 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 창이 있습니다.

    • Google Cloud 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).

    실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.

    {{{user_0.username | "Username"}}}

    실습 세부정보 창에서도 사용자 이름을 확인할 수 있습니다.

  4. 다음을 클릭합니다.

  5. 아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.

    {{{user_0.password | "Password"}}}

    실습 세부정보 창에서도 비밀번호를 확인할 수 있습니다.

  6. 다음을 클릭합니다.

    중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  7. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 체험판을 신청하지 않습니다.

잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.

참고: Google Cloud 제품 및 서비스에 액세스하려면 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다. 탐색 메뉴 아이콘 및 검색창

챌린지 시나리오

Cymbal Shops는 1974년에 설립된 소매 체인으로, 북미 전역의 714개 매장에서 생활용품, 전자제품, 의류를 판매하고 있습니다. Cymbal Shops는 데이터 무결성, 최소한의 다운타임, 강력한 보안, 견고한 재해 복구 기능을 보장하면서, 기존의 온프레미스 인벤토리 관리 시스템을 마이그레이션하여 데이터베이스 인프라를 현대화하고자 합니다.

데이터베이스 관리팀(DBA)은 더 나은 확장성과 신뢰성을 활용하기 위해 중요한 자체 관리형 PostgreSQL 데이터베이스를 클라우드로 이전하기로 결정했습니다. 일상적인 운영에 지장이 없도록 마이그레이션은 중단 없이 원활하게 이루어져야 합니다. 클라우드로 이전한 후, DBA는 Google Cloud의 중앙 집중식 ID 관리 기능을 사용하여 보안을 강화하고, 규정 준수와 데이터 보호를 위한 신뢰할 수 있는 복구 솔루션을 구현하고자 합니다.

챌린지

DBA팀의 일원으로서, Database Migration Service를 사용하여 핵심 PostgreSQL 데이터베이스를 PostgreSQL용 Cloud SQL로 이전하는 임무를 맡게 됩니다. 마이그레이션 이후에는 Cloud SQL 데이터베이스를 읽기와 쓰기 작업을 모두 처리할 수 있는 독립형 인스턴스로 승격한 다음, IAM DB 인증을 구현하여 데이터베이스를 보호하고, 마지막으로 데이터베이스에 대해 PITR(point-in-time recovery)을 수행해야 합니다.

작업 1. 독립형 PostgreSQL 데이터베이스를 PostgreSQL용 Cloud SQL 인스턴스로 마이그레이션하기

이 작업에서는 Database Migration Service 연속 마이그레이션 작업 및 VPC 피어링 연결을 사용하여 postgres-vm 가상 머신에서 실행 중인 독립형 PostgreSQL orders 데이터베이스를 PostgreSQL용 Cloud SQL 인스턴스로 마이그레이션해야 합니다.

마이그레이션을 위해 독립형 PostgreSQL 데이터베이스 준비

Database Migration Service 마이그레이션 요구사항을 충족하도록 독립형 PostgreSQL 데이터베이스를 준비합니다.

  1. Google Cloud 콘솔 제목 표시줄에서 Database Migration APIService Networking API를 검색하여 두 API가 모두 사용 설정되어 있는지 확인합니다. 사용 설정되어 있지 않다면 각 API에 대해 사용 설정을 클릭합니다.

  2. pglogical 데이터베이스 확장 프로그램을 사용하여 postgres-vm 가상 머신에서 대상 데이터베이스를 업그레이드합니다.

  3. postgres-vm 컴퓨팅 인스턴스 VM에서 독립형 PostgreSQL 데이터베이스에 pglogical 데이터베이스 확장 프로그램을 설치하고 구성합니다. 설치해야 하는 데이터베이스 확장 패키지의 이름은 postgresql-14-pglogical입니다.

  4. pglogical 데이터베이스 확장 프로그램을 사용 설정하기 위해 PostgreSQL 구성 파일 /etc/postgresql/14/main/postgresql.conf를 편집하고, 모든 호스트에서의 액세스를 허용하기 위해 /etc/postgresql/14/main/pg_hba.conf 파일을 편집하여 pglogical 데이터베이스 확장 프로그램 구성을 완료합니다.

  5. postgres-vm 가상 머신의 독립형 PostgreSQL 설치 환경에서 다음 사용자 이름과 비밀번호로 새 사용자를 만듭니다.

  • 마이그레이션 사용자 이름:
  • 마이그레이션 사용자 비밀번호 : DMS_1s_cool!
  1. 해당 사용자에게 마이그레이션할 데이터베이스에 대해 필요한 권한을 부여합니다.

Database Migration Service를 사용하려면 마이그레이션 사용자에게 마이그레이션 대상 데이터베이스의 특정 스키마 및 관계(이 경우 orders 데이터베이스)에 대한 권한이 있어야 합니다.

Database Migration Service를 사용하려면 마이그레이션할 모든 테이블에 기본 키가 있어야 합니다.

  1. 마이그레이션을 시작하기 전에 orders 데이터베이스의 모든 테이블에 기본 키가 설정되어 있는지 확인합니다.
  • distribution_centers
  • inventory_items
  • order_items
  • products
  • users
참고: 독립형 PostgreSQL 데이터베이스를 PostgreSQL용 Cloud SQL로 마이그레이션하기 위한 자세한 기본 요건은 Database Migration Service용 Cloud 콘솔 GUI의 추천 링크에서 확인할 수 있습니다.

수행해야 하는 세부 단계에서 도움이 필요한 경우 해당 문서를 참고하거나 이 과정에 포함된 마이그레이션 실습에서 세부 단계를 살펴볼 수 있습니다.
독립형 PostgreSQL 데이터베이스를 PostgreSQL용 Cloud SQL로 마이그레이션하기 위해 준비하기

독립형 PostgreSQL 데이터베이스를 PostgreSQL용 Cloud SQL 인스턴스로 마이그레이션

Database Migration Service를 사용하여 마이그레이션을 수행하려면 다음 단계를 완료하세요.

  1. 앞서 만든 마이그레이션 사용자의 사용자 인증 정보로 독립형 PostgreSQL 데이터베이스에 대한 Database Migration Service 연결 프로필을 새로 만듭니다.
  • 사용자 이름 :
  • 비밀번호 : DMS_1s_cool!
  • 리전(으)로 설정해야 합니다.
  1. 소스 컴퓨팅 인스턴스의 내부 IP 주소를 사용하여 연결 프로필을 구성합니다.

  2. 새 연속 Database Migration Service 작업을 만듭니다.

마이그레이션 작업 구성의 일환으로 대상 Cloud SQL 인스턴스에 대해 다음 속성을 지정해야 합니다.

마이그레이션 작업 유형 필드에 '연속'이 선택됨

  1. 대상 유형으로 기존 인스턴스를 선택하고 을(를) 대상 인스턴스 ID로 선택합니다.
참고: 비공개 IP 주소가 할당될 때까지 기다립니다. '만들고 계속하기'가 표시되면 계속 진행할 수 있습니다.
  1. 연결 방법의 경우 기본 VPC 네트워크와 함께 VPC 피어링을 사용해야 합니다.

  2. 테스트한 다음 연속 마이그레이션 작업을 시작합니다.

소스 PostgreSQL 환경을 올바르게 준비하지 않으면 마이그레이션이 완전히 실패하거나 일부 개별 테이블의 마이그레이션이 실패할 수 있습니다. 일부 테이블이 누락된 경우, 마이그레이션이 정상적으로 작동하는 것처럼 보이더라도 모든 소스 데이터베이스 테이블을 올바르게 구성했는지 확인하세요.

독립형 PostgreSQL 데이터베이스를 PostgreSQL용 Cloud SQL 인스턴스로 마이그레이션하기

작업 2. Cloud SQL을 데이터 읽기 및 쓰기를 위한 독립형 인스턴스로 승격하기

  • 이 작업에서는 PostgreSQL용 Cloud SQL 인스턴스를 독립형 인스턴스로 승격하여 마이그레이션을 완료해야 합니다.

승격이 완료되면 작업 상태가 완료됨으로 업데이트됩니다. Cloud SQL 마이그레이션 복제본을 독립형 인스턴스로 승격하기

작업 3. PostgreSQL용 Cloud SQL IAM 데이터베이스 인증 구현하기

이 작업에서는 새로 마이그레이션된 PostgreSQL용 Cloud SQL 인스턴스가 Cloud IAM 사용자 및 IAM 데이터베이스 인증을 지원하도록 구성해야 합니다. 또한 PostgreSQL용 Cloud SQL 인스턴스에 패치를 적용하여 이 인스턴스에 연결할 수 있는 네트워크 목록에 postgres-vm 가상 머신의 공개 IP 주소를 추가해야 합니다.

  1. postgres-vm 가상 머신의 공개 IP 주소에서 연결할 수 있도록 Cloud SQL 인스턴스에 패치를 적용합니다.

    • Cloud SQL 인스턴스에서 연결 > 네트워킹으로 이동합니다.
    • 공개 IP에서 네트워크 추가를 클릭합니다. 네트워크의 경우 postgres-vm 가상 머신의 외부 IP를 사용합니다.
  2. Cloud SQL 인스턴스에서 실습 학습자 ID()를 주 구성원 계정 이름으로 사용하여 Cloud SQL IAM 사용자를 만듭니다.

    • 사용자 > 사용자 계정 추가를 클릭한 다음 Cloud IAM을 선택합니다.
  3. Cloud IAM 사용자에게 테이블에 대한 SELECT 권한을 부여합니다.

    • Cloud SQL 인스턴스에서 개요로 이동합니다. 이 인스턴스에 연결에서 Cloud Shell 열기를 클릭합니다.
    • 비밀번호에 supersecret!을 입력합니다. 그런 다음 \c orders; 명령어를 사용하여 orders 데이터베이스에 연결합니다.
    • 비밀번호에 supersecret!을 다시 입력합니다.
    • 다음 명령어를 사용하여 SELECT 권한을 부여합니다. Table_NameQwiklabs_User_Account_Name 변수를 올바른 값으로 바꿉니다. GRANT SELECT ON Table_Name TO "Qwiklabs_User_Account_Name";
  4. 마이그레이션된 데이터베이스에서 사용자로 다음 쿼리를 실행하여 이(가) 테이블에서 데이터를 선택할 수 있는지 확인합니다.

Cloud IAM 데이터베이스 인증을 사용하여 PostgreSQL용 Cloud SQL 데이터베이스 테이블 보호하기

작업 4. PITR 구성 및 테스트하기

이 작업에서는 PostgreSQL용 Cloud SQL 인스턴스에서 PITR을 구성한 다음, 테스트를 위해 PITR을 사용하여 일부 변경사항이 롤백되는 시점에 클론 인스턴스를 만들어야 합니다.

이 작업을 완료하기 위해서는 다음 단계를 완료해야 합니다.

  1. PostgreSQL용 Cloud SQL 인스턴스에서 백업을 사용 설정합니다.
    • Cloud SQL 인스턴스에서 개요로 이동합니다. 수정 > 데이터 보호를 클릭합니다.
    • PITR을 사용 설정하고 보관된 트랜잭션 로그 일수를 (으)로 설정합니다.
  2. 다음 명령어를 사용하여 복원할 시점의 타임스탬프를 기록해 둡니다. date -u --rfc-3339=ns | sed -r 's/ /T/; s/\.([0-9]{3}).*/\.\1Z/'
  3. 이 타임스탬프 이후에 데이터베이스를 변경합니다.
    • Cloud SQL 인스턴스에서 개요로 이동합니다. 이 인스턴스에 연결에서 Cloud Shell 열기를 클릭합니다.
    • 비밀번호에 supersecret!을 입력한 다음 \c orders; 명령어를 사용하여 orders 데이터베이스에 연결합니다.
    • 비밀번호에 supersecret!을 다시 입력합니다.
    • orders.distribution_centers 테이블에 데이터 행을 추가해야 합니다.
  4. PITR을 사용하여 선택한 타임스탬프의 인스턴스 상태를 복제하는 클론을 만듭니다.
    • 다음 명령어를 사용하여 인스턴스를 클론합니다. 이때 CLOUDSQL_INSTANCE, NEW_INSTANCE_NAME, TIME_STAMP 변수를 올바른 값으로 바꿉니다. gcloud sql instances clone $CLOUDSQL_INSTANCE $NEW_INSTANCE_NAME \ --point-in-time $TIME_STAMP
    • 클론된 인스턴스 이름에는 postgres-orders-pitr이라는 이름을 사용해야 합니다.

새 인스턴스는 사용되지 않지만 실습을 올바르게 완료했는지 확인하는 데 필요하므로 삭제하지 마세요.

참고: PITR 타임스탬프는 RFC 3339 형식('yyyy-MM-ddThh:mm:ss.mmmZ')의 UTC 시간으로 지정해야 합니다. PITR을 사용 설정하고 테스트하기

수고하셨습니다

독립형 PostgreSQL 데이터베이스를 Cloud SQL로 마이그레이션하고, Cloud SQL IAM 데이터베이스 인증을 사용 설정하고, 데이터베이스에서 PITR을 테스트하는 실습을 완료했습니다.

PostgreSQL용 Cloud SQL 인스턴스 만들고 관리하기 기술 배지

다음 기술 배지 획득

이 사용자 주도형 실습은 PostgreSQL용 Cloud SQL 인스턴스 만들고 관리하기 기술 배지 과정의 일부입니다. 이 기술 배지 과정을 완료하면 위의 배지를 획득하여 수료를 인증할 수 있습니다. 이력서 및 소셜 미디어 플랫폼에 배지를 공유하고 #GoogleCloudBadge 해시태그를 사용해 스스로 달성한 업적을 널리 알리세요.

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2025년 12월 11일

실습 최종 테스트: 2025년 12월 11일

Copyright 2026 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하는 가장 좋은 방법은 시크릿 모드 또는 시크릿 브라우저 창을 사용하는 것입니다. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.