이 페이지에서는 Backup for GKE 서비스를 사용하여 Google Kubernetes Engine (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=CLUSTER_PROJECT_ID gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \ --member=serviceAccount:service-CLUSTER_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \ --role=roles/gkebackup.serviceAgent \ gcloud beta services identity create \ --service=gkebackup.googleapis.com \ --project=BACKUP_PROJECT_ID gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \ --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \ --role=roles/gkebackup.serviceAgent
다음을 바꿉니다.
CLUSTER_PROJECT_ID
: 만들려는 Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_PROJECT_NUMBER
: Google Cloud 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.BACKUP_PROJECT_NUMBER
: 백업이 저장될 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.
gcloud projects add-iam-policy-binding
명령어를 실행하여 백업 프로젝트의 서비스 계정이 클러스터 프로젝트에서 백업을 실행하도록 허용합니다.gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \ --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \ --role=roles/gkebackup.serviceAgent
다음을 바꿉니다.
CLUSTER_PROJECT_ID
:Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.BACKUP_PROJECT_NUMBER
: 백업이 저장될 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.
gcloud projects add-iam-policy-binding
명령어를 실행하여 클러스터 프로젝트의 에이전트가 백업 프로젝트의gkebackup.googleapis.com
에 액세스하도록 허용합니다.gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \ --member serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com \ --role "roles/gkebackup.crossProjectServiceAgent"
다음을 바꿉니다.
BACKUP_PROJECT_ID
: 백업이 저장될Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면backup-project-id
입니다.CLUSTER_PROJECT_NUMBER
: Google Cloud 프로젝트의 고유한 숫자 식별자입니다. 예를 들면123456789012
입니다.
백업 채널 만들기
서비스 계정을 설정한 후 백업하려는 클러스터와 동일한 프로젝트 및 리전에 백업 채널을 만들어야 합니다. 백업 채널을 만든 후 프로젝트 및 리전의 클러스터를 대상 프로젝트에 백업할 수 있습니다.
gcloud
백업 채널을 만들려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore backup-channels create
명령어를 실행합니다.
gcloud beta container backup-restore backup-channels create BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION \
--destination-project=projects/BACKUP_PROJECT_NUMBER
다음을 바꿉니다.
BACKUP_CHANNEL_NAME
: 만들려는 백업 채널의 이름입니다. 예를 들면my-backup-channel-name
입니다.CLUSTER_PROJECT_ID
: 클러스터가 있는Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_LOCATION
: 클러스터가 있는 리전입니다. 예를 들면us-central1
입니다.BACKUP_PROJECT_NUMBER
: 백업이 저장될 프로젝트의 고유 숫자 식별자입니다.
콘솔
Google Cloud 콘솔에서 백업 채널을 만들려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
백업 채널 탭을 클릭합니다.
백업 채널 탭에서 백업 채널 만들기를 클릭합니다.
클러스터 프로젝트 필드를 사용하여 올바른 클러스터 프로젝트를 선택했는지 확인합니다.
리전 메뉴를 사용하여 클러스터가 있는 리전을 선택합니다.
백업 프로젝트 필드에서 백업을 허용할 프로젝트를 선택합니다.
백업 채널 이름 필드에 백업 채널 이름을 입력합니다.
선택사항: 백업 채널 설명 필드에 백업 채널에 대한 간단한 설명을 입력합니다.
다음을 클릭합니다.
클러스터 및 백업 프로젝트에서 서비스 계정 권한을 검증합니다.
만들기를 클릭합니다.
백업 계획 만들기
백업 채널을 만든 후 백업 계획을 만들어야 합니다. 백업되는 클러스터가 다른 프로젝트에 있는 경우 백업 계획은 기존 백업 채널에 자동으로 바인드됩니다. 백업 계획의 backup_channel
필드에는 백업 계획이 바인딩된 백업 채널이 표시됩니다.
시작하기 전에
백업 계획을 만들기 전에 백업 집합 계획하기를 참고하세요.
백업 계획 만들기
Google Cloud 콘솔을 사용하여 백업 프로젝트에서 백업 계획을 만들려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
백업 계획을 만들 백업 프로젝트를 엽니다.
백업 계획 만들기를 클릭합니다.
프로젝트 간 백업 구성 체크박스를 선택합니다.
클러스터 프로젝트 필드에서 소스 클러스터가 포함된 프로젝트를 선택합니다.
클러스터 메뉴에서 클러스터의 리전을 선택합니다.
백업 계획 이름 필드에 백업 계획 이름을 입력합니다.
백업 프로젝트 필드에 백업을 저장할 백업 프로젝트의 이름을 입력합니다.
리전 필드에 백업이 저장될 위치를 입력합니다. 백업 채널이 없으면 백업 채널 만들기를 클릭하고 프롬프트에 따라 백업 채널을 만든 후 만들기를 클릭합니다.
백업 채널 세부정보 보기를 클릭합니다.
권한 검증을 클릭합니다.
백업 계획 만들기에 설명된 대로 나머지 단계를 완료합니다.
계획 만들기를 클릭합니다.
백업 채널 보기
다음 섹션의 안내에 따라 백업 채널을 확인하세요.
프로젝트 및 리전 내의 모든 백업 채널 보기
gcloud
프로젝트와 리전 내에 있는 모든 백업 채널을 보려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore backup-channels list
명령어를 실행하세요.
gcloud beta container backup-restore backup-channels list \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
다음을 바꿉니다.
CLUSTER_PROJECT_ID
: 클러스터가 있는Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_LOCATION
: 클러스터가 있는 리전입니다. 예를 들면us-central1
입니다.
콘솔
Google Cloud 콘솔에서 프로젝트 및 리전 내의 모든 백업 채널을 보려면 다음 안내를 따르세요.
클러스터 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
백업 채널 탭을 클릭합니다.
프로젝트 및 지역 메뉴를 사용하여 백업 채널 목록을 필터링합니다.
필터링된 목록에는 선택한 프로젝트와 리전의 모든 백업 채널이 표시됩니다.
백업 채널 세부정보 보기
gcloud
백업 채널의 세부정보를 보려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore backup-channels describe
명령어를 실행합니다.
gcloud beta container backup-restore backup-channels describe BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
다음을 바꿉니다.
BACKUP_CHANNEL_NAME
: 보려는 백업 채널의 이름입니다. 예를 들면my-backup-channel-name
입니다.CLUSTER_PROJECT_ID
: 클러스터가 있는Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_LOCATION
: 클러스터가 있는 리전입니다. 예를 들면us-central1
입니다.
콘솔
Google Cloud 콘솔에서 백업 채널의 세부정보를 보려면 다음 안내를 따르세요.
클러스터 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
백업 채널 탭을 클릭합니다.
프로젝트 및 지역 메뉴를 사용하여 백업 채널 목록을 필터링합니다.
확인하려는 백업 채널의 이름을 클릭합니다. 해당 백업 채널의 세부정보가 포함된 페이지가 열립니다.
백업 채널에 바인드된 백업 계획 보기
백업 채널에 바인딩된 백업 계획을 보려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore backup-plan-bindings list
명령어를 실행합니다.
gcloud beta container backup-restore backup-plan-bindings list \
--backup-channel=BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
다음을 바꿉니다.
BACKUP_CHANNEL_NAME
: 보려는 백업 채널의 이름입니다. 예를 들면my-backup-channel-name
입니다.CLUSTER_PROJECT_ID
: 클러스터가 있는 Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_LOCATION
: 클러스터가 있는 리전입니다. 예를 들면us-central1
입니다.
백업 채널 관리
다음 섹션에서는 백업 채널을 만든 후 관리하는 방법을 설명합니다.
백업 채널 업데이트
다음 안내에 따라 백업 채널을 업데이트합니다. 기존 백업 채널의 설명만 수정할 수 있습니다. 다른 모든 필드는 수정할 수 없습니다.
gcloud
백업 채널의 설명을 업데이트하려면 Google Cloud CLI를 사용하여 gcloud beta container backup-restore backup-channels update
명령어를 실행합니다.
gcloud beta container backup-restore backup-channels update BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION \
--description=DESCRIPTION
다음을 바꿉니다.
BACKUP_CHANNEL_NAME
: 업데이트할 백업 채널의 이름 예를 들면my-backup-channel-name
입니다.CLUSTER_PROJECT_ID
: 클러스터가 있는Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_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 BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
다음을 바꿉니다.
BACKUP_CHANNEL_NAME
: 삭제하려는 백업 채널의 이름입니다. 예를 들면my-backup-channel-name
입니다.CLUSTER_PROJECT_ID
: 클러스터가 있는Google Cloud 프로젝트의 영숫자 이름입니다. 예를 들면cluster-project-id
입니다.CLUSTER_LOCATION
: 클러스터가 있는 리전입니다. 예를 들면us-central1
입니다.
콘솔
Google Cloud 콘솔에서 백업 채널을 삭제하려면 다음 안내를 따르세요.
클러스터 프로젝트의 Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
리소스 관리 메뉴에서 Backup for GKE를 클릭합니다.
백업 채널 탭을 클릭합니다.
백업 채널 페이지에서 삭제할 백업 채널을 클릭합니다.
채널 삭제를 클릭합니다.
백업 채널을 삭제할 것인지 확인하는 대화상자가 표시됩니다.
백업 채널 이름 필드에 백업 채널 이름을 입력하여 삭제를 확인합니다.
확인을 클릭합니다.
다음 단계
프로젝트 간 복원을 수행하는 방법을 알아보세요.
복원 세트 계획 자세히 알아보기