주문형 패치 작업 실행 외에 패치 배포를 만들어 설정된 일정에 따라 자동으로 실행되는 패치 작업이 필요할 수 있습니다.
각 패치 배포에 특정 날짜와 시간에 패치 작업을 실행하는 일회성 일정 또는 지정된 간격으로 패치 작업을 실행하는 반복 일정을 설정할 수 있습니다.
인스턴스 필터를 사용하면 여러 인스턴스를 동시에 패치할 수 있습니다. 이러한 필터는 실행 시 각 개별 패치 작업에 적용됩니다. 이렇게 하면 프로젝트의 변경사항이 실시간으로 캡처됩니다.
예를 들어 2주 후부터 asia-souteast1-b
영역의 모든 인스턴스에 패치를 적용하기 위해 패치 배포를 만든다고 가정해 보겠습니다. 패치를 만드는 시점에는 영역에 인스턴스가 20개였지만 며칠 후 새 인스턴스 40개가 영역에 추가됩니다. 필터는 패치가 시작될 때 적용되므로 인스턴스 60개가 모두 업데이트됩니다. 이렇게 하면 패치 배포 일정을 업데이트하지 않고도 인스턴스를 추가하고 삭제할 수 있습니다.
시작하기 전에
- OS 구성 할당량을 검토합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
roles/osconfig.patchDeploymentAdmin
: 패치 배포를 만들고 삭제하고 가져오고 나열할 수 있는 권한이 포함됩니다.roles/osconfig.patchDeploymentViewer
: 패치 배포를 가져오고 나열할 수 있는 읽기 전용 액세스 권한이 포함됩니다.project-id
: 프로젝트 IDuser-id
: 사용자의 Google Workspace 사용자 이름입니다.- 각 이름은 프로젝트 내에서 고유해야 합니다.
- 소문자, 숫자, 하이픈만 포함합니다.
- 문자로 시작합니다.
- 숫자 또는 문자로 끝납니다.
- 1~63자(영문 기준)
- Google Cloud 콘솔에서 Compute Engine > VM Manager > 패치 페이지로 이동합니다.
- 새 패치 배포를 클릭합니다.
대상 VM 섹션에서 패치할 VM이 포함된 영역을 선택합니다. 모든 영역을 선택할 수도 있습니다.
예를 들어 선택한 영역의 특정 VM을 패치하려면 다음과 유사한 이름 필터와 라벨 필터를 입력합니다.
- 이름 프리픽스:
test-
- 라벨:
env=dev
및app=web
- 이름 프리픽스:
패치 구성 섹션에서 패치를 구성합니다.
- 패치 이름을 지정합니다.
- 운영체제에 필요한 업데이트를 선택합니다. 자세한 내용은 OS 패치 작업에 포함된 항목을 참조하세요.
예약 섹션에서 다음을 완료합니다.
- 일정을 선택합니다. 일회성 패치 작업 또는 반복 패치 작업을 예약할 수 있습니다.
- (선택사항) 기간 또는 유지보수 기간을 설정합니다.
출시 옵션 섹션에서 패치 출시 옵션을 구성합니다.
- 한 번에 하나의 영역에 패치를 적용할지 아니면 여러 영역에 패치를 동시에 적용할지 선택합니다.
- 중단 예산을 설정합니다. 중단 예산은 패치 프로세스를 통해 한 번에 중단하려는 영역의 VM 수 또는 백분율입니다.
(선택사항) 고급 옵션 섹션에서는 다음 작업을 완료할 수 있습니다.
- 재부팅 옵션을 선택합니다.
- 사전 패치 및 사후 패치 스크립트를 업로드합니다. 사전 패치 및 사후 패치 스크립트에 대한 자세한 내용은 사전 패치 및 사후 패치 스크립트 지정을 참조하세요.
배포를 클릭합니다.
patch-deployment-id
: 패치 배포의 이름입니다.patch-deployment-file
: 패치 배포 구성이 포함된 YAML 또는 JSON 파일의 경로입니다.- 시작일은 2019년 1월 9일 오후 7시 30분
- 종료일은 2020년 1월 9일 오후 7시 30분
- 사용할 시간대는 'America/Los_Angeles'
- 매주 화요일에 실행
project-id
: 프로젝트 ID입니다.instance-filter
: 원하는 필터 매개변수. 인스턴스 필터에 대한 자세한 내용은 인스턴스 필터를 참조하세요.schedule
: 패치 작업을 실행할 날짜, 시간, 빈도 등의 예약 매개변수를 자세히 설명하는oneTimeSchedule
또는recurringSchedule
매개변수를 제공합니다.- 시작일은 2019년 1월 9일 오후 7시 30분
- 종료일은 2020년 1월 9일 오후 7시 30분
- 사용할 시간대는 'America/Los_Angeles'
- 매주 화요일에 실행
- Google Cloud 콘솔에서 Compute Engine > VM Manager > 패치 페이지로 이동합니다.
- 예약된 배포 탭을 선택합니다.
- Google Cloud 콘솔에서 Compute Engine > VM Manager > 패치 페이지로 이동합니다.
- 예약된 배포 탭을 선택합니다.
- 검토할 배포 이름을 클릭합니다.
project-id
: 프로젝트 ID입니다.patch-deployment-id
: 패치 배포 이름입니다.- Google Cloud 콘솔에서 Compute Engine > VM Manager > 패치 페이지로 이동합니다.
- 예약된 배포 탭을 선택합니다.
- 삭제할 배포 이름을 클릭합니다.
- 이 일정 삭제를 클릭합니다.
project-id
: 프로젝트 ID입니다.patch-deployment-id
: 패치 배포 이름입니다.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 패치 작업을 예약할 수 있습니다.
권한
프로젝트 소유자에게는 패치 배포를 만들고 관리하기 위한 전체 액세스 권한이 있습니다. 다른 모든 사용자에게는 권한 부여가 필요합니다. 다음 세분화된 역할 중 하나를 부여할 수 있습니다.
예를 들어 사용자 관리자에게 패치 배포에 대한 액세스 권한을 부여하려면 다음 명령어를 실행합니다.
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
다음을 바꿉니다.
패치 배포 만들기
패치 배포를 만들 때 패치 배포의 이름은 다음과 같은 이름 지정 요구사항을 충족해야 합니다.
Google Cloud CLI 및 REST에서 패치 배포 이름은
patch-deployment-id
라고 합니다.패치 배포를 시작한 후에는 패치 대시보드를 사용하여 패치를 모니터링할 수 있습니다. 패치 작업 시작 후 대시보드에 데이터가 채워지는 데 약 30분 정도 걸립니다.
콘솔
gcloud
os-config patch-deployments create
명령어를 사용하여 패치 배포를 만듭니다.gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
다음을 바꿉니다.
패치 배포 YAML 파일 예시
다음 샘플 YAML 파일을 사용하여
us-west2-b
및us-west2-c
영역의 모든 인스턴스에 대한 반복 일정을 만들 수 있습니다. 반복 일정의 사양은 다음과 같습니다.instanceFilter: zones: - us-west2-b - us-west2-c recurringSchedule: frequency: WEEKLY weekly: dayOfWeek: TUESDAY timeOfDay: hours: 19 minutes: 30 timeZone: id: America/Los_Angeles startTime: '2019-09-01T12:00:00Z' endTime: '2020-09-01T12:00:00Z'
REST
API에서
POST
요청을 만들어 새 패치 배포를 만듭니다.patchDeployments.create
API 문서의 설명대로 필요한 모든 구성 필드를 명시적으로 정의해야 합니다. 예를 들어 최소 필수 필드(인스턴스 필터 및 일정)가 있는 패치 배포는 다음과 같습니다.project-id
를 프로젝트 ID로 바꿉니다.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter // Add one of the following parameters: "recurringSchedule": schedule "oneTimeSchedule": schedule }
다음을 바꿉니다.
예시
예시 1:
us-west2-b
및us-west2-c
영역의 모든 인스턴스에서 2020년 1월 10일 오전 12시(UTC)에 패치 작업을 실행할 일회성 일정을 만듭니다.{ "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "oneTimeSchedule": { "executeTime": "2020-01-10T00:00:00Z" } }
예시 2:
us-west2-b
및us-west2-c
영역에 있는 모든 인스턴스에 대한 반복 일정을 만듭니다. 반복 일정의 사양은 다음과 같습니다.POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments { "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "recurringSchedule":{ "frequency":"WEEKLY", "weekly":{ "dayOfWeek":"TUESDAY" }, "timeOfDay":{ "hours":19, "minutes":30 }, "timeZone":{ "id":"America/Los_Angeles" }, "startTime":"2019-09-01T12:00:00Z", "endTime":"2020-09-01T12:00:00Z" } }
패치 배포 나열
Console
gcloud
os-config patch-deployments list
명령어를 사용하여 패치 배포를 나열합니다.gcloud compute os-config patch-deployments list
이 명령어는 모든 패치 배포를 반환합니다. 다음과 유사한 결과가 출력됩니다.
NAME LAST_RUN NEXT_RUN FREQUENCY first-deployment 2019-12-18T00:07:00.738Z --- Once: Scheduled for 2019-12-18T00:07:00.000Z my-deployment1 2020-01-05T14:00:00.228Z 2020-01-12T14:00:00Z Recurring - Weekly my-deployment2 --- 2020-01-15T05:30:00Z Recurring - Monthly on specific date(s)
더 많은 플래그를 사용하여 검색을 제한하고 서식을 지정할 수 있습니다. 예를 들어 처음 10개의 패치 배포를 2페이지에 나열하려면 다음 명령어를 실행합니다.
project-id
를 프로젝트 ID로 바꿉니다.gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
API에서
patchDeployments.list
메서드에 대한GET
요청을 만듭니다.project-id
를 프로젝트 ID로 바꿉니다.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
패치 배포 설명
Console
gcloud
os-config patch-deployments describe
명령어를 사용하여 패치 배포를 설명합니다.patch-deployment-id
를 패치 배포의 이름으로 바꿉니다.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
API에서
patchDeployments.get
메서드에 대한GET
요청을 만듭니다.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
다음을 바꿉니다.
패치 배포 삭제
Console
gcloud
os-config patch-deployments delete
명령어를 사용하여 패치 배포를 삭제합니다.patch-deployment-id
를 패치 배포의 이름으로 바꿉니다.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
API에서
patchDeployments.delete
메서드에 대한DELETE
요청을 만듭니다.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
다음을 바꿉니다.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-22(UTC)
-