gcutil에서 gcloud compute로 전환


Compute Engine 일반 안정화 버전에서 gcloud compute를 사용하는 경우 모든 사용자를 gcutil에서 gcloud compute 도구로 전환하는 것이 좋습니다. gcloud compute는 다음을 비롯하여 gcutil보다 여러 기능이 개선된 통합 명령줄 도구입니다.

  • 탭 완료
  • 인플레이스(In-Place) 업그레이드
  • 광범위한 설명 페이지 스타일 도움말
  • 다양한 출력 형식 선택 가능

gcutil에서 gcloud compute로 사용자 전환을 돕기 위해 이 가이드에는 두 도구 간의 주요 변경사항이 간략하게 설명되어 있습니다. gcloud compute 도구의 자세한 설명은 gcloud compute 문서를 참조하세요.

새로운 gcloud 명령어

기존의 모든 gcutil 명령어는 gcloud compute 도구의 명령어와 동일하지만, 몇 가지 예외가 있습니다. 참조 페이지에 방문하거나 gcloud compute --help를 실행하여 gcloud 명령어의 전체 목록을 가져올 수 있습니다. 아래 표에는 자주 사용되는 gcutil 명령어의 변경사항이 간략하게 설명되어 있습니다.

gcutil 명령어 gcloud compute 명령어
gcutil addinstance INSTANCE
gcloud compute instances create INSTANCE
참고

인스턴스를 만듭니다.

  • 기본 영역/리전을 설정할 수 있습니다. 그렇지 않으면 `gcloud compute`에 영역/리전을 묻는 메시지가 표시됩니다.
  • 다음과 같은 기본 속성이 있는 가상 머신을 만듭니다.
    • machine-type: n1-standard-1
    • image: debian-10

인스턴스 만들기 및 시작을 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil deleteinstance INSTANCE
gcloud compute instances delete INSTANCE \
       [--keep-disks {boot,all,none}]
참고

인스턴스를 삭제합니다. 인스턴스 삭제를 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil ... --cache_flag_values
gcloud configs set project PROJECT
gcloud configs set compute/zone ZONE
gcloud configs set compute/region REGION
참고

프로젝트, 영역, 지역의 기본값을 설정합니다. 기본 영역과 지역 설정을 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil push/pull
gcloud compute scp
참고

로컬 컴퓨터와 가상 머신 간 파일을 복사합니다. Google Cloud CLI를 사용하여 파일 전송을 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil deleteRESOURCE
gcloud compute RESOURCES delete
참고

다음과 같이 리소스를 삭제합니다.

gcloud compute instances delete example-instance
gcutil 명령어 gcloud compute 명령어
gcutil getRESOURCES
gcloud compute RESOURCES describe
참고

다음과 같이 리소스 하나를 설명합니다.

gcloud compute instances describe example-instance

gcutil 명령어 gcloud compute 명령어
gcutil listRESOURCES
gcloud compute RESOURCES list
참고

이 유형의 모든 리소스 목록을 작성합니다. 예를 들어 다음과 같이 인스턴스 목록을 작성합니다.

gcloud compute instances list

gcutil 명령어 gcloud compute 명령어
gcutil setmetadata
gcloud compute instances add-metadata
gcloud compute instances remove-metadata
gcloud compute project-info add-metadata
gcloud compute project-info remove-metadata
참고

이제 도구에서 낙관적 잠금을 사용할 수 있으므로 디지털 지문 파일을 수동으로 지정할 필요가 없습니다. 커스텀 인스턴스 메타데이터 설정을 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil … --dump_request_response

아직 사용할 수 없음

gcutil 명령어 gcloud compute 명령어
gcutil … --log_level=DEBUG
gcloud … --verbosity debug
참고

또한, ~/.config/gcloud/logs의 모든 명령어에 대해 로그가 파일에 저장됩니다.

gcutil 명령어 gcloud compute 명령어
gcutil ssh INSTANCE --ssh_user
gcloud compute ssh USER@INSTANCE
참고

인스턴스에 연결을 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil … \
--image=projects/project-id/global/images/image
gcloud compute … --image image-name \
       --image-project image-project
참고

이미지에서 인스턴스 시작을 참조하세요.

gcutil 명령어 gcloud compute 명령어
gcutil deleteinstances --[no]delete_pd
gcutil deleteinstances --[no]delete_boot_pd
gcloud compute instances delete … \
       --delete-disks {all,none,boot}
gcloud compute instances delete … \
       --keep-disks {all,none,boot}
참고

자동 삭제되도록 표시된 디스크는 --keep-disks 플래그를 사용하여 지정하지 않으면 자동으로 삭제됩니다.

기본 인스턴스 설정

이제 gcloud compute에서 인스턴스를 만들면 가상 머신의 이미지와 머신 유형에 여러 기본값이 제공됩니다. --image, --machine-type 플래그를 생략하여 이 기본값을 사용하도록 선택하거나 적절한 플래그를 제공하여 설정을 재정의할 수 있습니다. 기본 가상 머신 설정은 다음과 같습니다.

  • 기본 이미지: 최신 debian-10 이미지
  • 기본 머신 유형: n1-standard-1

예를 들어 다음과 같이 간단하게 실행할 수 있습니다.

gcloud compute instances create example-instance --zone us-central1-a

또한 gcloud compute는 위에 설명된 이미지와 머신 유형을 사용하여 인스턴스를 만듭니다.

화면출력 형식

기본 화면출력 형식이 변경되었으며 실행하는 명령어에 따라 다릅니다. 예를 들어 describe 명령어를 사용하여 단일 리소스에 대한 정보를 가져오면 응답 출력은 YAML 형식입니다. --format 플래그를 사용하여 JSON 또는 텍스트와 같은 다른 출력 형식으로 응답을 반환할 수 있습니다.

gcloud compute instances list --format {json,yaml,text}

이제 메타데이터 업데이트가 추가됨

메타데이터를 설정하거나 업데이트할 때 더 이상 디지털 지문 파일을 제공할 필요가 없습니다. 기본적으로 모든 메타데이터 변경사항이 추가된 것으로 간주됩니다. 모든 메타데이터를 일괄적으로 업데이트하지 않고 항목을 업데이트하거나 메타데이터 항목 하나를 추가할 수 있습니다. 전달된 메타데이터 키만 변경됩니다.

gcloud compute instances add-metadata example-instance \
         --metadata cookies=chocolate

이미지 프로젝트 지정

이전에는 정확한 이미지를 지정하기 위해 다음과 같이 프로젝트 이름이 포함된 일부 이미지 URI를 제공해야 했습니다.

gcutil addinstance example-instance \
         --image=projects/debian-cloud/global/images/debian-9

이제 gcloud compute에서는 새 --image-project 플래그를 사용하여 이미지 프로젝트를 지정해야 합니다.

gcloud compute instances create example-instance \
         --image debian-9-stretch-vYYYMMDD
         --image-project debian-cloud

전체 URI를 제공할 수도 있습니다.

gcloud compute instances create example-instance \
         --image https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-vYYYMMDD