이 페이지에서는 Infrastructure Manager를 사용하여 Terraform 구성에 정의된 리소스의 배포를 미리 보는 방법을 설명합니다.
미리보기에는 특정 Terraform 구성을 실행하는 작업이 설명됩니다. 새 배포를 만들거나 배포를 업데이트하기 전에 배포를 미리 보고 프로비저닝할 리소스를 확인할 수 있습니다.
미리보기는 Terraform plan
명령어를 실행합니다. 이 페이지에서는 사용자가 Terraform에 익숙하다고 가정합니다. 자세한 내용은 Terraform 및 Infrastructure Manager를 참고하세요.
미리보기를 만들려면 Terraform 구성이 지원되는 Terraform 버전 중 하나와 호환되어야 합니다.
시작하기 전에
- Infra Manager를 사용 설정합니다.
- 미리보기를 만드는 데 필요한 IAM 권한(
roles/config.admin
)이 있는지 확인합니다. - 필요한 권한이 있는 서비스 계정이 있는지 확인합니다. 자세한 내용은 서비스 계정 구성을 참고하세요.
- 미리 볼 Terraform 구성을 식별합니다. 이 Terraform 구성이 민감한 정보가 포함되지 않는 등 제약 조건을 준수하는지 확인합니다.
Terraform 구성을 스토리지 버킷에 저장하려면 Terraform 구성이 Cloud Storage 버킷에 업로드되어 있는지 확인합니다. 자세한 내용은 스토리지 버킷에 구성 업로드를 참고하세요.
저장소 버킷을 사용하면 구성에 대한 액세스를 제어할 수 있습니다. Git 저장소에 저장되거나 로컬 머신에 저장된 Terraform 구성을 배포할 수도 있습니다.
새 배포 미리보기
미리 보는 Terraform 구성은 스토리지 버킷이나 Git 저장소에 있을 수 있습니다.
Cloud Storage 버킷에 저장된 Terraform 구성을 사용하여 미리보기
Terraform 구성이 Cloud Storage 버킷에 업로드되었는지 확인합니다. 자세한 내용은 스토리지 버킷에 구성 업로드를 참고하세요.
저장소 버킷을 사용하면 구성에 대한 액세스를 제어할 수 있습니다. Git 저장소에 저장되거나 로컬 머신에 저장된 Terraform 구성을 배포할 수도 있습니다.
업데이트를 미리 보려면 다음 단계를 따르세요.
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
다음과 같이 바꿉니다.
- PROJECT_ID는 Infrastructure Manager가 실행되는 프로젝트 ID입니다.
- LOCATION은 Infra Manager가 실행되는 위치입니다. 유효한 위치 목록은 인프라 관리자 위치를 참고하세요.
- PREVIEW_ID는 지정한 미리보기 식별자입니다. 미리보기 식별자의 제약조건에 관한 자세한 내용은 미리보기 이름을 참고하세요.
- SERVICE_ACCOUNT은 Infra Manager를 호출하는 데 사용하는 서비스 계정의 이름입니다.
- SERVICE_ACCOUNT_PROJECT_ID는 서비스 계정의 프로젝트 ID입니다. 일반적으로 이 프로젝트는 인프라 관리자가 실행되는 프로젝트와 동일합니다.
- BUCKET_NAME는 구성이 저장된 스토리지 버킷의 이름입니다.
OBJECT_NAME은 구성 파일의 객체 이름입니다. 이 객체는 디렉터리 또는 zip 파일일 수 있지만 Terraform 파일은 아닙니다. 객체 버전 관리를 사용하는 경우 객체의 세대 번호를 지정할 수도 있습니다. 자세한 내용은 버전 관리형 객체 사용을 참고하세요.
스토리지 버킷이 Terraform 구성의 루트 경로인 경우 OBJECT_NAME는 선택사항입니다.
INPUT_1_NAME=VALUE 및 INPUT_2_NAME=VALUE: 기본적으로 정의되지 않은 값을 포함하여 Terraform 구성의 모든 입력 값입니다. 예를 들어 리소스를 배포하는 프로젝트를
project_id=my-project
로 지정할 수 있습니다.모든 입력 값이 구성에서 기본적으로 정의된 경우 이 플래그는 선택사항입니다.
선택사항: TERRAFORM_VERSION: Infra Manager가 배포를 만들 때 사용할 Terraform 버전입니다. 지원되는 버전 목록은 지원되는 Terraform 버전을 참고하세요. 이 선택적 플래그를 삭제하면 지원되는 최신 Terraform 버전이 사용됩니다.
선택사항: ANNOTATION_KEY 및 ANNOTATION_VALUE는 인프라 관리자 배포에 연결할 수 있는 자유 형식 텍스트의 키-값 쌍을 나타냅니다. 주석 및 라벨의 사용 및 제약 조건에 관한 자세한 내용은 주석 및 라벨을 참고하세요.
Terraform 구성, 변수, 서비스 계정과 같은 배포의 필드는 미리보기 명령어에서 새 값을 지정하지 않는 한 미리보기에 자동으로 병합됩니다.
이제 미리보기를 만들었으므로 결과를 내보내고 확인하여 배포 계획을 검토할 수 있습니다.
Git 저장소에 저장된 Terraform 구성을 사용하여 미리보기
배포를 업데이트해도 일부 기존 리소스는 변경되지 않을 수 있습니다. 업데이트를 미리 보려면 프로비저닝 또는 삭제할 리소스와 수정할 계획이 없는 리소스를 확인하세요.
Git 저장소에 저장된 배포를 업데이트하려면 다음 단계를 따르세요.
비공개 Git 저장소를 사용하는 경우 Cloud Build를 사용하여 GitHub 호스트 및 GitHub 저장소에 연결하여 인프라 관리자가 저장소에 액세스할 수 있도록 해야 합니다.
배포를 미리 보려면 다음 단계를 따르세요.
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
다음과 같이 바꿉니다.
- PROJECT_ID는 Infrastructure Manager가 실행되는 프로젝트 ID입니다.
- LOCATION은 Infra Manager가 실행되는 위치입니다. 유효한 위치 목록은 인프라 관리자 위치를 참고하세요.
- PREVIEW_ID는 지정한 미리보기 식별자입니다. 미리보기 식별자의 제약조건에 관한 자세한 내용은 미리보기 이름을 참고하세요.
- SERVICE_ACCOUNT은 Infra Manager를 호출하는 데 사용하는 서비스 계정의 이름입니다.
- SERVICE_ACCOUNT_PROJECT_ID는 서비스 계정의 프로젝트 ID입니다. 일반적으로 이 프로젝트는 인프라 관리자가 실행되는 프로젝트와 동일합니다.
- GIT_REPO: Git 저장소입니다.
- DIRECTORY: Terraform 구성이 있는 디렉터리입니다.
- REF: 구성의 Git 참조입니다. 참조는 선택사항입니다. 참조를 지정하지 않으면 Git 저장소의 기본 구성된 브랜치가 사용됩니다.
INPUT_1_NAME=VALUE 및 INPUT_2_NAME=VALUE: 기본적으로 정의되지 않은 값을 포함하여 Terraform 구성의 모든 입력 값입니다. 예를 들어 리소스를 배포하는 프로젝트를
project_id=my-project
로 지정할 수 있습니다.모든 입력 값이 구성에서 기본적으로 정의된 경우 이 플래그는 선택사항입니다.
선택사항: TERRAFORM_VERSION: Infra Manager가 배포를 만들 때 사용할 Terraform 버전입니다. 지원되는 버전 목록은 지원되는 Terraform 버전을 참고하세요. 이 선택적 플래그를 삭제하면 지원되는 최신 Terraform 버전이 사용됩니다.
선택사항: ANNOTATION_KEY 및 ANNOTATION_VALUE는 인프라 관리자 배포에 연결할 수 있는 자유 형식 텍스트의 키-값 쌍을 나타냅니다. 주석 및 라벨의 사용 및 제약 조건에 관한 자세한 내용은 주석 및 라벨을 참고하세요.
Terraform 구성, 변수, 서비스 계정과 같은 배포의 필드는 미리보기 명령어에서 새 값을 지정하지 않는 한 미리보기에 자동으로 병합됩니다.
이제 미리보기를 만들었으므로 결과를 내보내고 확인하여 배포 계획을 검토할 수 있습니다.
배포를 미리 본 후 배포를 만들어 리소스를 프로비저닝할 수 있습니다. 자세한 내용은 리소스 배포를 참고하세요.
다음 단계
- 미리보기 결과 내보내기 및 보기
- Infra Manager를 사용하여 리소스를 배포합니다.
- 배포 자동화
- Infra Manager를 사용한 Terraform에 대해 자세히 알아보세요.