Terraform으로 Cloud Storage 리소스 프로비저닝

HashiCorp Terraform은 클라우드 인프라를 프로비저닝하고 관리할 수 있게 해주는 코드형 인프라(IaC) 도구입니다. Terraform은 클라우드 제공업체 및 기타 API와 상호작용할 수 있는 제공업체라는 플러그인을 제공합니다. Google Cloud용 Terraform 제공업체를 사용하여 Cloud Storage를 비롯한 Google Cloud 리소스를 프로비저닝하고 관리할 수 있습니다.

이 페이지에서는 Terraform 작동 방식 소개와 Google Cloud에서 Terraform을 사용하기 시작하는 데 도움이 되는 몇 가지 리소스를 포함하여 Cloud Storage에서 Terraform을 사용하는 방법을 소개합니다. Cloud Storage용 Terraform 참조 문서, 코드 예시, Terraform을 사용하여 Cloud Storage 리소스를 프로비저닝하는 방법에 관한 링크도 확인할 수 있습니다.

Google Cloud용 Terraform을 시작하는 방법에 관한 안내는 Terraform 설치 및 구성 또는 Google Cloud 용 Terraform 빠른 시작을 참고하세요.

Terraform 작동 방식

Terraform에는 구성 중심의 선언적인 구문이 있으며, 이 구문을 사용하여 Google Cloud 프로젝트에서 프로비저닝하려는 인프라를 설명할 수 있습니다. Terraform 구성 파일 하나 이상에서 이 구성을 작성하면 Terraform CLI를 사용하여 이 구성을 Cloud Storage 리소스에 적용할 수 있습니다.

다음 단계에서는 Terraform의 작동 방식을 설명합니다.

  1. Terraform 구성 파일에서 프로비저닝하려는 인프라를 설명합니다. 인프라를 프로비저닝하는 방법을 설명하는 코드를 작성하지 않아도 됩니다. Terraform이 인프라를 자동으로 프로비저닝합니다.
  2. terraform plan 명령어를 실행합니다. 이 명령어는 구성을 평가하고 실행 계획을 생성합니다. 계획을 검토하고 필요에 따라 변경할 수 있습니다.
  3. terraform apply 명령어를 실행하여 다음 작업을 수행합니다.

    1. 백그라운드에서 해당 Cloud Storage API를 호출하여 실행 계획에 따라 인프라를 프로비저닝합니다.
    2. 구성 파일의 리소스를 실제 인프라의 리소스에 매핑하는 JSON 파일인 Terraform 상태 파일을 생성합니다. Terraform은 이 파일을 사용하여 인프라의 최신 상태를 기록하고 리소스를 생성, 업데이트, 삭제할 시기를 결정합니다.
    3. terraform apply를 실행하면 Terraform은 상태 파일의 매핑을 사용하여 기존 인프라를 코드와 비교하고 필요에 따라 업데이트합니다.

      • 리소스 객체가 구성 파일에 정의되어 있지만 상태 파일에 존재하지 않으면 Terraform에서 리소스 객체를 만듭니다.
      • 리소스 객체가 상태 파일에 있지만 구성 파일의 구성과 다르면 Terraform은 구성 파일과 일치하도록 리소스를 업데이트합니다.
      • 상태 파일의 리소스 객체가 구성 파일과 일치하면 Terraform은 리소스를 변경하지 않은 상태로 둡니다.

Cloud Storage용 Terraform 리소스

리소스는 Terraform 언어의 기본 요소입니다. 각 리소스 블록은 가상 네트워크 또는 컴퓨팅 인스턴스와 같은 하나 이상의 인프라 객체를 설명합니다.

다음 표에는 Cloud Storage에 사용할 수 있는 Terraform 리소스가 나와 있습니다.

서비스 Terraform 리소스 데이터 소스

Cloud Storage

Terraform 서비스: Cloud Storage

Storage Intelligence

Terraform 서비스: Cloud Storage Control

Storage Intelligence의 스토리지 일괄 작업 기능

Terraform 서비스: Cloud Storage Batch Operations

-

Storage Intelligence의 Storage Insights 기능

Terraform 서비스: Cloud Storage Insights

Cloud Storage용 Terraform 기반 가이드

다음 표에는 Cloud Storage에 대한 Terraform 기반 안내 가이드와 튜토리얼이 나와 있습니다.

가이드 세부정보
빠른 시작: Terraform을 사용하여 버킷을 만들고 객체 업로드 이 빠른 시작에서는 스토리지 버킷을 프로비저닝하고 샘플 객체를 버킷에 업로드하는 Terraform 구성 파일을 만들어 Terraform을 시작하는 방법을 보여줍니다.
버킷 만들기 이 가이드에서는 버킷을 만드는 방법을 설명합니다.
버킷 메타데이터 가져오기 이 가이드에서는 버킷의 메타데이터를 보는 방법을 설명합니다.
객체 업로드 이 가이드에서는 로컬 파일 시스템에서 버킷에 객체를 업로드하는 방법을 설명합니다.
객체 메타데이터 가져오기 이 가이드에서는 객체의 메타데이터를 보는 방법을 설명합니다.
객체 수명 주기 관리 이 가이드에서는 버킷의 수명 주기 구성을 설정하는 방법을 설명합니다.
Pub/Sub 알림 구성 이 가이드에서는 객체 변경사항에 대한 알림을 Pub/Sub 주제로 전송하도록 버킷을 구성하는 방법을 설명합니다.
HMAC 키 만들기 이 가이드에서는 프로젝트의 서비스 계정에 대한 해시 기반 메시지 인증 코드(HMAC) 키를 만드는 방법을 설명합니다.
데이터 공개 이 가이드에서는 공개 인터넷의 모든 사용자가 버킷의 모든 객체를 읽을 수 있도록 하는 방법을 설명합니다.
정적 웹사이트 호스팅 이 가이드에서는 소유한 도메인의 정적 웹사이트를 호스팅하도록 버킷을 구성하는 방법을 설명합니다.

Cloud Storage용 Terraform 모듈 및 청사진

모듈과 청사진은 대규모 Google Cloud 리소스 프로비저닝 및 관리를 자동화하는 데 유용합니다. 모듈은 Terraform 리소스의 논리적 추상화를 만드는 재사용 가능한 Terraform 구성 파일 집합입니다. 청사진은 배포 및 재사용이 가능한 모듈의 패키지이며 특정 솔루션을 구현하고 문서화하는 정책입니다.

다음 표에는 Cloud Storage와 관련된 모듈과 청사진이 나와 있습니다.

모듈 또는 청사진 세부정보
terraform-google-cloud-storage 이 모듈은 하나 이상의 Cloud Storage 버킷을 만들고 임의의 사용자에게 해당 버킷에 대한 기본 권한을 할당합니다.

다음 단계