이 페이지에서는 Backup for GKE 서비스를 사용하여 Google Kubernetes Engine (GKE)에서 교차 프로젝트 복원을 수행하는 방법을 설명합니다.
개요
Backup for GKE 프로젝트 간 복원을 사용하면 한 프로젝트의 백업을 대상 프로젝트의 클러스터로 복원할 수 있습니다. 전용 프로젝트에 백업을 저장한 다음 다른 프로젝트의 클러스터로 이러한 백업을 복원할 수 있습니다.
제한사항
기존 복원 계획을 이전하여 프로젝트 간 복원을 수행할 수는 없습니다.
가격 책정
가격 세부정보는 프로젝트 간 백업 및 복원 가격 책정을 참고하세요.
시작하기 전에
-
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화하세요. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
복원하려는 클러스터가 포함된 프로젝트에서 Backup for GKE API를 사용 설정합니다. 자세한 내용은 Backup for GKE API 사용 설정을 참고하세요.
복원할 클러스터에서 Backup for GKE 부가기능을 사용 설정합니다. 자세한 내용은 클러스터에 Backup for GKE 사용 설정을 참고하세요.
필요한 역할
크로스 프로젝트 복원을 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Backup for GKE 관리자 (roles/gkebackup.admin
) IAM 역할의 하위 집합인 Backup for GKE 백업 관리자 (roles/gkebackup.backupAdmin
)를 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
서비스 계정 설정
필요한 경우 프로젝트에서 작업을 실행할 프로젝트별 서비스 계정을 만듭니다.
Google Cloud CLI를 사용하여
gcloud beta services identity create
명령어를 실행하여 서비스 계정을 만듭니다.gcloud beta services identity create --service=gkebackup.googleapis.com --project=RESTORE_PROJECT_ID gcloud projects add-iam-policy-binding RESTORE_PROJECT_ID --member=serviceAccount:service-RESTORE_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com --role=roles/gkebackup.serviceAgent
다음을 바꿉니다.
RESTORE_PROJECT_ID
: 복원할 Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면restore-project-id
입니다.RESTORE_PROJECT_NUMBER
: Google Cloud 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.
gcloud projects add-iam-policy-binding
명령어를 실행하여 복원 프로젝트의 에이전트가 백업 프로젝트의gkebackup.googleapis.com
에 액세스하도록 허용합니다.gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID --member serviceAccount:service-RESTORE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com --role "roles/gkebackup.crossProjectServiceAgent"
다음을 바꿉니다.
BACKUP_PROJECT_ID
: 백업이 포함된 Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.RESTORE_PROJECT_NUMBER
: 백업을 사용하여 복원하려는 Google Cloud 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.
복원 채널 만들기
복원하려는 백업과 동일한 프로젝트 및 리전에 복원 채널을 만들고 채널에서 대상 프로젝트를 구성해야 합니다. 이렇게 하면 원래 프로젝트 및 리전의 백업을 대상 프로젝트로 복원할 수 있습니다.
gcloud
복원 채널을 만들려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore restore-channels create
명령어를 실행합니다.
gcloud beta container backup-restore restore-channels create RESTORE_CHANNEL_NAME \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION \
--destination-project=projects/RESTORE_PROJECT_NUMBER
다음을 바꿉니다.
RESTORE_CHANNEL_NAME
: 만들려는 복원 채널의 이름입니다.BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_LOCATION
: 백업이 저장될 리전입니다. 예를 들면us-central1
입니다.RESTORE_PROJECT_NUMBER
: 백업을 복원할 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.
콘솔
Google Cloud 콘솔에서 복원 채널을 만들려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
채널 복원 탭을 클릭합니다.
복원 채널 탭에서 복원 채널 만들기를 클릭합니다.
복원 계획 만들기
복원 채널을 만든 후 복원 계획을 만들어야 합니다. 사용하는 복원 계획이 다른 프로젝트에 있는 경우 기존 복원 채널에 자동으로 바인딩됩니다. 복원 계획의 restore_channel
필드에는 복원 계획이 바인딩된 복원 채널이 표시됩니다.
시작하기 전에
복원 계획을 만들기 전에 복원 세트 계획하기를 참고하세요.
복원 계획 만들기
Google Cloud 콘솔을 사용하여 복원 프로젝트에서 복원 계획을 만듭니다.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
복원 계획을 만들려는 프로젝트에 있는지 확인합니다.
복원 계획 만들기를 클릭합니다.
프로젝트 간 복원 구성 상자를 클릭합니다.
백업 프로젝트 필드에서 백업 계획 및 백업이 포함된 프로젝트를 선택합니다.
백업 계획 필드에서 해당 백업 계획을 선택합니다.
복원 프로젝트 필드에서 복원 계획 및 복원이 포함된 프로젝트를 선택합니다. 복원 채널이 없으면 복원 채널 만들기를 클릭하고 프롬프트에 따라 복원 채널을 만든 다음 만들기를 클릭합니다.
복원 채널 세부정보 보기를 클릭합니다.
권한 검증을 클릭합니다.
복원 계획을 만드는 방법에 관한 Backup for GKE 문서에 설명된 대로 나머지 단계를 완료합니다.
복원 채널 보기
다음 섹션에서는 복원 채널을 보는 방법을 설명합니다.
프로젝트 및 리전 내의 모든 복원 채널 보기
gcloud
프로젝트 및 리전 내의 모든 복원 채널을 보려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore restore-channels list
명령어를 실행합니다.
gcloud beta container backup-restore restore-channels list \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION
다음을 바꿉니다.
BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_LOCATION
: 백업이 저장될 리전입니다. 예를 들면us-central1
입니다.
콘솔
Google Cloud 콘솔에서 모든 복원 채널을 보려면 다음 안내를 따르세요.
백업 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
채널 복원 탭을 클릭합니다.
프로젝트 메뉴를 사용하여 보려는 프로젝트를 선택합니다.
복구 채널의 리전을 선택하려면 리전 메뉴를 사용하세요.
콘솔에 선택한 프로젝트 및 리전의 모든 복원 채널이 포함된 표가 표시됩니다.
복원 채널 세부정보 보기
gcloud
복원 채널의 세부정보를 보려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore restore-channels describe
명령어를 실행하세요.
gcloud beta container backup-restore restore-channels describe RESTORE_CHANNEL_NAME \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION
다음을 바꿉니다.
RESTORE_CHANNEL_NAME
: 보려는 복원 채널의 이름입니다.BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_LOCATION
: 백업이 저장될 리전입니다. 예를 들면us-central1
입니다.
콘솔
Google Cloud 콘솔에서 복원 채널의 세부정보를 보려면 다음 안내를 따르세요.
백업 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
채널 복원 탭을 클릭합니다.
프로젝트 메뉴를 사용하여 보려는 프로젝트를 선택합니다.
복구 채널의 리전을 선택하려면 리전 메뉴를 사용하세요.
확인할 복원 채널의 이름을 클릭합니다.
Google Cloud 콘솔에 선택한 복원 채널의 세부정보가 표시됩니다.
복원 채널에 바인드된 복원 계획 보기
복원 채널에 바인드된 복원 계획을 보려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore restore-plan-bindings list
명령어를 실행합니다.
gcloud beta container backup-restore restore-plan-bindings list \
--restore-channel=RESTORE_CHANNEL_NAME \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION
다음을 바꿉니다.
RESTORE_CHANNEL_NAME
: 보려는 복원 채널의 이름입니다.BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_LOCATION
: 백업이 저장될 리전입니다. 예를 들면us-central1
입니다.
복원 채널 관리
다음 섹션에서는 복원 채널을 관리하는 방법을 설명합니다.
복원 채널 업데이트
다음 안내에 따라 복원 채널을 업데이트합니다. 기존 복원 채널의 설명만 업데이트할 수 있습니다. 다른 모든 필드는 수정할 수 없습니다.
gcloud
복원 채널의 설명을 업데이트하려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore restore-channels update
명령어를 실행합니다.
gcloud beta container backup-restore restore-channels update RESTORE_CHANNEL_NAME \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION \
--description=DESCRIPTION
다음을 바꿉니다.
RESTORE_CHANNEL_NAME
: 업데이트할 복원 채널의 이름입니다.BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_LOCATION
: 백업이 저장될 리전입니다. 예를 들면us-central1
입니다.DESCRIPTION
: 복원 채널의 업데이트된 설명입니다.
콘솔
Google Cloud 콘솔에서 복원 채널을 업데이트하려면 다음 안내를 따르세요.
백업 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
채널 복원 탭을 클릭합니다.
채널 복원 페이지에서 업데이트할 복원 채널을 클릭합니다. 기존 복원 채널의 설명만 업데이트할 수 있습니다. 다른 모든 필드는 수정할 수 없습니다.
채널 세부정보 복원 페이지가 표시됩니다.
권한 검증을 클릭합니다.
채널 세부정보 복원 섹션에서
설명 수정 아이콘을 클릭합니다.설명 수정 대화상자가 표시됩니다.
설명 필드에 복구 채널의 업데이트된 설명을 입력한 다음 변경사항 저장을 클릭합니다.
복원 채널 삭제
다음 안내에 따라 복원 채널을 삭제합니다. 복원 채널에 결합된 복원 계획이 없는 경우에만 복원 채널을 삭제할 수 있습니다. 복원 계획이 연결되어 있는 경우 복원 채널을 삭제하기 전에 복원 계획을 삭제해야 합니다.
gcloud
복원 채널을 삭제하려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore backup-channels delete
명령어를 실행합니다.
gcloud beta container backup-restore backup-channels delete RESTORE_CHANNEL_NAME \
--project=BACKUP_PROJECT_ID \
--location=BACKUP_LOCATION
다음을 바꿉니다.
RESTORE_CHANNEL_NAME
: 삭제하려는 복원 채널의 이름입니다.BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_LOCATION
: 백업이 저장될 리전입니다. 예를 들면us-central1
입니다.
콘솔
Google Cloud 콘솔에서 복원 채널을 삭제하려면 다음 안내를 따르세요.
백업 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
채널 복원 탭을 클릭합니다.
채널 복원 페이지에서 삭제할 복원 채널을 클릭합니다.
채널 삭제를 클릭합니다.
복원 채널을 삭제할 것인지 확인하는 대화상자가 표시됩니다.
채널 이름 복원 필드에 복원 채널 이름을 입력하여 삭제를 확인합니다.
확인을 클릭합니다.
다음 단계
- 복원 세트 계획 자세히 알아보기