< Lab >
Configure Replication and Enable Point-in-Time-Recovery for Cloud SQL for PostgreSQL
PostgreSQL용 Cloud SQL에 대한 복제 구성 및 지정 시간 복구 사용
- PostgreSQL 인스턴스용 Cloud SQL에서 백업 활성화
- 클라우드 셸에서 인스턴스 세부정보를 표시
export CLOUD_SQL_INSTANCE=postgres-orders gcloud sql instances describe $CLOUD_SQL_INSTANCE
- 클라우드 셸에서 현재 UTC 시간을 24시간 형식으로 가져오기
date +"%R"
- 클라우드 셸에서 이전 단계에 표시된 시간보다 빠른 시간에 예약된 백업을 활성화
이는 랩을 실행하는 동안 백업이 시작되는 것을 원하지 않기 때문임
gcloud sql instances patch $CLOUD_SQL_INSTANCE \ --backup-start-time=09:05
- 변경 사항을 확인
gcloud sql instances describe $CLOUD_SQL_INSTANCE --format 'value(settings.backupConfiguration)'
- 지정 시간 복구 활성화 및 실행
- 특정 시점 복구 활성화 :
gcloud sql instances patch $CLOUD_SQL_INSTANCE \ --enable-point-in-time-recovery \ --retained-transaction-log-days=1
- PostgreSQL용 Cloud SQL 데이터베이스 변경 :
SQL - postgres-orders 인스턴스를 클릭한 후 클라우드 셸을 열은 후
psql에서 order 데이터베이스로 연결 후 distribution_centers 테이블의 행 수를 가져옴
새 탭에서 현재 UTC 시간을 RFC 3399 형식으로 다음 작업에서 생성할 특정 시점 복제본에 사용할 타임스탬프로 가져옴
date --rfc-3339=seconds
다음 변경 사항이 이 타임스탬프 이후에 발생하도록 잠시 기다린 후
psql에서 orders.distribution_cneters 테이블에 행을 추가하고 새 COUNT를 얻음
INSERT INTO distribution_centers VALUES(-80.1918,25.7617,'Miami FL',11); SELECT COUNT(*) FROM distribution_centers;
psql 종료
\q
- 특정 시점 복구 수행 :
특정 시점에 postgres-ordes 인스턴스의 클론을 만듦
export NEW_INSTANCE_NAME=postgres-orders-pitr gcloud sql instances clone $CLOUD_SQL_INSTANCE $NEW_INSTANCE_NAME \ --point-in-time '2022-02-15 09:29:53+00:00'
- 데이터베이스가 올바른 시점으로 복원되었는지 확인
- postgres-orders-pitr 인스턴스를 클릭 후 클라우드 셸을 열어 psql 세션을 시작
- orders 데이터베이스로 변경 후 distribution_centers 테이블의 행 수를 가져옴
새로운 PostgreSQL용 Cloud SQL 인스턴스의 distribution_centers 테이블에는 복제 시점 인스턴스에 있었던 10개 행 존재
'Cloud > GCP' 카테고리의 다른 글
[Cloud Skills Boost] Database Engineer learning path - 목차 (0) | 2022.02.17 |
---|---|
[Cloud Skills Boost] Manage PostgreSQL Databases on Cloud SQL ⑤ (0) | 2022.02.17 |
[Cloud Skills Boost] Manage PostgreSQL Databases on Cloud SQL ③ (0) | 2022.02.15 |
[Cloud Skills Boost] Manage PostgreSQL Databases on Cloud SQL ② (0) | 2022.02.15 |
[Cloud Skills Boost] Manage PostgreSQL Databases on Cloud SQL ① (0) | 2022.02.15 |