Infrastructure Manager 개요

Infrastructure Manager (Infra Manager)는 Terraform을 사용하여 Google Cloud 인프라 리소스의 배포 및 관리를 자동화합니다.

Infra Manager를 사용하면 Google Cloud에 프로그래매틱 방식으로 배포할 수 있으므로 Google Cloud에서 Terraform과 함께 작동하도록 다른 도구 모음을 유지하는 대신 이 서비스를 사용할 수 있습니다.

Terraform 구성은 인프라를 정의합니다. 구성은 인프라 관리자에 의해 Google Cloud 에 배포되므로 코드형 인프라 (IaC)를 사용하여 리소스를 관리할 수 있습니다.

Infra Manager는 리소스에 애플리케이션을 배포하는 작업을 관리하지 않습니다. 애플리케이션 배포를 관리하려면 Google Cloud Cloud BuildCloud Deploy와 같은 제품을 사용하면 됩니다. 서드 파티 도구 또는 자체 도구 모음을 사용할 수도 있습니다.

Infra Manager를 사용하려면 Terraform에 익숙해야 합니다. Terraform에 대해 자세히 알아보려면 먼저 HashiCorp의 Terraform이란 무엇인가요?를 참고하세요.

Google Cloud에서 Terraform을 사용하는 방법에 관한 자세한 내용은 Google Cloud에서 Terraform을 참고하세요.

Infra Manager 및 코드형 인프라

Infra Manager를 사용하면 IaC를 통해Google Cloud 리소스의 수명 주기를 관리할 수 있습니다.

  • Terraform은 Terraform 구성에서 선언적으로 정의됩니다. 즉, 구성은 인프라의 최종 상태를 설명합니다.
  • Git 저장소 또는 Cloud Storage 버킷에서 Terraform 구성의 버전을 지정할 수 있습니다. 객체 버전 관리를 사용하여 스토리지 버킷의 구성 버전을 지정합니다.
  • Infra Manager를 사용하여 버전으로 인프라 배포를 업데이트합니다. Infra Manager는 버전별로 다음을 저장합니다.
    • 로그
    • 버전을 수행하는 데 사용된 구성
    • 버전에서 생성된 Google Cloud 리소스 목록
    • 각 배포 및 버전의 일부로 생성된 상태 파일

IaC에 관한 자세한 내용은 Google Cloud의 코드형 인프라를 참고하세요.

Infra Manager 작동 방식

다음은 Infra Manager를 사용하여 인프라를 배포할 때 발생하는 간단한 시나리오를 설명합니다.

  1. 배포할 인프라 리소스는 Terraform 구성에 정의됩니다. Google Cloud
    • 이 파일을 직접 만들거나 Google Cloud용으로 이미 작성된 구성을 사용할 수 있습니다. 자세한 내용은 Terraform 및 Infrastructure Manager를 참고하세요.
    • Terraform 구성을 Cloud Storage 버킷, Git 저장소 또는 로컬 머신에 저장할 수 있습니다.
  2. Infra Manager를 사용하여 Terraform 구성에서 리소스를 배포하면 배포가 생성됩니다. 배포를 만들려면 Infra Manager에서 다음을 실행합니다.
    1. 요청을 유효성 검사합니다. 예를 들어 명령어에서 Terraform 구성의 위치를 지정했는지 확인합니다.
    2. 컨테이너 이미지를 사용하여 Cloud Build 작업을 만듭니다. 이 이미지는 Google Cloud에서 소유하고 유지관리합니다. Cloud Build 환경에 관한 자세한 내용은 런타임 환경을 참고하세요. Cloud Build 작업은 다음 작업을 자동화합니다.
      1. 스토리지 버킷 또는 Git 저장소에서 Terraform 모듈을 다운로드합니다.
      2. Terraform을 초기화합니다 (terraform init).
      3. Terraform 구성을 검증합니다 (terraform validate).
      4. 구성을 실행합니다(terraform apply 또는 terraform destroy(배포를 삭제하는 경우)).
      5. Infra Manager에서 만든 스토리지 버킷으로 Cloud Build 로그를 스트리밍합니다.
      6. 배포에 실패하면 Infra Manager는 간헐적인 네트워크 중단으로 실패한 경우와 같은 특정 시나리오에서 terraform init 또는 terraform apply 작업을 자동으로 다시 시도합니다. 이러한 재시도는 제한된 횟수만큼 실행됩니다.
    3. Cloud Storage 버킷을 만들고 배포에 관한 메타데이터를 저장합니다. 배포 및 메타데이터에 대한 자세한 내용은 배포 및 버전 개요를 참고하세요.
  3. 배포가 완료되면 Google Cloud 리소스가 구성에 설명된 대로 프로비저닝됩니다.

    Infra Manager 배포에 대해 다음을 쿼리할 수 있습니다.

    • 배포 상태
    • 배포의 일부로 배포되는 리소스 목록입니다.
    • 배포의 일부인 개별 리소스에 관한 세부정보입니다.

런타임 환경

Infra Manager의 런타임 환경은 임시 Cloud Build 환경입니다. Infra Manager는 이 Cloud Build 환경에서 Terraform 명령어를 실행한 후 환경을 삭제합니다.

Cloud Build 환경의 특정 운영체제, 사용 가능한 소프트웨어, 기타 구성 세부정보는 Infra Manager의 내부 구현 세부정보이며 언제든지 변경될 수 있습니다.

각 배포에 사용할 지원되는 Terraform 버전을 지정할 수 있습니다.

개인 정보나 민감한 정보는 포함하지 마세요.

Terraform 구성 값에 개인 정보나 민감한 정보를 포함하지 마세요.

Terraform 구성 및 민감한 정보에 관한 자세한 내용은 Terraform 구성 값 및 민감한 정보를 참고하세요.

다음 단계