리소스 생성 및 관리 개요

리소스 생성 및 관리 개요 (Create and manage resources overview)

이 주제는 Terraform 구성에서 리소스를 생성하고 관리하는 워크플로를 설명해요. 인프라를 프로비저닝하는 일반적인 개요는 핵심 Terraform 워크플로를 참고해요. 이 페이지에서는 리소스 구성 작성, 워크스페이스 초기화, 구성 적용, 그리고 리소스 관리 방법을 차근차근 알아볼게요.

출처: 문서

본문

이 주제는 Terraform 구성에서 리소스를 생성하고 관리하는 워크플로를 설명해요. 인프라를 프로비저닝하는 일반적인 개요는 핵심 Terraform 워크플로를 참고해요.

소개 (Introduction)

리소스는 가상 네트워크, 컴퓨트 인스턴스, DNS 레코드 같은 상위 수준 컴포넌트를 포함해 Terraform으로 생성하고 관리하려는 모든 인프라 오브젝트예요. 생성할 수 있는 리소스의 종류는 설치한 프로바이더에 따라 달라져요. 프로바이더는 단일 클라우드 또는 온프레미스 인프라 플랫폼에서 프로비저닝할 수 있는 리소스 타입의 모음을 제공하는 플러그인이에요. 자세한 내용은 프로바이더를 참고해요.

리소스 구성 작성 (Write the resource configuration)

Terraform 구성 파일에 resource 블록을 추가하고 필요한 인자를 지정해요. 대부분의 인자는 리소스에 특정하며 그 동작을 제어해요. Terraform이 리소스를 어떻게 생성하고 관리할지 결정하는, Terraform 특유의 인자인 메타-인자도 구성할 수 있어요.

자세한 내용은 리소스 구성을 참고해요.

워크스페이스 초기화 (Initialize your workspace)

새 Terraform 프로젝트를 시작할 때는 리소스를 생성하는 데 사용하려는 프로바이더와 모듈을 다운로드하고 설치하려면 워크스페이스를 초기화해야 해요. 기존 Terraform 프로젝트에서 프로바이더나 모듈을 변경하면 구성을 적용하기 전에 워크스페이스를 다시 초기화해야 해요. 자세한 내용은 작업 디렉터리 초기화를 참고해요.

구성 적용 (Apply the configuration)

Terraform CLI를 사용해 구성을 적용해요. 구성을 적용하면 Terraform은 다음 연산을 수행해요:

  • 아직 실제 인프라 오브젝트로 존재하지 않는 구성의 리소스를 만들어요.
  • 상태에는 존재하지만 구성에는 더 이상 존재하지 않는 리소스를 파괴해요.
  • 인자가 변경된 리소스는 제자리에서 업데이트해요.
  • 인자가 변경됐지만 원격 API 제한 때문에 제자리에서 업데이트할 수 없는 리소스는 파괴하고 다시 생성해요.
  • 구성, 실제 인프라, 상태가 일치하도록 상태 파일을 업데이트해요.

리소스 관리 (Manage resources)

인프라 요구가 바뀌면 구성에서 리소스를 추가하거나 제거하고, 리소스 컬렉션을 재사용 가능한 모듈로 리팩터링하거나, 클라우드 프로바이더나 상태 파일에서 리소스를 제거 또는 폐기하고 싶을 수 있어요. 리소스 관리에 대한 자세한 내용은 다음 주제를 참고해요:

  • 모듈 만들기는 리소스를 재사용 가능한 모듈로 모으는 방법에 대한 지침을 제공해요.
  • 모듈 리팩터링은 리소스를 이동하고 이름을 바꾸는 방법에 대한 지침을 제공해요.
  • 상태에서 리소스 제거는 실제 인프라 오브젝트를 파괴하지 않고 상태에서 리소스를 제거하는 방법을 설명해요.
  • 리소스 파괴는 상태에서 리소스를 제거하고 실제 인프라를 파괴하는 방법을 설명해요.

또한 많은 프로바이더가 실제 인프라 오브젝트를 프로비저닝하지 않고 기존 인프라의 데이터를 사용할 수 있도록 프로바이더에서 데이터를 읽는 것을 허용해요. 자세한 내용은 데이터 소스 쿼리를 참고해요.

더 알아보기 (Learn more)